2
respostas

As respostas dessa questão não me parecem corretas, poderiam avaliar o meu questionamento?

Me parece que pelo enunciado deveríamos utilizar o BottomCount no MDX abaixo...

WITH MEMBER [Measures].[Faturamento de Vendas] AS '[Measures].[Faturamento]', FORMAT_STRING = "#,###.00" SELECT ORDER ( TopCount ( {[Cliente].[Hierarquia Geográfica].[Nível Cidade].Members} , 3, [Measures].[Faturamento] ), [Measures].[Faturamento], BASC) on rows, ([Tempo].[Hierarquia do Mês e Ano].[Ano].&[2014]) on columns from [COMPLETO] WHERE [Measures].[Faturamento de Vendas]

2 respostas

Concordo com o questionamento do colega acima....

Colocando em ordem ascendente (BASC) como o print do enunciado, os estados de Campinas, Goiás e Brasília são os 3 últimos, e não os 3 primeiros da lista, então deveria ser usado o BottomCount em vez do TopCount.

Ou então considerar a resposta A como correta, pois apesar de não trazer na ordem pedida, mas traz ao menos as cidades certas.

Acho que agora entendi a lógica aqui:

O que acontece é que primeiro ele pega os 3 primeiros do ranking pelo TopCount(), para só então ordenar de forma crescente (BASC) estes 3 primeiros.

Ficou claro pra mim quando testei com a consulta abaixo, usando somente o TopCount, e ele pega os 3 maiores em termos de faturamento:

WITH MEMBER [Measures].[Faturamento de Vendas] AS '[Measures].[Faturamento]', FORMAT_STRING = "#,###.00" SELECT TopCount ( {[Cliente].[Hierarquia Geográfica].[Nível Cidade].Members} , 3, [Measures].[Faturamento] ) on rows, ([Tempo].[Hierarquia do Mês e Ano].[Ano].&[2014]) on columns from [COMPLETO] WHERE [Measures].[Faturamento de Vendas]