Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
afguillard
Contributor III
Contributor III

Pb de calendrier

Bonjour,

Depuis le 2/12/2016, mes inscriptions ne sont plus rattachées à mon calendrier défini dans le script ci-dessous. Pourtant rien n'a été changé dans le script.

Pouvez-vous m'aider ?

Merci

Anne-Flore

LET vStartDate= num(date(MonthStart('31/12/2012'),'YYYYMMDD'));

LET vEndDate= num(date(monthStart(yearend(Today(1))),'YYYYMMDD'));

tmp_Calendar:

LOAD

    Date                    ,

    Month(Date)             as Mois,

    MonthName(Date)         as MonthName,

    Year(Date)              as Année,

    WeekYear(Date) as SemaineAnnée,

    Week(Date)              as Semaine,

    Day(Date)               as Jour,

    QuarterName(Date)       as QuarterName,

    'T' & Ceil(Month(Date)/3) as Trimestre,

    MonthStart(Date)              as StartMonthYear

;

LOAD date($(vStartDate) + IterNo()) as Date

AUTOGENERATE 1

WHILE $(vStartDate) + IterNo() <= $(vEndDate)

;

Calendrier:

LOAD DISTINCT

    Mois,

    Année,

    Jour,

    MonthName,

    Trimestre,

    QuarterName,

    Semaine,

    SemaineAnnée,

    Année&'-'&date(Date,'MM') as Periode

 

RESIDENT tmp_Calendar;   

DROP TABLE tmp_Calendar;

STORE Calendrier into [..\..\06-QVD\Calendrier.QVD] (qvd);

DROP table Calendrier;

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

étrange, chez moi ton code tourne sans problème.

Essaye ça:

LET vEndDate = num(date(DayStart(MonthEnd(yearend(Today(1)))),'YYYYMMDD'));

View solution in original post

6 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

Ton calendrier s'arrête au 1er décembre 2016.

LET vEndDate= num(date(monthStart(yearend(Today(1))),'YYYYMMDD'));

Tu devrait utiliser ça :

LET vEndDate= num(date(monthEnd(yearend(Today(1))),'YYYYMMDD'));

afguillard
Contributor III
Contributor III
Author

J'ai ce message d'erreur au rechargement

Scories après instruction

LOAD date(41244 + IterNo()) as Date

AUTOGENERATE 1

WHILE 41244 + IterNo() <= 42735,999999988

sfatoux72
Partner - Specialist
Partner - Specialist

N'as-tu pas oublié le ";" après cette instruction ?

afguillard
Contributor III
Contributor III
Author

Non, j'ai bien mis un point virgule :

LET vStartDate= num(date(MonthStart('31/12/2012'),'YYYYMMDD'));

LET vEndDate= num(date(monthEnd(yearend(Today(1))),'YYYYMMDD'));

tmp_Calendar:

LOAD

    Date                    ,

    Month(Date)             as Mois,

    MonthName(Date)         as MonthName,

    Year(Date)              as Année,

    WeekYear(Date) as SemaineAnnée,

    Week(Date)              as Semaine,

    Day(Date)               as Jour,

    QuarterName(Date)       as QuarterName,

    'T' & Ceil(Month(Date)/3) as Trimestre,

    MonthStart(Date)              as StartMonthYear

;

LOAD date($(vStartDate) + IterNo()) as Date

AUTOGENERATE 1

WHILE $(vStartDate) + IterNo() <= $(vEndDate)

;

Calendrier:

LOAD DISTINCT

    Mois,

    Année,

    Jour,

    MonthName,

    Trimestre,

    QuarterName,

    Semaine,

    SemaineAnnée,

    Année&'-'&date(Date,'MM') as Periode

 

RESIDENT tmp_Calendar;   

DROP TABLE tmp_Calendar;

STORE Calendrier into [..\..\06-QVD\Calendrier.QVD] (qvd);

DROP table Calendrier;

Et mon fichier Calendrier.qvd comporte bien les dates du 1er au 31 décembre 2016 à présent.

Ci-joint le journal de rechargement :

12/12/2016 10:58:49: 0101  LOAD

12/12/2016 10:58:49: 0102      Date                    ,

12/12/2016 10:58:49: 0103      Month(Date)             as Mois,

12/12/2016 10:58:49: 0104      MonthName(Date)         as MonthName,

12/12/2016 10:58:49: 0105      Year(Date)              as Année,

12/12/2016 10:58:49: 0106      WeekYear(Date) as SemaineAnnée,

12/12/2016 10:58:49: 0107      Week(Date)              as Semaine,

12/12/2016 10:58:49: 0108      Day(Date)               as Jour,

12/12/2016 10:58:49: 0109      QuarterName(Date)       as QuarterName,

12/12/2016 10:58:49: 0110      'T' & Ceil(Month(Date)/3) as Trimestre,

12/12/2016 10:58:49: 0111      MonthStart(Date)              as StartMonthYear

12/12/2016 10:58:49: 0113  LOAD date(41244 + IterNo()) as Date

12/12/2016 10:58:49: 0114  AUTOGENERATE 1

12/12/2016 10:58:49: 0115  WHILE 41244 + IterNo() <= 42735,999999988

12/12/2016 10:58:49:       10 champs trouvés: Date, Mois, MonthName, Année, SemaineAnnée, Semaine, Jour, QuarterName, Trimestre, StartMonthYear, 1 491 lignes récupérées

12/12/2016 10:58:49:       Erreur: Scories après instruction

12/12/2016 10:59:37:       General Script Error

12/12/2016 10:59:37:       Échec de l'exécution

12/12/2016 10:59:37:      Exécution terminée.

sfatoux72
Partner - Specialist
Partner - Specialist

étrange, chez moi ton code tourne sans problème.

Essaye ça:

LET vEndDate = num(date(DayStart(MonthEnd(yearend(Today(1)))),'YYYYMMDD'));

afguillard
Contributor III
Contributor III
Author

Ça fonctionne très bien avec ce nouveau script. Merci beaucoup !!

Anne-Flore