4 Replies Latest reply: Dec 19, 2016 6:17 PM by marcelotucano marcelotucano RSS

    Calculo Tabela

    Gabriel Erich Koeke

      Bom dia, estou criando o DRE, mas estou com duvidas em como fazer o calculo entre as tabelas. Eu preciso fazer calculos com colunas da nivel 3 com a nivel 1, Venda de Serviços - Custo dos Serviços = coluna nivel1 Receita Operacional Liquida. Eu utilizei a seguinte expressão

      =money(sum({$<desc_nivel3={'1.1.1-VENDA DE SERVIÇOS'},desc_nivel3-={'2.1.1-IMPOSTOS S/VENDAS'}>}valor_pago)),  ele me traz o total da tabela.

      =IF(descricao_nivel_1='RECEITA OPERACIONAL LIQUIDA',RANGESUM(TOP(SUM({<descricao_nivel_1={'DEDUÇÕES DA RECEITA','DESPESAS OPERACIONAIS FIXAS'}>}valor_pago),1,ROWNO()-1)), SUM(valor_pago)) me traz o total da tabela.

      Eu preciso que apareça o Receita Total Liquida na Coluna 1, com os valores desse calculo 1 - o outro. Espero que possam me ajudar.

       

      Capturar1.PNG

      Capturar2.PNG

        • Re: Calculo Tabela
          Gabriel Erich Koeke

          Tambem testei com essa expressão =IF(desc_nivel1='3-RECEITA OPERACIONAL LIQUIDA',RANGESUM(TOP(SUM({$<desc_nivel3={'3-VENDA DE SERVIÇOS','2-CUSTO DAS VENDAS'}>}valor_pago),1,ROWNO()-1)), SUM(valor_pago)), ele me traz os totais das nivel3.

          • Re: Calculo Tabela
            marcelotucano marcelotucano

            Gabriel,

             

            qdo tive que fazer um DRE no qlik, achei mais viável construir ele no script e apenas mostrar na tabela.

              • Re: Calculo Tabela
                Gabriel Erich Koeke

                Boa tarde Marcelo, obrigado pelo retorno, você teria alguma qvw que eu pudesse utilizar como base? A parte dos níveis eu cadastrei tudo no banco de dados, mas dai agora preciso fazer esses cálculos, e a unica maneira que eu encontrei foi utilizando a expressão. Fico no aguardo.

                  • Re: Calculo Tabela
                    marcelotucano marcelotucano

                    Gabriel,

                     

                    o qvw ta bem complicado de limpar pra te enviar. O que fiz foi o seguinte, criei uma tabela temporária para calcular cada item do DRE e depois concatenei todas as tabelas. O visual ficou assim. E a expressão do objeto tabela ficou um simples: Sum(DRE.Valor)

                     

                     

                    A tabela DRE_tabela2 do scipt eu usei para calcular esses indicadores na parte de baixo.

                     

                    Script:

                     

                    NoConcatenate

                    DRE_venda_bruta_1:

                    Load Sum(OrcVen.ValorTotal)        as DRE.Valor,

                        OrcVen.DataMesAno            as DRE.DataMesAno,

                        OrcVen.Fornecedor            as DRE.SubGrupo

                    Resident Orçamento_vendas_analitico

                    Group by OrcVen.DataMesAno,OrcVen.Fornecedor;

                     

                    NoConcatenate

                    DRE_venda_bruta:

                    Load *,

                        'VENDA BRUTA'                as DRE.Grupo

                    Resident DRE_venda_bruta_1;

                     

                     

                     

                    NoConcatenate

                    DRE_deduções_vendas:

                    Load 0                            as DRE.Valor,

                        DRE.DataMesAno,

                        'Deduções s/ vendas'        as DRE.SubGrupo,

                        '   Deduções s/ vendas'        as DRE.Grupo

                    Resident DRE_venda_bruta;

                     

                     

                     

                     

                    NoConcatenate

                    DRE_receita_liquida:

                    Load DRE.Valor,

                        DRE.DataMesAno,

                        'Receita Líquida'        as DRE.SubGrupo,

                        'RECEITA LÍQUIDA'        as DRE.Grupo

                    Resident DRE_venda_bruta;

                     

                     

                     

                    NoConcatenate

                    DRE_cmv_1:

                    Load Sum(OrcVen.CMV)            as DRE2.Valor,

                        OrcVen.DataMesAno            as DRE.DataMesAno

                    Resident Orçamento_vendas_analitico

                    Group by OrcVen.DataMesAno;

                     

                    NoConcatenate

                    DRE_cmv:

                    Load -DRE2.Valor                        as DRE.Valor,

                        DRE.DataMesAno,

                        //DRE.SubGrupo,

                        'CMV Custo Mercadorias Vendidas'    as DRE.Grupo

                    Resident DRE_cmv_1;

                     

                     

                    NoConcatenate

                    DRE_lucro_bruto_1:

                    Load

                    DRE.DataMesAno,

                    DRE2.Valor

                    Resident DRE_cmv_1;

                    left join

                    Load

                    sum(DRE.Valor)        as DRE.Valor,

                    DRE.DataMesAno 

                    Resident DRE_venda_bruta_1

                    Group by DRE.DataMesAno;

                     

                    NoConcatenate

                    DRE_lucro_bruto:

                    Load (DRE.Valor-DRE2.Valor)        as DRE.Valor,

                        DRE.DataMesAno,

                        'Lucro Bruto'                as DRE.SubGrupo,

                        'LUCRO BRUTO'                as DRE.Grupo

                    Resident DRE_lucro_bruto_1;

                     

                    drop table DRE_lucro_bruto_1;

                    drop Table DRE_venda_bruta_1;

                    drop Table DRE_cmv_1;

                     

                    //

                    DRE_lucro_bruto_venda_bruta_1:

                    Load sum(DRE.Valor)        as DRE.ValorLucBru,

                    DRE.DataMesAno

                    Resident DRE_lucro_bruto

                    group by DRE.DataMesAno;

                     

                    left join

                     

                    Load sum(DRE.Valor)        as DRE.ValorVenBru,

                    DRE.DataMesAno

                    Resident DRE_venda_bruta

                    group by DRE.DataMesAno;

                     

                    NoConcatenate

                    DRE_lucro_bruto_venda_bruta:

                    Load (DRE.ValorLucBru/DRE.ValorVenBru)        as DRE.Valor,

                    DRE.DataMesAno,

                        'Lucro Bruto / Venda Bruta'        as DRE.SubGrupo,

                        'Lucro Bruto / Venda Bruta'        as DRE.Grupo

                    Resident DRE_lucro_bruto_venda_bruta_1;

                     

                    drop table DRE_lucro_bruto_venda_bruta_1;

                     

                     

                    NoConcatenate

                    DRE_resultado_financeiro:

                    Load OrcFin.Valor                    as DRE.Valor,

                        OrcFin.DataMesAno                as DRE.DataMesAno,

                        'Receitas Financeiras'                as DRE.SubGrupo,

                        '   Resultado Financeiro'        as DRE.Grupo

                    Resident Orçamento_financeiro

                    Where OrcFin.Categoria='Receitas Financeiras';

                     

                    Concatenate

                     

                    Load OrcFin.Valor                    as DRE.Valor,

                        OrcFin.DataMesAno                as DRE.DataMesAno,

                        'Receitas Financeiras'                as DRE.SubGrupo,

                        '   Resultado Financeiro'        as DRE.Grupo

                    Resident Orçamento_financeiro

                    Where OrcFin.Grupo='Outros Recebimentos';

                     

                     

                    Concatenate

                     

                    Load (-1)*OrcFin.Valor                    as DRE.Valor,

                        OrcFin.DataMesAno                as DRE.DataMesAno,

                        'Despesas Financeiras'                as DRE.SubGrupo,

                        '   Resultado Financeiro'        as DRE.Grupo

                    Resident Orçamento_financeiro

                    Where OrcFin.Grupo='Outros Pagamentos';

                     

                    Load (-1)*OrcFin.Valor                    as DRE.Valor,

                        OrcFin.DataMesAno                as DRE.DataMesAno,

                        OrcFin.Categoria                as DRE.SubGrupo,

                        '   Resultado Financeiro'        as DRE.Grupo

                    Resident Orçamento_financeiro

                    Where OrcFin.Categoria='Despesas Financeiras';

                     

                    NoConcatenate

                    DRE_despesas_operacionais_1:

                    Load -Sum(OrcDes.ValorOrçado)    as DRE.Valor,

                        OrcDes.DataMesAno            as DRE.DataMesAno

                    Resident Orçamento_Estrutura_analitico

                    Group  by OrcDes.DataMesAno;

                     

                    NoConcatenate

                    DRE_despesas_operacionais:

                    Load *,

                        'Despesas Operacionais'                as DRE.SubGrupo,

                        '   Despesas Operacionais'                as DRE.Grupo

                    Resident DRE_despesas_operacionais_1;

                     

                    drop table DRE_despesas_operacionais_1;

                     

                    NoConcatenate

                    DRE_lucro_operacional:

                    Load DRE.Valor,

                        DRE.DataMesAno,

                        'Lucro Operacional'                as DRE.SubGrupo,

                        'LUCRO OPERACIONAL'                as DRE.Grupo

                    Resident DRE_despesas_operacionais;

                     

                    Concatenate

                    Load DRE.Valor,

                        DRE.DataMesAno,

                        'Lucro Operacional'                as DRE.SubGrupo,

                        'LUCRO OPERACIONAL'                as DRE.Grupo

                    Resident DRE_resultado_financeiro;

                     

                    Concatenate

                    Load DRE.Valor,

                        DRE.DataMesAno,

                        'Lucro Operacional'                as DRE.SubGrupo,

                        'LUCRO OPERACIONAL'                as DRE.Grupo

                    Resident DRE_lucro_bruto;

                     

                    NoConcatenate

                    DRE_despesas_operacionais_vendas_1:

                    Load Sum(DRE.Valor)        as DRE.ValorDes,

                    DRE.DataMesAno

                    Resident DRE_despesas_operacionais

                    Group by DRE.DataMesAno;

                     

                    left join

                     

                    Load Sum(DRE.Valor)        as DRE.ValorVen,

                    DRE.DataMesAno

                    Resident DRE_venda_bruta

                    Group by DRE.DataMesAno;

                     

                    NoConcatenate

                    DRE_despesas_operacionais_vendas:

                    Load (-1)*(DRE.ValorDes/DRE.ValorVen)        as DRE.Valor,

                        DRE.DataMesAno,

                        'Despesas Ope / Vendas'                as DRE.SubGrupo,

                        'Despesa Operacional / Venda Bruta'                as DRE.Grupo

                    Resident DRE_despesas_operacionais_vendas_1;

                     

                    DROP Table DRE_despesas_operacionais_vendas_1;

                     

                     

                    NoConcatenate

                    DRE_resultado_nao_operacional:

                    Load 0                                    as DRE.Valor,

                        DRE.DataMesAno,

                        'Resultado não operacional'            as DRE.SubGrupo,

                        '   Resultado não operacional'        as DRE.Grupo

                    Resident DRE_venda_bruta;

                     

                    NoConcatenate

                    DRE_lair:

                    Load DRE.Valor,

                        DRE.DataMesAno,

                        'Lucro antes impostos'        as DRE.SubGrupo,

                        'LUCRO ANTES IMPOSTOS'        as DRE.Grupo

                    Resident DRE_lucro_operacional;

                     

                    NoConcatenate

                    DRE_Impostos:

                    Load -OrcImp.Valor                as DRE.Valor,

                        OrcImp.DataMesAno            as DRE.DataMesAno,

                        'CSLL e IRPJ'            as DRE.SubGrupo,

                        '   CSLL e IRPJ'        as DRE.Grupo

                    Resident Orçamento_Impostos

                    Where OrcImp.Grupo='3. CONTABILIZAR NO DRE MÊS';

                     

                    //drop table Orçamento_Impostos_3;

                     

                    NoConcatenate

                    DRE_lucro_liquido_1:

                    Load DRE.Valor,

                        DRE.DataMesAno

                    Resident DRE_lair;

                     

                    Concatenate

                     

                    Load DRE.Valor,

                        DRE.DataMesAno

                    Resident DRE_Impostos;

                     

                    NoConcatenate

                    DRE_lucro_liquido:

                    Load Sum(DRE.Valor)        as DRE.Valor,

                        DRE.DataMesAno,

                        'Lucro Líquido'        as DRE.SubGrupo,

                        'LUCRO LÍQUIDO'        as DRE.Grupo

                    Resident DRE_lucro_liquido_1

                    Group by DRE.DataMesAno;

                     

                    drop table DRE_lucro_liquido_1;

                     

                    NoConcatenate

                    DRE_lucro_liquido_receita_liquida_1:

                    Load sum(DRE.Valor)            as DRE.ValorLucLiq,

                        DRE.DataMesAno

                    Resident DRE_lucro_liquido

                    Group by DRE.DataMesAno;

                     

                    left join

                     

                    Load sum(DRE.Valor)            as  DRE.ValorRecLiq    ,

                        DRE.DataMesAno

                    Resident DRE_receita_liquida

                    Group by DRE.DataMesAno;

                     

                    NoConcatenate

                    DRE_lucro_liquido_receita_liquida:

                    Load (DRE.ValorLucLiq/DRE.ValorRecLiq)        as DRE.Valor,

                        DRE.DataMesAno                        as DRE.DataMesAno,

                        'Lucro Líquido / Venda líquida'        as DRE.SubGrupo,

                        'Lucro Líquido / Venda Líquida'        as DRE.Grupo

                    Resident DRE_lucro_liquido_receita_liquida_1;

                     

                    drop table DRE_lucro_liquido_receita_liquida_1;

                     

                     

                    NoConcatenate

                    DRE:

                    Load *,

                    '1'            as DRE.Ordem Resident DRE_venda_bruta;

                    Concatenate

                    Load *,

                    '2'            as DRE.Ordem  Resident DRE_deduções_vendas;

                    Concatenate

                    Load *,

                    '3'            as DRE.Ordem  Resident DRE_receita_liquida;

                    Concatenate

                    Load *,

                    '4'            as DRE.Ordem  Resident DRE_cmv;

                    Concatenate

                    Load *,

                    '5'            as DRE.Ordem  Resident DRE_lucro_bruto;

                    Concatenate

                    Load *,

                    '6'            as DRE.Ordem  Resident DRE_despesas_operacionais;

                    Concatenate

                    Load *,

                    '7'            as DRE.Ordem  Resident DRE_resultado_financeiro;

                    Concatenate

                    Load *,

                    '8'            as DRE.Ordem  Resident DRE_lucro_operacional;

                    Concatenate

                    Load *,

                    '9'            as DRE.Ordem  Resident DRE_resultado_nao_operacional;

                    Concatenate

                    Load *,

                    '10'            as DRE.Ordem  Resident DRE_lair;

                    Concatenate

                    Load *,

                    '11'            as DRE.Ordem  Resident DRE_Impostos;

                    Concatenate

                    Load *,

                    '12'            as DRE.Ordem  Resident DRE_lucro_liquido;

                    Concatenate

                    Load 'nulo'        as DRE.Valor,

                        DRE.DataMesAno,

                        'nulo'        as DRE.SubGrupo,

                        'nulo'        as DRE.Grupo,

                    '13'            as DRE.Ordem  Resident DRE_resultado_nao_operacional;

                     

                    drop table DRE_cmv;

                     

                     

                     

                    NoConcatenate

                    DRE_Tabela2:

                    Load sum(DRE.Valor)        as DRE2.VendaBruta,

                        DRE.DataMesAno        as DRE2.DataMesAno

                    Resident DRE_venda_bruta

                    Group by DRE.DataMesAno;

                     

                    Concatenate

                     

                    Load sum(DRE.Valor)        as DRE2.VendaLiquida,

                        DRE.DataMesAno        as DRE2.DataMesAno

                    Resident DRE_receita_liquida

                    Group by DRE.DataMesAno;

                     

                    Concatenate

                     

                    Load -1*(sum(DRE.Valor))        as DRE2.Despesa,

                        DRE.DataMesAno                as DRE2.DataMesAno

                    Resident DRE_despesas_operacionais

                    Group by DRE.DataMesAno;

                     

                    Concatenate

                     

                    Load sum(DRE.Valor)        as DRE2.LucroBruto,

                        DRE.DataMesAno                as DRE2.DataMesAno

                    Resident DRE_lucro_bruto

                    Group by DRE.DataMesAno;

                     

                    Concatenate

                     

                    Load sum(DRE.Valor)                as DRE2.LucroLiquido,

                        DRE.DataMesAno                as DRE2.DataMesAno

                    Resident DRE_lucro_liquido

                    Group by DRE.DataMesAno;

                     

                    NoConcatenate

                    DRE_Tabela3:

                    load * Resident DRE_Tabela2

                    where DRE2.DataMesAno<>Null();

                     

                    drop table DRE_Tabela2;

                     

                     

                    drop Tables DRE_venda_bruta,DRE_deduções_vendas,DRE_receita_liquida,DRE_lucro_bruto,DRE_lucro_operacional,DRE_resultado_nao_operacional,DRE_lair,DRE_Impostos,DRE_lucro_liquido;

                    drop tables DRE_resultado_financeiro,DRE_despesas_operacionais;

                    drop table DRE_lucro_liquido_receita_liquida;

                    drop tables DRE_lucro_bruto_venda_bruta,DRE_despesas_operacionais_vendas;