Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je voudrais savoir, si c'est possible d'afficher un KPI en week to date (comme le YTD) sur Qlik Sense ?
Sachant que ma semaine commence le samedis et on lundi.
Mercii bcp et bonne fin de journée
Bonjour
Oui possible en utilisant la fonction weekstart et un set analysis
Dans moin exemple je compare les ventes de la semaine en cours avec les ventes du même nombre de jour de la semaine précédente :
//Semaine en cours
sum({<[DATE_JOUR]={">=$(=Num(WeekStart( Max(DATE_JOUR) ,0,6) ) ) <=$(=Max(DATE_JOUR))"}>}
SALES)
/
// semaine précédente :
sum({<[DATE_JOUR]={">=$(=Num(WeekStart( Max(DATE_JOUR),-1) ) ) <=$(=Max(DATE_JOUR)-7)"}>}
SALES)
WeekStart :
Cette fonction renvoie une valeur correspondant à un horodatage de la première milliseconde du premier jour (lundi) de la semaine calendaire contenant l'argument date. Le format de sortie par défaut correspond au format de date DateFormat défini dans le script.
Syntax:
WeekStart(date [, period_no[, first_week_day]])
Return data type: double
Arguments:
date | Date à évaluer. |
period_no | shift est un entier, où la valeur 0 indique la semaine comprenant l'argument date. Les valeurs négatives spécifiées pour shift indiquent les semaines passées tandis que les valeurs positives désignent les semaines à venir. |
first_week_day | Spécifie le jour où débute la semaine. S'il est omis, c'est la valeur de la variable FirstWeekDay qui est utilisée. Les valeurs possibles pour first_week_day sont les suivantes :
|
-1
Bonjour,
Merci pour votre aide mais il y a une partie que je ne comprends pas la formule, c'est le premier jour de la semaine (partie en gras).
sum({<[DATE_JOUR]={">=$(=Num(WeekStart( Max(DATE_JOUR) ,0,6) ) ) <=$(=Max(DATE_JOUR))"}>}
SALES)
Est-ce que c'est bon si je remplace le 0 par un 5 (sachant mon premier jour de la semaine et le samedi) et le 6 par 4 (c'est mon dernier jour de la semaine) ?
Ce que j'ai fais c'est ça :
sum({<[FCLOSED_DATE]={">=$(=Num(WeekStart( Max(FCLOSED_DATE) ,5,4) ) ) <=$(=Max(FCLOSED_DATE))"}>}
if(match(ENTITE, 'INTERNE', 'VIPP', 'MC', 'SITEL'),(PID_GLASS_HORS_BOL+PID_GLASS_BOL)))
/
sum({<[FCLOSED_DATE]={">=$(=Num(WeekStart( Max(FCLOSED_DATE) ,5,4) ) ) <=$(=Max(FCLOSED_DATE))"}>}
if(match(ENTITE, 'INTERNE', 'VIPP', 'MC', 'SITEL')
and Match(FAMILLE,'00','11','12','13','14','20'),JOB))
J'ai l'impression que ça ne marche pas ...
Merci bcp 🙂
Bonjour
Est-ce que c'est bon si je remplace le 0 par un 5 (sachant mon premier jour de la semaine et le samedi) et le 6 par 4 (c'est mon dernier jour de la semaine)
Non dans la formule weekstart , la première valeur
si 0 = la semaine de la darte considérée, Si -1 la semaine antérieure de la semaine considérée , si + 1 la semaine suivante de la semaine considérée,
la seconde valeur indique le jour de début de semaine 0 = lundi, 1 = mardi , 2 = mercredi, 3 = jeudi, 4 = vendredi, 5 = samedi , 6 = dimanche.
PAr défaut le début de semaine est = à 0 soit le lundi
tu peux changer dans le script main :
remplacer ceci
SET FirstWeekDay=0; (début de semaine = lundi , fin = dimanche)
par ceci
SET FirstWeekDay=5; (début de semaine = samedi , fin = vendredi)