Skip to main content
Announcements
Jan 15, Trends 2025! Get expert guidance to thrive post-AI with After AI: REGISTER NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Jérôme5625
Creator
Creator

Difficultés avec les dates sur QLIK!!

Bonjour, 

J'ai un problème simple sur laquelle je ne parviens à trouver une solution. Je souhaite faire un graphique des 5semaines glissantes du nombre d'equipement mais j'ai réellement des problèmes avec les champs date. En effet, QLIK est très contraignant avec les dates.....

Je souhaitais dans un premier temps le faire facilement dans une feuille sans passer par une modification du script mais avec le set anlaysis, les calculs sont décalés. 

Je me suis penché sur la solution avec script mais je n'arrive pas à faire utiliser le filtre car il ne ressort rien.

Si vous pouvez m'aider, ce serait bien. Merci d'avance et bonnes fêtes de fin d'année.

 

 

ZOFSUIVI:
LOAD
equipement,
Date(Date#(ZOFSUIVI_V.280, 'DD/MM/YYYY')) AS Date_ZOFSUIVI_V
FROM [lib://Load Excel/TEST JT/ZOFSUIVI.xlsx]
(ooxml, embedded labels, table is ProvtestZOFSUIVI);


// Calculer la date d'aujourd'hui
LET vToday = Date(Today(), 'DD/MM/YYYY');

[FilteredZOFSUIVI]:
LOAD
equipement,
Date_ZOFSUIVI_V
RESIDENT [ZOFSUIVI]
WHERE Date_ZOFSUIVI_V <= $(vToday);

DROP TABLE [ZOFSUIVI];

 

Labels (4)
1 Solution

Accepted Solutions
brunobertels
Master
Master

Re, 

OK 

LE PB vient de la dimension et des formats : 

brunobertels_0-1735043703668.png

 

If(WeekStart(ZOFSUIVI_V.280) >= Week(Today()) -5, Week(ZOFSUIVI_V.280))

Week start renvoi un Timestamp et Week un nombre 

tentons ceci 

If(week(WeekStart(ZOFSUIVI_V.280) )>= Week(Today()) -5, Week(ZOFSUIVI_V.280))

View solution in original post

8 Replies
diegozecchini
Creator III
Creator III

Hi!
If your calculations in the chart are misaligned, it may be due to incorrect date interpretation or syntax. Here's an example of Set Analysis to display the last 5 rolling weeks:


Count({< Date_ZOFSUIVI_V = {"=Date_ZOFSUIVI_V >= AddMonths(Today(), -1)"} >} equipement)

Date_ZOFSUIVI_V >= AddMonths(Today(), -1) selects data from the past 5 weeks (approximately one month).

If you want to avoid issues with filters in Set Analysis, you can calculate rolling weeks directly in the script:

[ZOFSUIVI]:
LOAD
equipement,
Date(Date#(ZOFSUIVI_V.280, 'DD/MM/YYYY')) AS Date_ZOFSUIVI_V,
WeekStart(Date(Date#(ZOFSUIVI_V.280, 'DD/MM/YYYY'))) AS Start_Week,
Week(Date(Date#(ZOFSUIVI_V.280, 'DD/MM/YYYY'))) AS WeekNumber
FROM [lib://Load Excel/TEST JT/ZOFSUIVI.xlsx]
(ooxml, embedded labels, table is ProvtestZOFSUIVI);

// Filter for the last 5 weeks
LET vToday = Today();
LET vStartDate = AddMonths(vToday, -1); // 5 weeks ≈ 1 month

[FilteredZOFSUIVI]:
LOAD
equipement,
Date_ZOFSUIVI_V,
Start_Week,
WeekNumber
RESIDENT [ZOFSUIVI]
WHERE Date_ZOFSUIVI_V >= $(vStartDate) AND Date_ZOFSUIVI_V <= $(vToday);

DROP TABLE [ZOFSUIVI];

Ensure that your Date_ZOFSUIVI_V field is interpreted as a date. Verify this in the "Data Model Viewer."
If Date_ZOFSUIVI_V appears as text, it will cause issues. Confirm that Date(Date#(...)) properly converts the field to a date.
Finally when the dates are filtered in the script, use a dimension based on weeks (Start_Week) for the chart and add a simple measure: Count(equipement)

Jérôme5625
Creator
Creator
Author

Merci pour ta réponse. ta solution avec le set analysis est en cours de test mais quelle dimension faut il mettre car je vois toutes les dates?

J'ai mis week(ZOFSUIVI_V.280) en dimension (abscisses et la mesure Count({< Date_ZOFSUIVI_V = {"=Date_ZOFSUIVI_V >= AddMonths(Today(), -1)"} >} equipement) mais je visualise le résultat suivant. Merci d'avance pour votre retour

Jrme5625_1-1735037527751.png

Jrme5625_2-1735037704510.png

 

Je souhaiterai n'avoir que les 5 semaines en abscisse.

Merci de votre retour afin que je puisse enfin solder cette demande. 

 

diegozecchini
Creator III
Creator III

Hi! Currently, the week(ZOFSUIVI_V.280) dimension is showing all weeks. You need to restrict it to only the last 5 weeks. Try modifing the dimension using the following calculated dimension:

=If(WeekStart(ZOFSUIVI_V.280) >= AddWeeks(Today(), -5), Week(ZOFSUIVI_V.280))
This will ensure that only weeks from the last 5 weeks appear in the chart.

Your measure is correct for counting equipment over the last 5 weeks. Ensure it remains as:

Count({< Date_ZOFSUIVI_V = {"=Date_ZOFSUIVI_V >= AddWeeks(Today(), -5)"} >} equipement)
This ensures the count only includes data from the past 5 weeks.

 

Jérôme5625
Creator
Creator
Author

Merci. j'ai un message qui m'indique ADDWEEKS is not a valid function?

brunobertels
Master
Master

essaye çà : 

 Week(Today()) -5

Jérôme5625
Creator
Creator
Author

Merci 

dimension de mon graphique : 

=If(WeekStart(ZOFSUIVI_V.280) >= Week(Today()) -5, Week(ZOFSUIVI_V.280))

mesure de mon graphique: Count({< [Date_ZOFSUIVI_V] = {"=Date_ZOFSUIVI_V >= AddWeeks(Today(), -5)"} >} equipement)

 

Mais le graphique reste toujours avec toutes les semaines...

 

Je ne comprends pas pourquoi QLIK Sense n'a pas pris en compte une utilisation simple des dates avec des graphiques en mois glissants, semaines glissantes... On travaille pour éviter des tableaux excel et nous restons bloqués sur QLIK pour ce type de graphique hyper simple sur Excel; c'est bien dommage.

Votre avis svp?

Jrme5625_0-1735042997665.png

 

Bon après midi

brunobertels
Master
Master

Re, 

OK 

LE PB vient de la dimension et des formats : 

brunobertels_0-1735043703668.png

 

If(WeekStart(ZOFSUIVI_V.280) >= Week(Today()) -5, Week(ZOFSUIVI_V.280))

Week start renvoi un Timestamp et Week un nombre 

tentons ceci 

If(week(WeekStart(ZOFSUIVI_V.280) )>= Week(Today()) -5, Week(ZOFSUIVI_V.280))

Jérôme5625
Creator
Creator
Author

Bonjour, après petite correction c'est parfait, merci Bruno