Inquiridor
Top query MDX

Pergunta
-
Como faço um TOP 10 nessa query MDX?
SELECT NON EMPTY { [Measures].[Quantidade Pessoas] } ON COLUMNS, NON EMPTY { ( [Dim Tipificacao Penal].[TipificacaoDescricao].[Tipificacao Penal ].ALLMEMBERS * [Dim Tempo].[Tempo Semestre Nome].[Tempo Semestre Nome].ALLMEMBERS * [Dim Tempo].[Tempo Ano].[Tempo Ano].ALLMEMBERS ) } ON ROWS FROM [DW]
Todas as Respostas
-
Bruno, boa tarde,
Tente utilizar o TOPCOUNT
http://msdn.microsoft.com/pt-br/library/ms144792.aspx
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
-
-
Bruno, segue a query mdx
SELECT NON EMPTY { [Measures].[Quantidade Pessoas] } ON 0, topcount ( { [Dim Tipificacao Penal].[TipificacaoDescricao].[Tipificacao Penal ].ALLMEMBERS * [Dim Tempo].[Tempo Semestre Nome].[Tempo Semestre Nome].ALLMEMBERS * [Dim Tempo].[Tempo Ano].[Tempo Ano].ALLMEMBERS } , 5, [Measures].[Quantidade Pessoas] ) ON 1 FROM [DW]
Observe que depois da virgula existe um número (5). Este número representa o número de ocorrências que vc deseja mostar na linha. Coloque o valor que vc precisa.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
-
-
-
-
-
Eduardo,
Os parametros necessarios para a consulta..sim, do RS.
Quando adicionei o TOPCount ele não deixe que os valores defaults fiquem como "vazios".
Se eu preencho os valores, não adianta, colocar nada na consulta que sempre saira com os valores preenchidos...óbvio né?
[]s
-
Bruno, os parâmetros devem obrigatoriamente ter um valor preenchido. Eu sempre deixo como "ALL" no valor dos parametros que utilizo, mas pode ficar tranquilo pq quando o usuário seleciona o parametro em tempo de execução, o SSRS assume o valor escolhido pelo usuário.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
-
E porque todos os registros foram exibidos?
veja o mdx..
SELECT
NON EMPTY
{ [Measures].[Fact Movimentacoes Entradas Count], [Measures].[Quantidade Pessoas] }
ON COLUMNS,
TopCount(
NonEmpty(
{ (
[Dim Pessoas].[Estabelecimento Macrorregiao].[Estabelecimento Macrorregiao].ALLMEMBERS *
[Dim Tempo].[Tempo Ano].[Tempo Ano].ALLMEMBERS *
[Dim Tempo].[Tempo Mes Nome].[Tempo Mes Nome].ALLMEMBERS *
[Dim Tempo].[Tempo Mes].[Tempo Mes].ALLMEMBERS *
[Dim Tipificacao].[Tipificacao Descricao].[Tipificacao Descricao].ALLMEMBERS
)
} , [Measures].[Quantidade Pessoas] ) , 10 )
ON ROWS
FROM ( SELECT ( STRTOSET(@DimPessoasEstabelecimentoMacrorregiao, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@DimTempoTempoMes, CONSTRAINED) )
ON COLUMNS
FROM ( SELECT ( STRTOSET(@DimTempoTempoAno, CONSTRAINED) )
ON COLUMNS FROM [DW])))[]s
- Editado Bruno.Costa segunda-feira, 5 de março de 2012 18:23
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Com os parametros não está funcionando...
Agora sem os parametros, tá blz.
SELECT
NON EMPTY
{ [Measures].[Fact Movimentacoes Entradas Count], [Measures].[Quantidade Pessoas] }
ON COLUMNS,
TopCount(
NonEmpty(
{ (
[Dim Presos].[Estabelecimento Macrorregiao].[Estabelecimento Macrorregiao].ALLMEMBERS *
[Dim Tempo].[Tempo Ano].[Tempo Ano].ALLMEMBERS *
[Dim Tempo].[Tempo Mes Nome].[Tempo Mes Nome].ALLMEMBERS *
[Dim Tempo].[Tempo Mes].[Tempo Mes].ALLMEMBERS *
[Dim Tipificacao].[Tipificacao Descricao].[Tipificacao Descricao].ALLMEMBERS
)
} , [Measures].[Quantidade Pessoas] ) , 10 )
ON ROWS
FROM ( SELECT ( [Dim Presos].[Estabelecimento Macrorregiao].&[Noroeste] )
ON COLUMNS
FROM ( SELECT ( [Dim Tempo].[Tempo Mes].&[4] ) )
ON COLUMNS
FROM ( SELECT ( [Dim Tempo].[Tempo Ano].&[2012] )
ON COLUMNS FROM [DW]))
- Sugerido como Resposta Durval RamosModerator terça-feira, 8 de outubro de 2013 15:14
-
-
-
-
-
-
-
-
-
-
-
-
Bruno, não falei em mandar o projeto, falei em fazermos uns testes no datamart adventureWorks para vc entender como ele funciona, mas para isto seria importante estarmos online para eventuais dúvidas. Como em sua empresa não podemos fazer esse bate-papo online, sugeri que fizessémos após o expediente a noite. Pode ser? Deve ser algum detalhe que está faltando no comando mdx que impede o seu funcionamento.
Abs.
Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp
-
-
-
-
Meu caro, vc pode fazer esta configuração do top no proprio relatorios depois de executar a query, automaticamente. Clique na coluna que vc quer e depois faça filtro eai vc coloca a condição de Top N (quantidade...) = 5, e nao se esqueça do grupo, que deve ser a descrição de tipicação.