Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Calculo Tabela

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

Tags (1)
4 Replies
Not applicable

Re: Calculo Tabela

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.

marcelotucano
New Contributor

Re: Calculo Tabela

Gabriel,

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

Not applicable

Re: Calculo Tabela

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.

marcelotucano
New Contributor

Re: Calculo Tabela

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;