none
Problemas com BottomCount RRS feed

  • Pergunta

  • Boa tarde

     

    Estou enfrentando problemas com BottonCount, quando eu exceuto a sentença MDX, ele retorna sempre uma quantidade inferior a definida na função. 

    Code Snippet
    SELECT { [Measures].[MEDIDA_1] } ON COLUMNS, NON EMPTY {BottomPercent([DIMEN].[DIMEN].Members,10,[Measures].[MEDIDA_1])} PROPERTIES MEMBER_UNIQUE_NAME, MEMBER_CAPTION ON ROWS FROM [FATURAMENTO]

     

    Já procurei em outros lugares e até o momento não encontrei uma solução para o problema. Lembrando que existem mais de 200 registro, se eu executar a mesma sentença sem o BottonCount, ele retorna todos os valores e se eu utilizar o TopCount, funciona perfeitamente.

     

    Estou usando o Analysis do SQL Server 2000 com SP4.

     

    O que pode ser?

     

     

    Obrigado.

    sexta-feira, 22 de junho de 2007 19:11

Respostas

  • JP,

     

    Code Snippet

    SELECT { [Measures].[MEDIDA_1] } ON COLUMNS, NON EMPTY {BottomPercent([DIMEN].[DIMEN].Members,100,[Measures].[MEDIDA_1])} PROPERTIES MEMBER_UNIQUE_NAME, MEMBER_CAPTION ON ROWS FROM [FATURAMENTO]

     

    SELECT { [Measures].[MEDIDA_1] } ON COLUMNS, NON EMPTY {BottomCount([DIMEN].[DIMEN].Members,200)} PROPERTIES MEMBER_UNIQUE_NAME, MEMBER_CAPTION ON ROWS FROM [FATURAMENTO]

     

     

     

     

    Se vc utilizar o bottomcount com parametro 10 ele vai retornar apenas as 10 ultimas linhas...  (o topcount retorna as 10 primeiras linhas)

    como vc colocou o NON EMPTY, ele ainda vai excluir os registros nulos e vazios...

     

    Faça um BottomPercent 100, para pegar 100% do retorno e coloque um valor alto no BottomCount (ex.: 1000)...

     execute novamente as duas consultas cole o resultado no excel e faça um sort dos resultados que vc verá que o retorno vai bater.

     

    Abraço

    segunda-feira, 25 de junho de 2007 13:59
  • Lucas,

     

    Obrigado pela sua ajuda. Consegui fazer de uma outra forma:

     

    Code Snippet
    SELECT
      {[Measures].[MEDIDA_1]} ON COLUMNS,
      {ORDER(BOTTOMCOUNT(FILTER([DIMEN].[DIMEN].Members, [Measures].[MEDIDA_1] <> NULL),10,[Measures].[MEDIDA_1]), [Measures].[MEDIDA_1], BDESC)} ON ROWS
    FROM
      FATURAMENTO

     

     

    Funcionou também, você acha que também esta correto?

     

     

    Obrigado.

    segunda-feira, 25 de junho de 2007 20:57

Todas as Respostas

  • JP,

     

    Code Snippet

    SELECT { [Measures].[MEDIDA_1] } ON COLUMNS, NON EMPTY {BottomPercent([DIMEN].[DIMEN].Members,100,[Measures].[MEDIDA_1])} PROPERTIES MEMBER_UNIQUE_NAME, MEMBER_CAPTION ON ROWS FROM [FATURAMENTO]

     

    SELECT { [Measures].[MEDIDA_1] } ON COLUMNS, NON EMPTY {BottomCount([DIMEN].[DIMEN].Members,200)} PROPERTIES MEMBER_UNIQUE_NAME, MEMBER_CAPTION ON ROWS FROM [FATURAMENTO]

     

     

     

     

    Se vc utilizar o bottomcount com parametro 10 ele vai retornar apenas as 10 ultimas linhas...  (o topcount retorna as 10 primeiras linhas)

    como vc colocou o NON EMPTY, ele ainda vai excluir os registros nulos e vazios...

     

    Faça um BottomPercent 100, para pegar 100% do retorno e coloque um valor alto no BottomCount (ex.: 1000)...

     execute novamente as duas consultas cole o resultado no excel e faça um sort dos resultados que vc verá que o retorno vai bater.

     

    Abraço

    segunda-feira, 25 de junho de 2007 13:59
  • Lucas,

     

    Obrigado pela sua ajuda. Consegui fazer de uma outra forma:

     

    Code Snippet
    SELECT
      {[Measures].[MEDIDA_1]} ON COLUMNS,
      {ORDER(BOTTOMCOUNT(FILTER([DIMEN].[DIMEN].Members, [Measures].[MEDIDA_1] <> NULL),10,[Measures].[MEDIDA_1]), [Measures].[MEDIDA_1], BDESC)} ON ROWS
    FROM
      FATURAMENTO

     

     

    Funcionou também, você acha que também esta correto?

     

     

    Obrigado.

    segunda-feira, 25 de junho de 2007 20:57
  • bom, funciona... é que ainda não sei o que vc esta querendo ter como resultado.

    Descreva melhor seu problema.

    Abraço

    terça-feira, 26 de junho de 2007 11:42