7 Replies Latest reply: Mar 26, 2018 3:27 PM by THIAGO TEIXEIRA RSS

    Script - Soma Total

    Jefferson Tavares

      Olá boa tarde!

      Sou novo na comunidade e preciso de ajuda para solucionar uma situação que não consigo resolver.

      Tenho uma expressão (abaixo) que verifica a situação de um determinado Grupo e sinaliza se o Status está OK, Critico ou Super Critico, porém eu gostaria de efetuar este calculo direto no Load da Aplicação.

       

      IF((SUM(Total<Div> Receita) / SUM(Total<Div> Receita_2017)-1) < ((SUM(Receita)/sum(Receita_2017))-1),'OK',

      IF((SUM(Total<Div> Receita) / SUM(Total<Div> Receita_2017)-1) - ((SUM(Receita)/sum(Receita_2017))-1)>0.10,'Super Critico','Critico'))

       

      alguém pode me orientar de como posso resolver essa questão.

       

      obrigado.

        • Re: Script - Soma Total
          THIAGO TEIXEIRA

          Consegue disponibilizar um qvf com uma amostra de dados? Do jeito que a expressão está não vai funcionar no script, mas talvez a gente arrume uma alternativa...

          • Re: Script - Soma Total
            Jefferson Tavares

            Fala Thiago, tudo bem:?

            É algo bem simples, fazendo pela expressão eu consigo solucionar, porém quero jogar no LOAD.

             

            MAPA_MENSAGEM:

            MAPPING LOAD DISTINCT

                BPCS,

                Receita

            FROM [lib://vendas diarias_ciclo.xlsx]

            (ooxml, embedded labels, table is BD_2017);

             

             

            MAPA_DIV:

            MAPPING LOAD DISTINCT

                [BPCS Novo],

                Divisao

            FROM [lib://Estrutura Gerencial.xlsx]

            (ooxml, embedded labels, table is Estrutura);

             

             

            FATO:

            LOAD

                BPCS,

                Negócio,

                [SSS/NS] as Seals,

                Divisão as Div,

                Receita,

                Itens,

                Cupons,

                Data,

                Mês,

                O,

                P,

                Q,

                ApplyMap('MAPA_MENSAGEM',BPCS,'N/A') AS Receita_2017,

                ApplyMap('MAPA_DIV',BPCS,'N/A') AS Divisão

            FROM [lib://vendas diarias_ciclo.xlsx]

            (ooxml, embedded labels, table is BD_2018);

              • Re: Script - Soma Total
                Alessandro Furtado

                Jefferson,

                 

                podes usar o Resident para ler a mesma tabela fazendo o calculo que queres e colocando o resultado na mesma tabela.

                 

                ex:

                 


                FATO:

                LOAD

                    BPCS,

                    Negócio,

                    [SSS/NS] as Seals,

                    Divisão as Div,

                    Receita,

                    Itens,

                    Cupons,

                    Data,

                    Mês,

                    O,

                    P,

                    Q,

                    ApplyMap('MAPA_MENSAGEM',BPCS,'N/A') AS Receita_2017,

                    ApplyMap('MAPA_DIV',BPCS,'N/A')      AS Divisão

                FROM [lib://vendas diarias_ciclo.xlsx] (ooxml, embedded labels, table is BD_2018);

                left join (FATO)

                LOAD

                    Div,

                    SUM(Receita) as Total_Div,

                    SUM(Receita_2017) as Total_Receita2017

                Resident FATO Group by Div;

                left join (FATO)

                LOAD

                    *,

                    IF(((Total_Div) / (Total_Receita2017)-1) < (((Receita)/(Receita_2017))-1),'OK',

                       IF(((Total_Div) / (Total_Receita2017)-1) - (((Receita)/(Receita_2017))-1)>0.10,'Super Critico','Critico'))  as Situacao

                Resident FATO;  




                Claro que o ultimo "left join" poderia ser também um group by com os campos que queres somado. Neste caso não sei se a tabela tem item a item e o calculo é pelo item ou pela "capa" (Cupom ?).

                exemplo:


                left join (FATO)

                LOAD

                    BPCS,

                    Negócio,

                    Seals,

                    Div,

                    Cupons,

                    IF((SUM(Total_Div) / SUM(Total_Receita2017)-1) < ((SUM(Receita)/sum(Receita_2017))-1),'OK',

                       IF((SUM(Total_Div) / SUM(Total_Receita2017)-1) - ((SUM(Receita)/sum(Receita_2017))-1)>0.10,'Super Critico','Critico'))  as Situacao

                Resident FATO Group by BPCS,Negócio,Seals,Div,Cupons;

                 

                 

                Mas seria uma ideia de como fazer.


              • Re: Script - Soma Total
                Jefferson Tavares

                Boa Tarde! Alessandro.

                Obrigado por ajudar... deu certinho...