Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
pauloandre
Creator II
Creator II

Subtotal na dimensão

Prezados,

possuo uma tabela dinamica com uma dimensão editada conforme abaixo: porem o cliente solicitou a inclusao de 3 novas linhas da seguinte forma:

dimensão:

=IF(wildmatch(%ContaContábilID,'32*','38*','361*','3114*')>0,'(C) RESULTADO FINANCEIRO*',

   IF(wildmatch(%ContaContábilID,'3111*','3112*')>0,'(A) RECEITAS',

   IF(wildmatch(%ContaContábilID,'3113*','3115*','364*','365*')>0,'(E) OUTRAS RECEITAS LÍQ.**',

   IF(wildmatch(%ContaContábilID,'33*','34*','35*','362*','363*')>0,'(B) DESPESAS',

   IF(wildmatch(%ContaContábilID,'37*')>0,'(D) IMPOSTOS' )  )  )  )  )

porem o cliente solicitou a inclusao de 3 novas linhas da seguinte forma:

Lucro Bruto = (A) RECEITAS + (B) DESPESAS

Resultado Operacional = (A) RECEITAS + (B) DESPESAS + (C) RESULTADO FINANCEIRO + (D) IMPOSTOS

lucro Liquido = (A) RECEITAS + (B) DESPESAS + (C) RESULTADO FINANCEIRO + (D) IMPOSTOS + (E) OUTRAS RECEITAS LÍQ

tentei de algumas maneiras, mas sem sucesso e gostaria de saber se alguem sabe como resolver essa questão!

obrigado

Paulo Andre

1 Solution

Accepted Solutions
cesaraccardi
Specialist
Specialist

Olá Paulo,

Eu sugiro que você implemente esta lógica no script de carga, eu faria da seguinte forma:

INDICADORES_FINANCEIROS:

LOAD

     1     as ORDEM_INDICADOR,

     'RECEITAS' as INDICADOR,

     %ContaContábilID,

     VALOR

FROM MOVIMENTO_FINANCEIRO

WHERE

wildmatch(%ContaContábilID,'3111*','3112*');

concatenate(INDICADORES_FINANCEIROS)

LOAD

     2     as ORDEM_INDICADOR,

     'DESPESAS' as INDICADOR,

     %ContaContábilID,

     VALOR

FROM MOVIMENTO_FINANCEIRO

WHERE

wildmatch(%ContaContábilID,'33*','34*','35*','362*','363*');

(...)

Aí na sua tabela você pode colocar como dimensão:

INDICADOR

Critério de Classificação:

=Only({1} ORDEM_INDICADOR)

Expressão:

sum(VALOR)

Na minha opinião, isto facilita bastante a manutenção e organização, além de melhorar a performance na interface.

Abraços,

Cesar Accardi

View solution in original post

2 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Paulo,

Recomendo criar uma tabela com Pai, Filho e Descrição e usar o função "Hierarchy".

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
cesaraccardi
Specialist
Specialist

Olá Paulo,

Eu sugiro que você implemente esta lógica no script de carga, eu faria da seguinte forma:

INDICADORES_FINANCEIROS:

LOAD

     1     as ORDEM_INDICADOR,

     'RECEITAS' as INDICADOR,

     %ContaContábilID,

     VALOR

FROM MOVIMENTO_FINANCEIRO

WHERE

wildmatch(%ContaContábilID,'3111*','3112*');

concatenate(INDICADORES_FINANCEIROS)

LOAD

     2     as ORDEM_INDICADOR,

     'DESPESAS' as INDICADOR,

     %ContaContábilID,

     VALOR

FROM MOVIMENTO_FINANCEIRO

WHERE

wildmatch(%ContaContábilID,'33*','34*','35*','362*','363*');

(...)

Aí na sua tabela você pode colocar como dimensão:

INDICADOR

Critério de Classificação:

=Only({1} ORDEM_INDICADOR)

Expressão:

sum(VALOR)

Na minha opinião, isto facilita bastante a manutenção e organização, além de melhorar a performance na interface.

Abraços,

Cesar Accardi