Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Save $600 on Qlik Connect registration! Sign up by Dec. 6 to get an extra $100 off with code CYBERSAVE: REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Maicon_z
Contributor II
Contributor II

Somar em dias Final de semana na segunda feira

Bom dia, pessoal, tudo certo ? 

Estou com um problema que não consigo solucionar, espero que vocês consigam ajudar...

Estou fazendo tipo um fluxo de caixa, e os valores que eu recebo no sábado e domingo, devem ser contabilizados na segunda, Porem não estou conseguindo fazer isso.

 

Como esta na base     Como preciso  
Data Dia - Sem Data Venda   Data Dia - Sem Como preciso
01/08/2023 ter       2.697,00   01/08/2023 ter            2.697,00
02/08/2023 qua       5.542,00   02/08/2023 qua            5.542,00
03/08/2023 qui       3.165,00   03/08/2023 qui            3.165,00
04/08/2023 sex       2.620,00   04/08/2023 sex            2.620,00
05/08/2023 sáb       1.406,00   05/08/2023 sáb  
06/08/2023 dom       9.409,00   06/08/2023 dom  
07/08/2023 seg       1.765,00   07/08/2023 seg          12.580,00
08/08/2023 ter       4.340,00   08/08/2023 ter            4.340,00
09/08/2023 qua       6.978,00   09/08/2023 qua            6.978,00
10/08/2023 qui       6.619,00   10/08/2023 qui            6.619,00
11/08/2023 sex       3.711,00   11/08/2023 sex            3.711,00
12/08/2023 sáb       4.234,00   12/08/2023 sáb  
13/08/2023 dom       9.566,00   13/08/2023 dom  
14/08/2023 seg       7.567,00   14/08/2023 seg          21.367,00
15/08/2023 ter       2.622,00   15/08/2023 ter            2.622,00
16/08/2023 qua       1.141,00   16/08/2023 qua            1.141,00
17/08/2023 qui       5.373,00   17/08/2023 qui            5.373,00
18/08/2023 sex       2.367,00   18/08/2023 sex            2.367,00
19/08/2023 sáb       5.916,00   19/08/2023 sáb  
20/08/2023 dom       2.818,00   20/08/2023 dom  
21/08/2023 seg       6.521,00   21/08/2023 seg          15.255,00
Labels (1)
1 Solution

Accepted Solutions
Maicon_z
Contributor II
Contributor II
Author

Boa tarde pessoa, 
Agradeço a ajuda de vocês, consegui fazer o calculo com a formula :
=If(dia_semana='seg',
Sum(valor)+
Above(Sum(valor))
+
Above(Sum(valor),2),
if(dia_semana='sáb' or dia_semana='dom', 0,
Sum(valor)
))

Maicon_z_0-1692985439703.png

 



View solution in original post

6 Replies
therealdees
Creator III
Creator III

Boa tarde,

 

Provavelmente deve ter outros jeitos também utilizando Aggr, mas a seguinte expressão aparentemente funcionou.

 

Temp:
LOAD * Inline [
Data, Dia-Sem, Valor

01/08/2023, ter, 2697
02/08/2023, qua, 5542
03/08/2023, qui, 3165
04/08/2023, sex, 2620
05/08/2023, sab, 1406
06/08/2023, dom, 9409
07/08/2023, seg, 1765

];

 

If([Dia-Sem] = 'seg', Sum(Total Aggr(Sum({<[Dia-Sem] = {'sab', 'dom', 'seg'}>} Valor), [Dia-Sem])), If([Dia-Sem] = 'sab' or [Dia-Sem] = 'dom', null(), Sum(Valor)))

 

3e4090f7c297776da6d62abeef95c277.png

 

Caso tenha solucionado seu problema, favor marcar como a solução para concluir o tópico

 

 

 

Maicon_z
Contributor II
Contributor II
Author

Bom dia, Não deu certo, 

Os dias descritos veem nulos e zerados

Maicon_z_0-1692621234438.png

 

therealdees
Creator III
Creator III

Consegue enviar a expressão que você está utilizando?

rafael_attux
Employee
Employee

Oi @Maicon_z , acredito que você consiga resolver teu problema usando algumas funções como:

Networkdays (para controlar os finais de semana e feriados (se quiser))

Peek / Previous , para olhar o registro dos dias anteriores e fazer a rolagem dos teus valores para o próximo dia útil.

 

fernando_tonial
Employee
Employee

Olá, recomendo fazer via script, para ficar mais rápido na aplicação final.

Exemplo do código.

[TMP_Dados]:
LOAD
	Date(Date#([Data], 'DD/MM/YYYY') ) 	AS [Data],
    WeekDay(Data) 						AS DiaSemana,
	[Venda];
LOAD * INLINE 
[
Data;Venda
01/08/2023;2697
02/08/2023;5542
03/08/2023;3165
04/08/2023;2620
05/08/2023;1406
06/08/2023;9409
07/08/2023;1765
08/08/2023;4340
09/08/2023;6978
10/08/2023;6619
11/08/2023;3711
12/08/2023;4234
13/08/2023;9566
14/08/2023;7567
15/08/2023;2622
16/08/2023;1141
17/08/2023;5373
18/08/2023;2367
19/08/2023;5916
20/08/2023;2818
21/08/2023;6521
]
(delimiter is ';');

NoConcatenate
Dados:
Load 
	[Data],
    DiaSemana,
    [Venda],
    If(Match(DiaSemana,'ter','qua','qui','sex'),[Venda],If(DiaSemana='seg',[Venda]+Peek('Venda',-1)+Peek('Venda',-2))) AS  VendaNova
Resident TMP_Dados
Order By [Data];

Drop Table TMP_Dados;

 Resultado final

fernando_tonial_0-1692971488193.png

Também coloquei em anexo o aplicativo de exemplo.

Don't worry, be Qlik.
Tonial

 

Don't Worry, be Qlik.
Maicon_z
Contributor II
Contributor II
Author

Boa tarde pessoa, 
Agradeço a ajuda de vocês, consegui fazer o calculo com a formula :
=If(dia_semana='seg',
Sum(valor)+
Above(Sum(valor))
+
Above(Sum(valor),2),
if(dia_semana='sáb' or dia_semana='dom', 0,
Sum(valor)
))

Maicon_z_0-1692985439703.png