Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Medida

Boa noite,

Quando realizamos uma consulta em MDX e não especificamos nenhuma Medida (Measures), qual são os valores que serão retornados?

4 respostas

Oii Ricardo, tudo bem?

Eu não compreendi bem o cenário que você quis dizer, então vou mostrar alguns aqui:

Se caso não especificar nenhuma medida ou campo, será retornado um erro:

WITH SET [6 Primeiros Meses de 2013] AS
'{ 
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[01-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[02-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[03-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[04-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[05-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[06-2013]}'

SELECT ({[6 Primeiros Meses de 2013]}) on rows
from [COMPLETO]

Erro retornado:

Query (10, 8) Os números do eixo especificados em uma consulta devem ser especificados em sequência, e não podem conter intervalos.

Se deixarmos apenas o on columns, também é retornado erro

WITH SET [6 Primeiros Meses de 2013] AS
'{ 
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[01-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[02-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[03-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[04-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[05-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[06-2013]}'

SELECT ({[6 Primeiros Meses de 2013]}) on rows,
on columns
from [COMPLETO]

Erro retornado:

Query (11, 1) Analisador: A sintaxe de 'on' está incorreta. (WITH SET [6 Primeiros Meses de 2013] AS
'{ 
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[01-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[02-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[03-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[04-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[05-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[06-2013]}'

SELECT ({[6 Primeiros Meses de 2013]}) on rows,
on columns
from [COMPLETO]).

Agora se colocarmos outro campo que não seja uma measure, ele retorna um valor que eu não tenha a mínima ideia do que seja, imagino que seja alguma contagem ou soma.

WITH SET [6 Primeiros Meses de 2013] AS
'{ 
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[01-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[02-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[01-2013]&[03-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[04-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[05-2013],
[Tempo].[Mës e Ano].&[2013]&[01-2013]&[02-2013]&[06-2013]}'

SELECT ({[6 Primeiros Meses de 2013]}) on rows,
[Produto].[Código Da Marca].[Código Da Marca] on columns
from [COMPLETO]

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero ter ajudado. Qualquer coisa é só falar :)

Boa tarde Maria Gabriela Cuenca Por aqui esta tudo bem e por ae?

Primeiramente, peço desculpas, deveria ter explicado melhor a minha duvida. Vamos para o seguinte exemplo:

SELECT NON EMPTY 
    ({ [Cliente].[Estado].&[São Paulo]}) On Rows,
    ({ [Tempo].[Hierarquia do Mês e Ano].[Ano].&[2013].&[Primeiro Semestre 2013].&[2013]&[01-2013]&[01-2013].&[2013]&[01-2013]&[01-2013]&[01-2013]}) On Columns

FROM
    [COMPLETO] 

WHERE
    [Measures].[Faturamento]

Nessa Query, eu incluir um Where especificando que quero a medida Faturamento onde temos o seguinte retorno:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Agora, se eu tirar esse Where

SELECT NON EMPTY 
    ({ [Cliente].[Estado].&[São Paulo]}) On Rows,
    ({ [Tempo].[Hierarquia do Mês e Ano].[Ano].&[2013].&[Primeiro Semestre 2013].&[2013]&[01-2013]&[01-2013].&[2013]&[01-2013]&[01-2013]&[01-2013]}) On Columns

FROM
    [COMPLETO] 

O retorno é o mesmo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Por isso, essa minha duvida, onde como na segunda Query ele entende que o valor a ser retornado a medida Faturamento?

solução!

Oi Ricardo,

Eu não sei te dizer o porque ele busca esse valor do faturamento. Acredito que seja por estar dentro da fato completa ele traga esse valor.

Olá Maria Gabriela Cuenca

Sem problemas, obrigado pelo retorno :)