1
resposta

Order não está funcionando conforme esperado

Olá, estou realizando essa consulta por meio desse código:

SELECT NON EMPTY ORDER ( (CROSSJOIN ({[Measures].[Preço Médio], [Measures].[Faturamento Líquido]}, {[Fabrica].[Fabrica].&[Fáb. Rio de Janeiro], [Fabrica].[Fabrica].&[Fáb. São Paulo]}, 
{[Produto].[Marca].&[Sabor da Montanha]})), [Fabrica].[Fabrica], BDESC) ON ROWS,
({[Tempo].[Ano].&[2013]}) ON COLUMNS
FROM [Completo]

Estou tentando ordenar pelo nome da fábrica. Logo eu gostaria de que o resultado obtido estivesse com as primeiras duas linhas os resultados da Fábrica de São Paulo e as duas linhas seguintes com a Fábrica do Rio de Janeiro. Alguém poderia me explicar o que eu estou fazendo de errado?

1 resposta

Olá Gabriel, tudo bem?

Peço desculpas pela demora no retorno.

Quando utilizamos o ORDER junto com um CROSSJOIN é feito uma ordenação interna, ou seja, o CROSSJOIN será informação que eu quero ordenar, então primeiro é ordenado pelo Faturamento Liquido e pelo Preço Médio. Em seguida é realizada a ordenação das Fábricas, porém é dentro da primeira ordenação, ou seja, para o Faturamento Liquido só existe duas Fábricas, então a ordenação será feita com a Fábrica de São e a Fábrica do Rio e da mesma forma é feito com o Preço Médio, e por último é ordenado pelo sabor, que neste caso só existe um.

ORDER ( (CROSSJOIN ({[Measures].[Preço Médio], [Measures].[Faturamento Líquido]}, 
{[Fabrica].[Fabrica].&[Fáb. Rio de Janeiro], [Fabrica].[Fabrica].&[Fáb. São Paulo]}, 
{[Produto].[Marca].&[Sabor da Montanha]})), [Fabrica].[Fabrica], BDESC)

Vou deixar aqui pra você, um exemplo de uma consulta onde o resultado é ordenado primeiramente pelas Fábricas e depois pela Marca:

SELECT NON EMPTY ORDER ( (CROSSJOIN ({[Fabrica].[Fabrica].&[Fáb. Rio de Janeiro], [Fabrica].[Fabrica].&[Fáb. São Paulo]}, 
{[Produto].[Hierarquia de Produtos].[Nivel Marca]})),
[Measures].[Faturamento Liquido], BDESC) ON ROWS,
({[Tempo].[Ano].&[2013]}) ON COLUMNS
FROM [Completo]

Espero ter ajudado, qualquer dúvida é só falar e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software