Skip to main content
Announcements
YOUR OPINION MATTERS! Please take the Qlik Experience survey you received via email. Survey ends June 14.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

calendrier

Bonjour ,

J'ai le champ Date sous cette forme [mois_année]  et je voudrais voir mes analyses en mois , trimestre , année . Pour cela j'aimerais bien que vous m'aidez à crée ce calendrier . Merci d'avance

1 Solution

Accepted Solutions
almamy_diaby
Creator
Creator

Si la date est sous cette forme YYYY-MM

Mois: month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) as Mois,

Pour le trimestre: 'T' & ceil(month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) / 3) as TRIMESTRE;

Pour l'année:  left(Champdate,4) as Annee,

View solution in original post

8 Replies
almamy_diaby
Creator
Creator

bonjour

Pour le mois : Month('01/'&ChampDate) as MOIS,

Pour le trimestre: 'T' & ceil(month('01/'&ChampDate) / 3) as TRIMESTRE,

Pour l'année: Year('01/'&ChampDate) as Annee,

rfe
Employee
Employee

Bonjour,

winnerdiaby a raison mais il faut que les dates soient stockées sous le format 01/2013

si ce n'est pas le cas, il faut retravailler l'expression

Dans quel format sont vos données [mois_année] ?

Not applicable
Author

Bonjour Raynald,

mon cham date est sous cette format :

'['&$(année)&' - '&$(mois)&']'

les mois pruvent varier bien sur de 01 à 12 et les année de 2010 à 2014

Je veux afficher un calendrier à travers lequel je peux selectionner en trimestre en année et en mois

Merci d'avance

hic
Former Employee
Former Employee

Si j'ai bien compris, la date ressemble [2013-04].

Si c'est le cas, je préfère utiliser la fonction Date#() pour interpréter la date et aucune opération de texte.

Load *,

          Year(Date) as Année,

          Month(Date) as Mois,

          Ceil(Month(Date)/3) as Trimestre;

Load

          Date#(Purgechar(ChampDate,'[]'),'YYYY-MM') as Date

          ...

HIC

almamy_diaby
Creator
Creator

Si la date est sous cette forme YYYY-MM

Mois: month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) as Mois,

Pour le trimestre: 'T' & ceil(month('01/'&right(Champdate,2)&'/'&left(Champdate,4)) / 3) as TRIMESTRE;

Pour l'année:  left(Champdate,4) as Annee,

Not applicable
Author

Merci Pour votre réponse HIC mais malheureusement les champs résultant snt vides je ne sais pas pourquoi Voici mon script est ce que vous pourriez m'aider à le corriger; Merci d'avance 

Calendrier:

Load*,

Year(Date) as Année,

Month(Date) as Mois,

Ceil(Month(Date)/3) as Trimestre;

Load

Date#(Purgechar(Date,'[]'),'YYYY-MM') as Date

resident Vente;

Not applicable
Author

Ca  fonctionne Merciii infiniment Winnerdiaby . Merci à tous  pour vos réponses

almamy_diaby
Creator
Creator

DATES_TEMP:

LOAD distinct 

    date(trim('01/'&right(Champdate,2)&'/'&left(Champdate,4)),'DD/MM/YYYY') as DATE

RESIDENT Vente WHERE (len(DATE)>0);

NoConcatenate

DATES:

Load distinct date(DATE) as QUERY_DATE

RESIDENT DATES_TEMP

ORDER BY DATE ASC;

drop table DATES_TEMP;

LET varMinDate = round(Num(Peek('QUERY_DATE', 0,'DATES')));

LET varMaxDate = round(Num(Peek('QUERY_DATE', -1,'DATES')));

TEMPCALENDRIER:

LOAD $(varMinDate) + rowno() - 1 AS Num,

           date($(varMinDate) + rowno() - 1) AS TempDate

AUTOGENERATE $(varMaxDate) - $(varMinDate) + 1;

//CALENDRIER:

TEMPS:

LOAD distinct trim(date(TempDate)) AS DATE,

Week(TempDate) AS SEMAINE,

Year(TempDate) AS ANNEE,

Month(TempDate) AS MOIS,

Day(TempDate) AS JOUR,

Weekday(TempDate) AS JOUR_SEMAINE,

'T' & ceil(month(TempDate) / 3) AS TRIMESTRE,

MonthName(TempDate) AS MOIS_ANNEE,

Week(TempDate)&'-'&Year(TempDate) AS SEMAINE_ANNEE

RESIDENT TEMPCALENDRIER ORDER BY TempDate ASC;

drop table DATES;

drop table TEMPCALENDRIER;