Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Valor

Boa tarde.

Nesta tabela quando for a SEQUENCIA B09 gostaria de obter o valor correspondente a SEQUENCIA SAL.

Até ai OK... mas quando a opção "Ocultar quando o valor for Nulo" na dimensão, a SEQUENCIA SAL é eliminada corretamente, e a SEQUENCIA B09 fica com o valor zero. Gostaria que a B09 continuasse com o valor.

If(SEQUENCIA = 'A', Sum({<SEQUENCIA = {'A*'}>} TOTAL <ANO, MES> REALIZADO),
If(SEQUENCIA = 'B', Sum({<SEQUENCIA = {'B*'}>} TOTAL <ANO, MES> REALIZADO),
If(SEQUENCIA = 'B09', Sum({<SEQUENCIA = {'SAL'}>} TOTAL <ANO, MES> REALIZADO),
If(HISTORICO = '', '',
SUM(REALIZADO)
)
)))

Também gostaria que a SEQUENCIA A07 e B10 ficassem com o valor '' e não zero. Parece que o comando If(HISTORICO = '', '' não está fazendo isso.

Valeu

6 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Boa tarde Rafa.

Imagino ainda que vais ter o total no C , mas como não falou nada, imagino que vais fazer no script.....

Deve ter outros jeitos......

2015-07-11 14_46_06-QlikView x64 - [C__tmp_TESTE2.qvw_].png !

furtado@farolbi.com.br
Not applicable
Author

Boa tarde.

Quando me referi na sequencia B09 obter o valor da soma da sequencia SAL foi só um exemplo. Precisava fazer essa soma nas expressões e não colocando formula na dimensão como colocasse no exemplo.

Vou ter outras situações ainda que vou somar mais valores, e por isso preciso calcular isso na expressões. Não estou entendendo porque o set analysis não está funcionando para esse caso. Já tentei colocar o TOTAL, ALL antes e depois da expressão mas sem bons resultados.

Depois de concluída essa tabela terá mais linhas que farei somas que SEQUENCIAS que não estão na tabela, e o que quero fazer na B09 é só um exemplo para que eu consigo continuar o desenvolvimento.

Valeu

Not applicable
Author

Explicando melhor:

Somar na SEQUENCIA C o valor da SEQUENCIA S1 + S2 e deixar a linha do S1 e S2 oculta.

Segue exemplo.

Valeu

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Rafa, eu respondi o que parecia ser o seu problema (como colocado no post).   Se você quer ter esta flexibilidade, segue um exemplo de XLS que uso quando crio DRE.

    

IDDESCRICAOGRAUVALOR
1RECEITA OPERACIONAL BRUTA1NULL
2RECEITA DE VENDAS2NULL
3VENDA DE PRODUTOS MERC INTERNO3<3010101001>
4VENDA DE PRODUTOS MERC EXTERNO3<3010101002>
5( - ) DEDUÇÕES DA RECEITA OPERACIONAL BRUTA1NULL
6DEVOLUÇÃO DE VENDAS2NULL
7DEVOLUÇÃO DE VENDAS MERC INTERNO3<3040101001>
8DEVOLUÇÃO DE VENDAS MERC EXTERNO3<3040102001>
9IMPOSTOS S/VENDAS2NULL
10ICMS3<3030201001>
11IPI3<3030201002>
12COFINS3<3030201003>
13PIS3<3030201004>
14ISS3<3030201005>
15INSS3<3030201006>
16( = ) RECEITA OPERACIONAL LÍQUIDA1{1} + {5}
17( - ) CUSTOS1NULL
18CUSTO DA MAO DE OBRA DIRETA2NULL

Neste caso, as vendas de produtos (ID 3 e 4) são do grau 3 e portanto pertencem ao grau 2 e este ao grau 1 (para efeito de somatória dos grupos e subgrupos....) e ainda tem as formulas (ID 16) que é a soma do ID 1 com o ID 5 (e este como vem negativo na base diminui o valor....).   Desta forma, o que eu colocar na planilha entra no DRE.  Se eu tiver mais de uma conta contábil (na coluna VALOR basta colocar no formato   <3010808020>+<3010601021>+<3010409022>) e ai usando o subfield sei as contas que vou somar na linha..DRE.pngDRE2.pngDRE3.png

Como podes ver, a dimensão uso o texto do XLS (ou posso pegar de base...), sem nenhum if e a expressão pega dos lançamentos contábeis.   No caso deste exemplo usei aggr mas poderia ser um sum(Lancamento) (no caso do aggr é que nesta base tinha ainda outros calculos e me vi formado a usar....)

furtado@farolbi.com.br
Not applicable
Author

Bem legal esse modelo.

Naquele meu exemplo, então não é possível fazer aquela soma?

Valeu

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada