Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Johann_sdis17
Contributor III
Contributor III

créer une date à partir de la sélection active

Bonjour,

je cherche à définir une date "J+1"à partir d'une date sélectionnée 

j'arrive à  manipuler les dates à partir de variable, mais je n'arrive pas à les utiliser dans un script

exemple:

TpsDt étant la date sélectionnée,  je souhaite  pouvoir afficher la somme  d'InterNb  pour J+1

Sum({$<(TpsDt+1)>}InterNb)

dans un 2eme temps je souhaite également calculer la somme d'interNb entre 2 dates séparées (J+7 par exemple)

j'avais déjà interroger le forum sur des calcules avec écart de dates, mais les réponses proposées sont masquées

Cordialement

1 Solution

Accepted Solutions
Johann_sdis17
Contributor III
Contributor III
Author

j'ai trouvé, a priori le code suivant fonctionne.

Sum({<TpsDt={">=$(=Date(getfieldselections(TpsDt)-7))<=$(=Date(getfieldselections(TpsDt)-1))"}> }InterNb)

View solution in original post

6 Replies
Taoufiq_Zarra

Bonjour @Johann_sdis17 ,

 

Je ne sais pas si j'ai bien compris ta question, si non tu peux partager ici un exemple de data avec le outpout souhaité.

sinon pour la première question, il me semble tu as besoin de:

sum({<TpsDt={'$(=getfieldselections(TpsDt)+1)'} >}InterNb)

et pour la second :

= sum({<TpsDt= {">=$(=getfieldselections(TpsDt))<=$(=getfieldselections(TpsDt)+7)"}> } InterNb)
Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
Johann_sdis17
Contributor III
Contributor III
Author

Bonjour,

Tout d'abord, merci pour ta réponse , tu as bien compris le sens de ma question, et tes réponses confirment ce que je souhaitais utiliser.

en partant de ta première réponse, 

sum({<TpsDt={'$(=getfieldselections(TpsDt))'} >}InterNb)

me donne bien les valeurs concernant la date sélectionnée (d'ailleurs dans la barre de formule, je vois bien apparaitre la date sélectionnée) mais 

sum({<TpsDt={'$(=getfieldselections(TpsDt)+1)'} >}InterNb)

m'affiche 0 (et dans la barre de formule, la date est remplacée par '44502'  qui doit probablement correspondre au 01/11/2021 à quelque chose près)

En ce qui concerne ta 2eme réponse, j'ai le même résultat (0)

j'ai bien reconstitué une formule qui me donne le bon résultat, mais j'ai un doute sur sa fiabilité...

Sum({$<[TpsDt] = {">=$(=MakeDate(year(max(TpsDt)),month(max(TpsDt)),day(min(TpsDt))))<=$(=MakeDate(year(max(TpsDt)),month(max(TpsDt)),day(max(TpsDt)+6)))"}> }InterNb)

les fonctions "min" et "max" vont probablement me donner des résultats faux lorsque le mois et l'année seront différents...

Taoufiq_Zarra

Bonjour @Johann_sdis17 

si j'ai bien compris tu as besoin d'ajouter Date(), like

sum({<TpsDt={'$(=Date(getfieldselections(TpsDt)+1))'} >}InterNb)

tu peux partage un exemple de donnée avec l'output souhaité pour plus d'info

Regards,
Taoufiq ZARRA

"Please LIKE posts and "Accept as Solution" if the provided solution is helpful "

(you can mark up to 3 "solutions") 😉
Johann_sdis17
Contributor III
Contributor III
Author

Les lignes AVP / DIV / INC  correspondent a des catégories d'interventions

  25/10/2021 26/10/2021 27/10/2021 28/10/2021 29/10/2021 30/10/2021 31/10/2021 01/11/2021 02/11/2021 03/11/2021 04/11/2021 05/11/2021 06/11/2021 07/11/2021 Total 1ere semaine Total 2eme semaine

AVP

11 10 12 8 10 11 13 11 8 9 10 8 8 8 75 62
DIV 11 11 6 9 9 4 8 13 13 15 12 6 11 6 58 76
INC 1 3 7 5 4 5 7 8 3 3 4 9 5 5 32 37

 

J'envisage de sélectionner la date du 01/11/2021 afin de calculer la somme d'interventions du 1 au 6/11 inclus pour le comparer à la somme des inter du 25/10 au 31/10 inclus.

pour obtenir l'équivalent de ça...

recap hebdo.png

Pour infos j'ai corrigé ma formule pour le cumul  de J à J+6 (la semaine d'origine)

sum({<TpsDt={'$(=MakeDate(year(TpsDt),Month(TpsDt),day( getfieldselections(TpsDt)+6)))'} >}InterNb)

et elle fonctionne.

Johann_sdis17
Contributor III
Contributor III
Author

heu en fait  non...mon code pour calculer un nombre entre 2 dates est bien celui -ci

Sum({$<[TpsDt] = {">=$(=MakeDate(year(TpsDt),Month(TpsDt),day( getfieldselections(TpsDt))))<=$(=MakeDate(year(TpsDt),Month(TpsDt),day( getfieldselections(TpsDt)+6)))"}> }InterNb)

Le seul problème c'est que je  n'arrive pas à calculer ce nombre pour des dates antérieures . Script cumul oxio.png

en indiquant des valeurs négatives, le script ne les reconnait pas...

avez vous une explication?

merci

Johann_sdis17
Contributor III
Contributor III
Author

j'ai trouvé, a priori le code suivant fonctionne.

Sum({<TpsDt={">=$(=Date(getfieldselections(TpsDt)-7))<=$(=Date(getfieldselections(TpsDt)-1))"}> }InterNb)