13 Replies Latest reply: Dec 1, 2017 2:25 PM by Felip Drechsler RSS

    Ajuda com Set Analysis

    Eduardo DImperio

      Oi gente,

       

      Estou confuso com um resultado, criei um set analysis para realizar uma soma quando o consumo atual e a media de consumo dos ultimos meses foram maiores que 1 (dentre outras regras), porém essa regra esta sendo ignorada. O que pode ser?

       

      SUM(${<CONSUMO_TOTAL = {"=CONSUMO_TOTAL> 1.5*CONSUMO_MEDIA_TRIMESTRAL"}+

      {"=CONSUMO_TOTAL> 0.5*CONSUMO_MEDIA_TRIMESTRAL"}+

                              {"=CONSUMO_TOTAL>1"}+

                              {"CONSUMO_MEDIA_TRIMESTRAL>1"}

                              >} ROUND((CONSUMO_TOTAL- CONSUMO_MEDIA_TRIMESTRAL),0.01))

       

       

      set_analysis2.JPG

      Imaginei que essa linha deveria vir com resultado vazio, alguem pode me ajudar?

       

      Obrigado

        • Re: Ajuda com Set Analysis
          youssef belloum

          hi,

           

          try to attach sample data

          • Re: Ajuda com Set Analysis
            Felip Drechsler

            Ola Eduardo,

             

            a construção do set analysis precisa de uns ajustes, pois deveria ser a soma de conjuntos, algo como abaixo:

             

            SUM

            (

            {<

            CONSUMO_TOTAL = {'=CONSUMO_TOTAL> 1.5*CONSUMO_MEDIA_TRIMESTRAL'}

            >

            +

            <

            CONSUMO_TOTAL = {'=CONSUMO_TOTAL> 0.5*CONSUMO_MEDIA_TRIMESTRAL'}

            >

            +

                < 

                CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1'}

            >

                +

                < 

                  CONSUMO_TOTAL =  {'CONSUMO_MEDIA_TRIMESTRAL>1'}

                >}

                ROUND

                (

              CONSUMO_TOTAL- CONSUMO_MEDIA_TRIMESTRAL

                ,

                0.01

                )

            )

             

            Se eu carregar os seguintes dados:

            x:

            load * Inline

            [

            OIDMETER,CONSUMO_TOTAL,CONSUMO_MEDIA_TRIMESTRAL

            38584,0.41,0.41

            1,1.7,0.3

            ];

             

            Consigo a imagem abaixo, ou seja o seu set analysis não está contemplando a linha que você demonstrou, devido as condições que você colocou.

             

            Sample.png

              • Re: Ajuda com Set Analysis
                Eduardo DImperio

                Oi Felip, nao deu certo. Ainda aparecem os valores menores que 1set_analysis.JPG

                  • Re: Ajuda com Set Analysis
                    Felip Drechsler

                    A parte do set analysis

                    <CONSUMO_TOTAL = {'=CONSUMO_TOTAL> 0.5*CONSUMO_MEDIA_TRIMESTRAL'}>

                     

                    está permitindo esses valores, deve ser alguma questão de arredondamento onde apesar de ser 0.01 e 0.01 para ambos os campos, devem ser valores menores, se você excluir essa parte, os valores que você grifou na imagem somem.

                     

                    Sample.png

                      • Re: Ajuda com Set Analysis
                        Eduardo DImperio

                        Entao, mas eu preciso fazer uma clausula AND pra isso.

                        A logica é  pegar CONSUMO TOTAL >  OU < 50%  do CONSUMO_TRIMESTRAL E CONSUMO_TOTAL>1 E CONSUMO_TRIMESTRAL>1


                        Mas nao consigo montar isso no Set Analysis, imaginei que o operador * equivaleria ao AND e o operador + equivaleria ao OU.

                          • Re: Ajuda com Set Analysis
                            Felip Drechsler

                            Tente modificar o "+" por "*" que seria a intersecção dos conjuntos para esses dois que você necessita.

                              • Re: Ajuda com Set Analysis
                                Eduardo DImperio

                                Cara, acho que agora esta funcionando, mas com uma situação estranha. Meu codigo ficou assim:

                                 

                                Sum({

                                <CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1'}>*

                                <CONSUMO_TOTAL = {'=CONSUMO_MEDIA_TRIMESTRAL>1'}>*

                                        <CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1.5*CONSUMO_MEDIA_TRIMESTRAL'}>

                                        +

                                        <CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1'}>*

                                <CONSUMO_TOTAL = {'=CONSUMO_MEDIA_TRIMESTRAL>1'}>*

                                        <CONSUMO_TOTAL = {'=CONSUMO_TOTAL<0.5*CONSUMO_MEDIA_TRIMESTRAL'}>

                                     } FABS(CONSUMO_TOTAL-CONSUMO_MEDIA_TRIMESTRAL))

                                 

                                Com resultado esperado

                                 

                                set_analysis.JPG

                                 

                                Mas se eu coloco uma expressão de cor de fundo:

                                IF(CONSUMO_TOTAL<0.5*CONSUMO_MEDIA_TRIMESTRAL OR CONSUMO_TOTAL>1.5*CONSUMO_MEDIA_TRIMESTRAL, RED() )

                                 

                                Ele se perde

                                 

                                set_analysis2.JPG

                                  • Re: Ajuda com Set Analysis
                                    Felip Drechsler

                                    Jogue a mesma expressão que você usou no gráfico para a cor, por exemplo:

                                    if

                                    (

                                     

                                    Sum({

                                    <CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1'}>*

                                    <CONSUMO_TOTAL = {'=CONSUMO_MEDIA_TRIMESTRAL>1'}>*

                                            <CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1.5*CONSUMO_MEDIA_TRIMESTRAL'}>

                                            +

                                            <CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1'}>*

                                    <CONSUMO_TOTAL = {'=CONSUMO_MEDIA_TRIMESTRAL>1'}>*

                                            <CONSUMO_TOTAL = {'=CONSUMO_TOTAL<0.5*CONSUMO_MEDIA_TRIMESTRAL'}>

                                         } FABS(CONSUMO_TOTAL-CONSUMO_MEDIA_TRIMESTRAL))

                                    > 0.5,red(),green())

                                      • Re: Ajuda com Set Analysis
                                        Eduardo DImperio

                                        Entao, funciona e cara foi um otimo aprendizado pra mim, mas tenho duas duvidas quanto a isso:

                                         

                                        1- Porque eu precisei usar a mesma expressao? Nao entendo porque nao funciona com qualquer expressão

                                         

                                        2-  Porque no Set Analysis eu tive que separar por Dimensao, como por exemplo,

                                        //Dimensao 1

                                        <CONSUMO_TOTAL = {'=CONSUMO_TOTAL>1'}>*

                                        //Dimensao2

                                        <CONSUMO_TOTAL = {'=CONSUMO_MEDIA_TRIMESTRAL>1'}>

                                         

                                         

                                        Ao inves de conseguir fazer tudo em uma unica passagem como nesse exemplo do proprio manual do set analysis

                                         

                                         

                                        Sum({GROUP1 * Book1} [Sales]), trocando pelo que eu precisava ficaria: 

                                         

                                         

                                        Sum({"=CONSUMO_TOTAL>1" * "CONSUMO_MEDIA_TRIMESTRAL>1"}


                                        E valeu a ajuda ate agora