Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 |
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)
))
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)))
Caso tenha solucionado seu problema, favor marcar como a solução para concluir o tópico
Bom dia, Não deu certo,
Os dias descritos veem nulos e zerados
Consegue enviar a expressão que você está utilizando?
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.
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
Também coloquei em anexo o aplicativo de exemplo.
Don't worry, be Qlik.
Tonial
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)
))