Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
jmialoundama
Specialist
Specialist

Création calendrier avec ajout automatique des années

Bonjour,

J'ai mis en place un calendrier de la manière suivante :

Calendrier:

load * inline [

WeekMonthNum,WeekMonthName

1, janu. 

2, feb.

3, march

4, apr.

5, may

6, june

7, july

8, aug

9, sept.

10,oct.

11,nov.

12,dec.

];


Cependant je souhaiterai mettre en place une colonne année (avec l'année qui commence en 2015) afin d'utiliser cette colonne dans un volet filtre par la suite.

Cependant je souhaiterai que l'année en cours s'ajoute automatiquement dans mon volet filtre tout en préservant les anciennes années.

Par exemple je souhaiterai avoir une colonne année comme ceci :

YEAR

2015

2016

2017

lorsque nous serons en 2018, je souhaiterai que le 2018 s'ajoute automatiquement.

Dans un premier temps comment créer ma colonne année ? et dans un deuxième temps est-ce possible de rendre automatique l'ajout de l'année dans le volet filtre ?

Merci d'avance

1 Solution

Accepted Solutions
kevinchevrier
Partner - Creator III
Partner - Creator III

Dans ton cas, ça donne donc :

// Définir les Dates Min et Max

Let vMinDate = Num(Makedate(2015,1,1));

Let vMaxDate = Num(Makedate(Year(Now()),12,31));

// Générer toutes les dates possibles entre la date Min et la Date Max

ChampDate:

LOAD date($(vMinDate)+IterNo()-1) AS MaDate

AUTOGENERATE (1)

WHILE $(vMinDate)+IterNo()-1<= $(vMaxDate);

// Créer une table Calendrier qui va contenir les différentes représentations des dates

Calendrier:

LOAD

MaDate AS Date,

Year(MaDate) AS Année,

'T ' & Num(Ceil(Month(MaDate)/3),'(ROM)0') AS Trimestre,

Month(MaDate) as Mois,

MonthEnd(MaDate)as DateFinMois,

Week(MaDate) AS Semaine,

Weekday(MaDate) AS JourSemaine,

Day(MaDate) AS Jour

RESIDENT ChampDate;

//supprimer la table ChampDate

DROP TABLE ChampDate;

//Supprimer les variables vMinDate et vMaxDate

SET vMinDate = ;

SET vMaxDate = ;

View solution in original post

3 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

kevinchevrier
Partner - Creator III
Partner - Creator III

Dans ton cas, ça donne donc :

// Définir les Dates Min et Max

Let vMinDate = Num(Makedate(2015,1,1));

Let vMaxDate = Num(Makedate(Year(Now()),12,31));

// Générer toutes les dates possibles entre la date Min et la Date Max

ChampDate:

LOAD date($(vMinDate)+IterNo()-1) AS MaDate

AUTOGENERATE (1)

WHILE $(vMinDate)+IterNo()-1<= $(vMaxDate);

// Créer une table Calendrier qui va contenir les différentes représentations des dates

Calendrier:

LOAD

MaDate AS Date,

Year(MaDate) AS Année,

'T ' & Num(Ceil(Month(MaDate)/3),'(ROM)0') AS Trimestre,

Month(MaDate) as Mois,

MonthEnd(MaDate)as DateFinMois,

Week(MaDate) AS Semaine,

Weekday(MaDate) AS JourSemaine,

Day(MaDate) AS Jour

RESIDENT ChampDate;

//supprimer la table ChampDate

DROP TABLE ChampDate;

//Supprimer les variables vMinDate et vMaxDate

SET vMinDate = ;

SET vMaxDate = ;

jmialoundama
Specialist
Specialist
Author

Merci  , c'est parfait et ça correspond a ce que je souhaites!