Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Johann_sdis17
Contributor III
Contributor III

somme de valeurs entre 2 dates

Bonjour,

je travail avec Qlik Sens, je n'ai pas accès à la création des variables et je ne peux pas agir sur le chargement des données.

je peux simplement créer des fonctions dans mes vues grâce à l'éditeur d'expression.

Je souhaite compter le nombre d'interventions entre 2 dates, mais je ne souhaite pas laisser l'utilisateur les choisir.

Ma première date correspond au dernier jour du dernier mois complet (ex: nous sommes le 27/11/2019, le dernier jour du dernier mois complet est donc le 31/10/2019)

Ma deuxième date correspond au 1er jour du 1er des 12 derniers mois selon la 1ere date retenue plus haut ( ex : nous sommes le 27/11/2019, ce 1er jour correspond donc au 01/11/2018)

Jusque là ça va, par contre, je n'arrive pas à formuler mon calcul entre ces 2 dates.

j'ai essayé:

Sum({<TpsDt={">=MaPremiereDate"}>*<TpsDt={"<=MaSecondeDate"}>}InterventionNb)

le correcteur n'indique pas d'erreur, mais mon résultat est 0...

ma formule est elle correcte?

j'ai trouvé sur ce forum différentes  formulations, mais aucune ne semble fonctionner dans mon cas.

Merci à tous.

Johann

 

 

1 Solution

Accepted Solutions
Taoufiq_Zarra

Bonjour Johann,

alors tu as fait le plus dure 🙂

si tu as trouver comment calculer les deux variables : MaPremiereDate et MaSecondeDate.

voici un exemple :

j'ai chargé dans le script les données :

datt.PNG

supposons que j'ai les deux variables, j'ai afficher les variables par exemple

datt.PNG

je te propose d'ajouter le code suivant pour calculer la somme entre ces deux variables :

='la valeur :'& Num(Sum({<[SDate] = {">=$(=MaPremiereDate)<=$(=MaSecondeDate )"}> } InterventionNb),'##.00')

 

le résultat est :

datt.PNG

bonne chance pour la suite

Taoufiq

Regards,
Taoufiq ZARRA

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

(you can mark up to 3 "solutions") 😉

View solution in original post

5 Replies
Taoufiq_Zarra

Bonjour Johann,

alors tu as fait le plus dure 🙂

si tu as trouver comment calculer les deux variables : MaPremiereDate et MaSecondeDate.

voici un exemple :

j'ai chargé dans le script les données :

datt.PNG

supposons que j'ai les deux variables, j'ai afficher les variables par exemple

datt.PNG

je te propose d'ajouter le code suivant pour calculer la somme entre ces deux variables :

='la valeur :'& Num(Sum({<[SDate] = {">=$(=MaPremiereDate)<=$(=MaSecondeDate )"}> } InterventionNb),'##.00')

 

le résultat est :

datt.PNG

bonne chance pour la suite

Taoufiq

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

Merci pour ta réponse.

Bon effectivement cela ressemble globalement à ce que j'ai fait, j'ai corrigé pour que cela corresponde au maximum à ta proposition, et ça fonctionne...

Voila ma formule en détail, ne rit pas...je n'ai pas trouvé plus simple

 

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

 

Merci...encore

Johann_sdis17
Contributor III
Contributor III
Author

Re... 🤔

je rassemble le résultat d'une sélection dans un objet "Table", contenant la date de l'intervention, le numéro de l'intervention etc...

Crois tu qu'il soit possible d’intégrer cette formule dans la dimension "date" de cette table pour figer la sélection "en dur"?

en supprimant l’agrégation, j'obtiens:

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

mais cela m'affiche une erreur, et j'utilise certainement la mauvaise syntaxe....

je ne sais pas si j'ai été claire là...

Taoufiq_Zarra

Justement pas très claire 🙂

une chose on ne peux pas utiliser du Set Analysis, le truc entre {} si nous utilisons pas une fonction de mesure de type sum, max,...

donne moi plus de détail de ce que tu veux faire, mais déjà je vois de loin la fonction only()

 

Cdt,

Taoufiq

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

Et bien je souhaite proposer aux utilisateurs une feuille ou ils n'ont que le nom d'un centre à sélectionner.

La plus part du temps, je dois faire;

  • une feuille pour la période en cours, (du 1/1/2019 au dernier mois complet de l'année) avec toute l'activité du centre et l'évolution par rapport à la même période n-1. Ça ok
  • Ensuite je dois régulièrement faire le même travail, mais pour les 12 derniers mois glissants… et là, ça se complique car je n'arrive pas à présenter ce comparatif avec la même feuille…

Bonjour,

C'est pour cela que je souhaite optimiser au maximum mes formules en calculant les périodes de début et de fin par rapport à la date du jour pour chaque tableau.

Je souhaiterais que ma feuille contienne un tableau "simple " paramétré en dur sur la période de l'année en cours, et un autre tableau paramétré également en dur sur les 12 mois glissants.

Sauf que je n'arrive pas à définir les paramètres de date directement dans mes tableaux (une sorte de filtre forcé indépendant de la sélection faite par les utilisateurs)

j’espère que c'est plus claire...

merci