Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
Olá Paulo,
Recomendo criar uma tabela com Pai, Filho e Descrição e usar o função "Hierarchy".
Abraço.
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