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

IF e Data maxima de cada mês

Ola,

Acho um gráfico super simples e que pode ajudar muitas pessoas, orçado esta em cor cinza, realizado muda para verde, senão ficará vermelho.

Meu objetivo é demonstrar meus empréstimos no ultimo dia de cada mês, e for o mês atual, mostra a ultima data disponível.


Meu código esta da seguinte forma.


IF(

SUM({$<ORC_NOMECONTAEDITADO={'CARTEIRA FINAL'}, DT_MES, DT_DIA>}ORC_VALOR_REALIZADO/1000)>0,

//verifica se existe valor acima de 0 na base contabil.

SUM({$<ORC_NOMECONTAEDITADO={'CARTEIRA FINAL'}, DT_MES, DT_DIA>}ORC_VALOR_REALIZADO/1000),

//Se tiver valor maior que 0 irá retornar o vlr que esta na contabilidade.

SUM({<DT_MES>} OP_SALDOGERENCIAL/1000)

//< Aqui esta o problema, retorne o valor maximo de cada mês, e no mes atual retorne a ultima data disponivel.

)

Grifei jul como base gerencial, pois geralmente é demorado o processo de fechamento da contabilidade, então enquanto não houver valores para este mês em julho, irá demonstrar o gerencial.

Obrigado.

duvida maycon lima.png

Labels (1)
1 Solution

Accepted Solutions
nicolett_yuri

Maycon, fiz um exemplo de dependendo do mês utiliza o valor de uma tabela senão usa de outra.

PS: Seguindo a mesma regra anterior, de somar apenas os valores da maior data de cada mês.

Se precisar de um exemplo de como preparar a tabela via script, me informe.

View solution in original post

12 Replies
nicolett_yuri

Sua dúvida é fazer sempre calcular a maior data de cada mês, correto?

Segue um exemplo em anexo

Not applicable
Author

Olá Yuri,

Retornou a maior data disponível no mês de agosto, mas pulou julho.

Código:

IF(

SUM({$<ORC_NOMECONTAEDITADO={'CARTEIRA FINAL'}, DT_MES, DT_DIA>}ORC_VALOR_REALIZADO/1000)>0,

SUM({$<ORC_NOMECONTAEDITADO={'CARTEIRA FINAL'}, DT_MES, DT_DIA>}ORC_VALOR_REALIZADO/1000),

Sum(

  If(

  DT_DIA = Aggr( Nodistinct Max( DT_DIA ), DT_MES ), OP_SALDOGERENCIAL/1000))

)

DV2.png

Em julho até o momento não tem informações, então retorna o valor disponivel na ultima data de julho, e em agosto traz os dados de hoje.

Onde acha que estou errando.

DT_DIA = O formato é dd, somente traz dia mesmo.

nicolett_yuri

Não entendi, em Julho não tem dados e deve retornar valor de qual mês?

Not applicable
Author

Assim,

a informação vem de duas bases Contabil e Gerencial, até a data de hoje não temos o valor de julho na base Contabil, então utilizamos o valor gerencial, nesse caso objetivo é mostrar o valor do gerencial no dia 31/07/2015. e em agosto mostrar a ultima data disponivel, no meu caso 09/08/2015.

Not applicable
Author

Yuri,

Eu ate consegui trazer a informação de julho com o código abaixo. Mas ele pega o ultimo dia disponivel(09/08/2015) = 09, e retorna o dia 09 de julho tambem, ao inves de trazer dia 31 em julho.

IF(

SUM({$<ORC_NOMECONTAEDITADO={'CARTEIRA FINAL'}, DT_MES, DT_DIA>}ORC_VALOR_REALIZADO/1000)>0,

SUM({$<ORC_NOMECONTAEDITADO={'CARTEIRA FINAL'}, DT_MES, DT_DIA>}ORC_VALOR_REALIZADO/1000),

  SUM({<DT_MES, DT_DIA={'$(=Max(DT_DIA))'}>}OP_SALDOGERENCIAL/1000)

)

nicolett_yuri

Estou achando melhor você resolver essa "falta de dados" em seu script.

Pode disponibilizar uma app de exemplo com o seu problema? Assim consigo fazer alguns testes

Not applicable
Author

Help

nicolett_yuri

Vou montar um exemplo de como fazer isso via script

Not applicable
Author

TESTR.png

No meu calendário tenho o sistema de flag, pensei na possibilidade de criar mais uma coluna sinalizando o ultimo dia do mes e o ultimo dia disponivel, mas não sei a sintaxe, acha que daria certo?