Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
chris987
Contributor III
Contributor III

Générer des données mois

Bonjour à tous,

Je viens demander assistance à la communauté car j'ai un problème sur le petit bout de script ci-dessous.

Il fonctionne très bien pour générer les données manquantes pour les jours, mais je souhaiterai le transformer pour générer des mois au format AAAAMM.

Est-ce que cela est possible ?

[MinMaxDates]:
LOAD min(Date) as MinDate, max(Date) as MaxDate;


LOAD date(fieldvalue('Date',iterno())) as Date
AUTOGENERATE 1
WHILE len(fieldvalue('Date',iterno())) ;


LET vMinDate = peek('MinDate');
LET vMaxDate = peek('MaxDate');

DROP TABLE MinMaxDates;
[Calendar]:
LOAD date($(vMinDate)+recno()-1) as Date
AUTOGENERATE $(vMaxDate) - $(vMinDate) + 1;

Dans l'attente d'une réponse, je vous souhaite à tous un bon réveillon et un joyeux noël.

Christophe

1 Solution

Accepted Solutions
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Christophe,

Voici un petit bout de script qui va vous donner le résultat espéré.

LET vMinDate=MonthStart('07/01/1991');

LET vMaxDate=MonthStart('24/12/2013');

Calendar:

LOAD Dual( Year(AddMonths('$(vMinDate)', IterNo()-1)) & Date(AddMonths('$(vMinDate)', IterNo()-1), 'MM')

        , Num(MakeDate(Year(AddMonths('$(vMinDate)', IterNo()-1)), Month(AddMonths('$(vMinDate)', IterNo()-1))))

        ) as Calendrier_Annee_Mois

AutoGenerate 1     

While AddMonths('$(vMinDate)', IterNo()-1) <= '$(vMaxDate)';

Joyeuses fêtes!

Philippe

View solution in original post

3 Replies
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Christophe,

Voici un petit bout de script qui va vous donner le résultat espéré.

LET vMinDate=MonthStart('07/01/1991');

LET vMaxDate=MonthStart('24/12/2013');

Calendar:

LOAD Dual( Year(AddMonths('$(vMinDate)', IterNo()-1)) & Date(AddMonths('$(vMinDate)', IterNo()-1), 'MM')

        , Num(MakeDate(Year(AddMonths('$(vMinDate)', IterNo()-1)), Month(AddMonths('$(vMinDate)', IterNo()-1))))

        ) as Calendrier_Annee_Mois

AutoGenerate 1     

While AddMonths('$(vMinDate)', IterNo()-1) <= '$(vMaxDate)';

Joyeuses fêtes!

Philippe

chris987
Contributor III
Contributor III
Author

C'est génial, merci Philippe.

Brice-SACCUCCI
Employee
Employee

Bonjour,

voici de plus un article du blog QlikView à propos de ce genre de cas :

http://community.qlik.com/blogs/qlikviewdesignblog/2013/02/05/populating-a-sparsely-populated-field

Bonne journée,

Brice