none
Top query MDX RRS feed

  • 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]

    sexta-feira, 2 de março de 2012 13:19

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

    sexta-feira, 2 de março de 2012 16:01
  • Eduardo,

    tentei colocar o TOPCount nessa query, mas não tive sucesso!

    Vc consegue me ajudar?

    sexta-feira, 2 de março de 2012 16:42
  • 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

    sexta-feira, 2 de março de 2012 17:49
  • Query (4, 2) A funo ALLMEMBERS espera uma expresso de hierarquia para o argumento . Foi usada uma expresso de membro.

    mensagem após executar a  consulta..

    sexta-feira, 2 de março de 2012 18:10
  • Eduardo, meu camarada!

    Não consegui resolver esse problema, será que pode me ajudar?

    []s

    segunda-feira, 5 de março de 2012 13:22
  • Eduardo..

    Consegui colocar o TOPCount();

    Porem tenho um probleminha aqui...

    Quando mandei executar, fica como obrigatorio o preenchimento default dos parametros?

    []s

    segunda-feira, 5 de março de 2012 13:48
  • Bruno, não entendi a parte dos parametros? Vc está falando dos parametros do reporting services?

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 17:52
  • 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

    segunda-feira, 5 de março de 2012 18:06
  • 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

    segunda-feira, 5 de março de 2012 18:19
  • 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
    segunda-feira, 5 de março de 2012 18:20
  • Não entendi... todos os registros foram exibidos no seu relatório?

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 18:22
  • Sim.,..

    Como a ideia e limitar a apenas 10 registros.

    Todos os registros foram exibidos..

    Não sei, mas acredito que possa ser pelo "ALL" dos parametros, não?

    []s

    segunda-feira, 5 de março de 2012 18:24
  • mesmo selecionando os parametros de filtro no RS, mesmo assim aparece todos os registros?

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 18:26
  • sim.

    deixando o valor default como "all", todos os valores são exibidos..

    selecionando um valor específico, somente os dados desse valor são exibidos.

    []s

    segunda-feira, 5 de março de 2012 18:27
  • O seu relatório já mostra os dados, mesmo antes de selecionar os parametros?

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 18:30
  • não.

    ele precisa dos parametros...

    segunda-feira, 5 de março de 2012 18:33
  • E quando vc seleciona um determinado parametro... o relatório não reflete o critério selecionado nos parametros? mostrando todos os registros?

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 18:34
  • de acordo com a data informada pelo usuário sim.

    mas a ideia de exibição dos 10 registros.. não é respeitada.

    segunda-feira, 5 de março de 2012 18:37
  • Entendi, então o problema não é o valor defaut do parametro e sim query em mdx em si...

    Vc já rodou ela no SSMS para ver o resultado?


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 18:38
  • Com os parametros não funcionaram no SSMS...

    Sem os parametros, funcionou perfeitamente!

    []s

    segunda-feira, 5 de março de 2012 18:43
  • sim, correto. Os parametros devem ser substituidos por valores no SSMS.

    Trocando com os valores, funciona?


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 19:56
  • sim.

    antes de implementar o topcount funcionava perfeitamente.

    depois da necessidade do topcount, creio que os valores dos parametros foram solicitados em virtude da
    manipulação da query mdx.

    segunda-feira, 5 de março de 2012 20:04
  • Se funciona no SSMS, tem que funcionar no RS.

    Poste por favor a query MDX.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 20:06
  • 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]))
     

    segunda-feira, 5 de março de 2012 20:08
  • Bruno, agora faça o seguinte: implemente extamente desta forma no RS e veja se retorna o mesmo resultado. Se retornar o problema está nos parametros.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 20:13
  • Veja o erro..

    Executing the query ...

    Query (19, 49) Analisador: A sintaxe de ')' est incorreta.

    Execution complete

    segunda-feira, 5 de março de 2012 20:17
  • O que aconteceu ? a query nao estava funcionando ?

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 5 de março de 2012 20:18
  • não..não eduardo!

    talvez expliquei errado, mas com os parametros ela não funciona.

    se retirar os parametros funciona perfeitamente.

    segunda-feira, 5 de março de 2012 20:24
  • Bruno, conseguiu resolver este problema?

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    quinta-feira, 8 de março de 2012 16:00
  • Eduardo,

    Consegui nada cara!!

    Está pendente apenas essa parte mesmo, melhor só esse relatório.

    []s

    quinta-feira, 8 de março de 2012 17:12
  • Bruno, bom dia. Tente o TopPercent.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    quinta-feira, 15 de março de 2012 12:58
  • Eduardo, boa tarde!!

    Já tentei tanto o TopCount e TopPercent..e nada! :(

    []s

    quinta-feira, 15 de março de 2012 20:47
  • Camarada,

    O negócio tá estranho.

    Veja que realmente só falta esse relatório para terminar o projeto..e até agora nada..  :(

    []s

    sexta-feira, 16 de março de 2012 12:56
  • vc recebeu meu email ?

    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    sexta-feira, 16 de março de 2012 13:46
  • Eduardo,

    Recebi sim! Só que infelizmente não é possível enviar o projeto por e-mail.

    Terei que acertar tudo por aqui mesmo..

    []s

    segunda-feira, 19 de março de 2012 12:27
  • 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

    segunda-feira, 19 de março de 2012 12:34
  • Putz Eduardo!! Desculpe erro no entendimento..

    Pois então. A noite para mim fica dificil, pois chego em casa somente as 23h.
    Caso possa ser a partir desse horário, fica tranquilo pra mim!

    []s

    segunda-feira, 19 de março de 2012 12:36
  • Fechado... entrarei online este horário.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 19 de março de 2012 12:54
  • Eduardo, não lembro mas acredito que não tenho uma ferramenta para executar o trabalho perfeitamente.

    Bem, de qualquer forma, a gnt conversa!

    []s

    segunda-feira, 19 de março de 2012 12:58
  • 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.
    quarta-feira, 11 de abril de 2012 21:37