Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour.
J'ai crée une liste de jours fériés dynamique en fonction des dates chargées:
Let listeFeries = Null();
Set DateDebut = =Year(Min($(CreationDate_Field)));
Set DateFin = =Year(Max($(CreationDate_Field)));
For Annee=DateDebut To 2017
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 1, 1) & chr(39); // Jour de l'an
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 5, 1) & chr(39); // Fete du travail 1er Mai
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 5, 😎 & chr(39); // Armistice 1945 8 Mai
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 7, 14) & chr(39); // Fete National 14 Juillet
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 8, 15) & chr(39); // Assomption 15 Aout
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 11, 1) & chr(39); // Toussaint 1er Novembre
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 11, 11) & chr(39); // Armistice 1918 11 Novembre
listeFeries=listeFeries & ',' & chr(39) & makedate($(Annee), 12, 25) & chr(39); // Noel
DatePaques = Date(Round(makedate($(Annee),4,day(Minute($(Annee)/38)/2+55))/7)*7-6); // Dimanche de Paques
listeFeries=listeFeries & ',' & chr(39) & DatePaques & chr(39); // Dimanche de Paques
listeFeries=listeFeries & ',' & chr(39) & Date((DatePaques + 1), 'DD/MM/YYYY') & chr(39); // Lundi de Paques
listeFeries=listeFeries & ',' & chr(39) & Date((DatePaques + 39), 'DD/MM/YYYY') & chr(39); // Jeudi de l'Ascension
listeFeries=listeFeries & ',' & chr(39) & Date((DatePaques + 49), 'DD/MM/YYYY') & chr(39); // Dimanche de Pentecote
listeFeries=listeFeries & ',' & chr(39) & Date((DatePaques + 50), 'DD/MM/YYYY') & chr(39); // Lundi de Pentecote
Next
Let listeFeries = Mid(vlisteFeries,2);
let DatePaques = Null();
Let Annee = Null();
Ce script marche très bien, mais comme vous le voyez, j'ai saisi la date 2017 en dur dans la boucle for. Je ne comprends pas pourquoi ceci: For Annee=DateDebut To DateFin , me renvoie une erreur:
Syntax error
Unexpected token: '1', expected nothing
listeFeries=listeFeries & ',' & chr(39) & makedate(-, >>>>>>1<<<<<<, 1) & chr(39)
Du coup je ne peux pas avoir de borne supérieure dynamique ce qui m’embête.
Cordialement
Bonjour Jean Eude.
As-tu eu le temps de regarder un peu ce script?
Cordialement.
Bertrand,
Vu que ton script fonctionnait avec 2017 en dur, as-tu essayé si cela fonctionnait avec Year(Today()) ?
Kevin
Bonjour Kevin.
Oui ça fonctionne. Mais certains rapports s'arrêtent en 2015 donc ça m'embête de créer une liste jusqu'à la date du jour.
Il me manque aussi la borne inférieure.
Cordialement,
Et c'est normal qu'il y a 2 fois "=" dans ton set ?
Set DateDebut = =Year(Min($(CreationDate_Field)));
Set DateFin = =Year(Max($(CreationDate_Field)));
As-tu essayé :
Set DateDebut = Year(Min($(CreationDate_Field)));
Set DateFin = Year(Max($(CreationDate_Field)));
For Annee=$(DateDebut) To $(DateFin)
-------------
OU
--------------
Let DateDebut = Year(Min($(CreationDate_Field)));
Let DateFin = Year(Max($(CreationDate_Field)));
For Annee=DateDebut To DateFin
Kevin
Oui j'ai essayé:
Syntax error
Unexpected token: ')', expected: 'TO'
For Annee=Year(Min([Date de création])>>>>>>)<<<<<< To Year(Max([Date de création]))
OU
Syntax error
Unexpected token: ')', expected nothing
Let DateDebut = Year(Min([Date de création])>>>>>>)<<<<<<
Ta variable CreationDate_Field n'a t'elle pas une parenthèse en trop à la fin ?
Kevin
Je ne pense pas. Sinon je pense que j'aurai eu une erreur autre part. De plus, dans le log d'erreur on voit bien: DateDebut = Year(Min([Date de création])>>>>>>)<<<<<< Ce qui semble normal bien que ça me ramène une erreur.
Peut-être faudrait-il faire une table temporaire où tu calculerais le min de ta date de création (sans oublier le group by).
Exemple :
TABLE_TEMP :
Load rapports,
year(min([Date de création])) as Minimum_Date
Resident ....
Group by rapports;
Puis tu créerais une variable à partir de cela :
Let DateDebut = Num(Minimum_Date);
ou peut-être un problème de format :
Let DateDebut = Year(Min(Date([Date de création],'DD/MM/YYYY')));
Kevin