12 Replies Latest reply: Jul 16, 2018 5:52 PM by Yuri Nicolett RSS

    Média ponderada no script

    Paulo Roberto

      Caros bom dia!

       

      Estou necessitando fazer uma média ponderada no script, para que esse valor de média esteja vinculado com outros campos (localidade, cliente, etc.),  seguindo o modelo:

       

      sum ( Core * Count ( Notification) ) / sum ( Notification).

       

      Porém os problemas que tenho enfrentado:

      1 - Não dá pra simplesmente fazer essa expressão no script por conta de ser a agregação aninhada.

      2 - Tentei fazer em outra tabela a contagem de notificações, apenas pra eliminar o nested aggregation.

      Contagem:
      LOAD
      Core,
      Count(Notification) as [Contagem Eventos]
      resident main
      group by Core;
      

      3 - Mas quando vou fazer a expressão em uma outra tabela distinta, não consigo usar a cláusula total no sum()

       

      Eu fiz essa média ponderada em uma tabela dinâmica, usando a expressão:

      =sum(total  [Core*Eventos]) / sum( total [Contagem Eventos])
      

       

      E gerou uma média, na última coluna, como mostra a imagem:

      1.png

      Porém ao fazer essa mesma expressão pra uma tabela com outros atributos, os quais eu queria ter uma média individual e geral, o valor fica único, por ex:

      2.png

      Já tentei várias formas de fazer isso via script, criando outras tabelas pra evitar a agregação aninhada e não deu certo:

      script.pngerrad.png

      Alguém tem alguma sugestão?

        • Re: Média ponderada no script
          Yuri Nicolett

          Paulo, é possível fazer o cálculo no script, porém o valor que chegará será fixo pela agregação usada.

          Como na imagem que mostrou, o número se repete para todos os clientes, pois em sua agregação, no script, não foi feita a média por cliente. Se o número que esta tentando calcular sofrerá alteração por várias dimensões, não compensará fixar esse cálculo em script.

            • Re: Média ponderada no script
              Paulo Roberto

              Certo, obrigado pela resposta Yuri!

               

              Existe alguma medida paleativa pra isso? se eu filtrar um determinado cliente, o valor é recalculado

              ex.png

              Porém eu gostaria que esse valor fosse calculado diretamente na relação entre eles, aparecendo em uma tabela os valores já pra cada cliente...

              Eu pensei em fazer pelo script porque basicamente tenho 4 dimensões que preciso ver as médias, portanto criaria 4 tabelas pra isso...

              Tens alguma sugestão?

                • Re: Média ponderada no script
                  Yuri Nicolett

                  Você teria que pré-calcular essa média para cada uma dessas 4 dimensões, mas essas dimensões se combinam ou você visualizará cada uma dessas dimensões de forma separada? Por exemplo: Cliente e Vendedor.

                  Visualiza somente por Cliente e depois visualiza somente por vendedor? Ou vai querer visualizar Cliente por vendedor?

                   

                  Se a resposta for afirmativa, você terá que pré-calcular para as possíveis combinações também. Sinceramente eu não acho isso viável, vai ficar muito engessado. A melhor maneira, na minha opinião, é fazer o cálculo no próprio gráfico que deseja visualizar essa informação, pois dessa maneira, os números ficarão dinâmicos, ou seja, respeitarão todas as quebras que deseja visualizar e também as possíveis seleções que serão feitas.

                    • Re: Média ponderada no script
                      Paulo Roberto

                      Elas têm relação. por exemplo:

                      Tenho um cliente que opera em 3 regiões, mas se eu selecionar apenas uma das regiões, só serão contabilizados os eventos nesta região e a média mudará....

                       

                      Entendo sua colocação, e concordo com ela, o ideal seria mesmo que a informação fosse disposta dinamicamente e respeitando todas as seleções. Mas quando eu tentei fazer isto, o resultado foi o que mostrei na segunda imagem. Os valores de média ficaram iguais para todos os clientes (aquela expressão eu fiz no gráfico e não no script). Porém, aquele valor não é realidade...

                      Mesmo porque cada cliente tem diferentes quantidades de eventos, e diferentes valores (assim como mostra as colunas Mínimo e Máximo)...

                      Através dessa sua filosofia, o que eu poderia fazer pra atingi-la?