Skip to main content

Francophones

Announcements
An issue has been identified on Qlik Cloud hub, please visit our Status Update Page for details: GET THE LATEST
cancel
Showing results for 
Search instead for 
Did you mean: 
yassirbajjou
Contributor
Contributor

Graphique displays last 30 days / Graphique avec 30 jours glissants

Bonjour à toutes et à tous,

Je souhaiterais afficher dans plusieurs graphiques les données sur 30 jours glissant en fonction de la dernière date de chargement (v_max_date).

Je dois pouvoir garder en chargement toutes mes données mais n'afficher dans mes objets graphiques ou tableaux de données les 30 derniers jours calendaire à la demande.

Merci pour votre aide

==================================================================================================

Hello everyone,

I would appear in several graphic data 30 days slippery depending on the last date of loading (v_max_date).

I have to keep all my data loading but in my view graphic objects and data tables last 30 calendar days from the request.

Thanks for your help

5 Replies
almamy_diaby
Creator
Creator

Bonjour,


je vois que v_max_date est  la dernière date de chargement,


alors je suppose que le code de la variable est:


Let  v_max_date= date(today(),'DD/MM/YYYY');


tu peux également : créer une autre variable pour le trentième jour avant v_max_date


let v_min_date= num(date(today(),'DD/MM/YYYY'))- 30;


tu vas au niveau de la table où il ya la date de référence , tu crée un nouveau champ à partir de la date:

par exemple:

TABLE:

LOAD

    Jour,

    num(Jour) as num_jour,

    Nbre

FROM

test.xlsx

(ooxml, embedded labels, table is Feuil1);


dans chaque graphique tu utilise le set analysis suivant:  {$< num_jour = {">$(v_min_date)"}>}



je joins une application test: regarde bien l'objet test









yassirbajjou
Contributor
Contributor
Author

Bonjour Almamy DIABY,

Merci pour ta réponse.

J'ai déjà pensé à une variable avec les 30 jours précédents comme ceci:


vMaxDate = Max(Date)

v30glissant =date(vMaxDate-30,'DD/MM/YYY')

Et je pensais plutôt à une solution à mettre directement dans le graphique:

{$<[Date] = {>=$(v30glissant)}>}

Merci par avance,

Yassir

maxgro
MVP
MVP

I think you can add a flag field (Flag30Days) to your calendar (or date dimension) to identify the last 30 days dates; the set analysis in the chart will'be very simple.

sum({$ <Flag30Days={1}> something}

yassirbajjou
Contributor
Contributor
Author

That's what I did:

on Script Date: Date(today()-30) as Flag30Days

And on Expression Object:  =sum({$ <[Flag30Days]={1}> [Qty_Data]}

But it don't work.

Regards,

Yassir

maxgro
MVP
MVP

this is my test script

load

  date(makedate(2014) + rowno()-1) as Date,

  if(date(makedate(2014) + rowno()-1) > (today() - 30)

  and date(makedate(2014) + rowno()-1) <= today(),1,0) as Flag30Days

AutoGenerate 730;

load

  date(makedate(2014) + floor(rand()*730)) as Date,

  ceil(rand()*100) as Exp1

AutoGenerate 10000;

and this the chart with the set analysis

dimension    Date

expression    sum({$ <Flag30Days={1}>} Exp1)

please look at the attachment