4 Replies Latest reply: Jul 17, 2017 1:21 PM by Alexandre da Silva RSS

    Seleções de listas não se aplicam a expressões?

    Alexandre da Silva

      Ola, Bom dia...

      Montei um gráfico TABELA onde demonstro o Maior e o Menor Salario por Empresa.

      Mas aqui a UNICA DIMENSÃO utilizada foi o MÊS.

      O Maior e Menor salario são apurador através de expressões mostradas abaixo...

      Isso funciona perfeitamente, mas observei um comportamento "indesejado"...

      Como esta planilha possui expressões para mais de um empresa, quando filtro uma delas na respectiva LISTA, a tabela continua mostrando todos os dados das demais.

      Minha, duvida: Neste caso como fazer para que a a seleção realizada na lista se reflita na tabela? ou Isto não é possível quando a dimensão da lista não existe na tabela?

       

      Max ({$<TB_HistoricoEmpresa.NUMEMP={24},TB_HistoricoEmpresa.TIPCON={1,4}>} TB_HistoricoEmpresa.SALARIO_FIXO)

      Min ({$<TB_HistoricoEmpresa.NUMEMP={24},TB_HistoricoEmpresa.TIPCON={1,4}>} TB_HistoricoEmpresa.SALARIO_FIXO)

      salario.JPG

        • Re: Seleções de listas não se aplicam a expressões?
          Joao Ferreira

          Bom dia Alexandre,

           

          Na sua expressão você está filtrando uma empresa, certo? TB_HistoricoEmpresa.NUMEMP={24}. No caso a empresa 24. É isto mesmo?


          Para você refletir seu filtro na tabela por empresa filtrada, você dever agregar pela realizar uma agregação na expressão pela dimensão que não está na tabela. No seu caso 'Empresa'.


          João



          • Re: Seleções de listas não se aplicam a expressões?
            Thiago Manoel Gonçalo

            Alexandre, bom dia!

             

            Isso acontece, muito provavelmente, por que esta fixado na sua expressão, o filtro TB_HistoricoEmpresa.NUMEMP={24}, ou seja, esse filtro fixa a empresa n°24.. se na sua lista você colocar por empresa, ele não vai respeitar o filtro.


            Para que a lista respeite o filtro, você deve tirar essa condição.


            Max ({$<TB_HistoricoEmpresa.TIPCON={1,4}>} TB_HistoricoEmpresa.SALARIO_FIXO)


            Porem, ai teremos um problema, pois quando você filtrar alguma empresa no filtro os valores estarão corretos, porem quando você não filtrar nada, provavelmente não.

             

            Para resolver isso, você pode colocar na expressão

             

            // Neste if, é verificado se o campo TB_HistoricoEmpresa.NUMEMP foi selecionado.

            =if(GetSelectedCount(TB_HistoricoEmpresa.NUMEMP={24}) >0,

                 Max ({$<TB_HistoricoEmpresa.TIPCON={1,4}>} TB_HistoricoEmpresa.SALARIO_FIXO),

                      Max ({$<TB_HistoricoEmpresa.NUMEMP={24},TB_HistoricoEmpresa.TIPCON={1,4}>} TB_HistoricoEmpresa.SALARIO_FIXO))

                

            Qualquer dúvida à disposição.


            Espero ter ajudado.

            • Re: Seleções de listas não se aplicam a expressões?
              Alexandre da Silva

              Ola Thiago,

              Ajustei a expressão para mostrar quando a respectiva empresa estiver selecionada e também quando TODAS estiverem "liberadas".

              Funcionou perfeitamente.

              Muito Obrigado.

               

              Agora só aproveitando, sabes dizer porque na mesma situação onde tenho apenas a dimensão mês e a expressão com um SUM a tabela NÃO retorna a respectiva coluna do mês quando o SUM for de valor ZERO?

               

               

               

              if((GetSelectedCount(TB_HistoricoEmpresa.NUMEMP=24) > 0 or GetSelectedCount(TB_HistoricoEmpresa.NUMEMP) = 0),

                 Max ({$<TB_HistoricoEmpresa.NUMEMP={24},TB_HistoricoEmpresa.TIPCON={1,4}>} TB_HistoricoEmpresa.SALARIO_FIXO),0)