Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour
je charge des données de 2016 avec des dates non formatées. 1 fichier consommation + 1 fichier livraison
champ : [datelivraison]) & [semaineLivraison]
Je charge un script de calendrier que j'associe avec mes dates (ci dessous)
or [datelivraison]) & [semaineLivraison] et mes [Semaine] ne coïncident pas avec mon calendrier . J'ai un décalage de Numéro de semaine entre mes fichiers et mon calendrier .
De plus je vais intégrer des données en 2017 avec là encore un décalage de Numéro de semaine..
donnée du calendrier date issues de mes données
Comment résoudre ce problème ?
Merci de vos retours
Calendrier:
// Définir les Dates Min et Max
Let vMinDate = Num(Makedate(2016,1,1));
//Let vMaxDate = Num(Makedate(2016,12,31));
Let vMaxDate = Num(Makedate(Year(Now()),Month(Now()),Day(Now())));
//LET vMinDate = Num(peek('VentesDate',0,'Ventes'));
//LET vMaxDate = Num(peek('VentesDate',-1,'Ventes'));
// 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 = ;
Bonjour
Merci c'est exactement ça ça marche d'un seul coup !!
non je n'avais pas ces données par défaut (et je ne touche pas encore aux SET) ...
par défaut j'ai ces données..
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
Faut il que je corrige ces set à chaque nouveau projet ou j'ai des dates?
ps: pour une question sur les QVD, je refais un post?
Tes variables d'environnement contiennent-elles ces 3 variables?
Si oui, sont-elles définie de cette manière?
SET FirstWeekDay=0;
SET BrokenWeeks=0;
SET ReferenceDay=4;
Cette configuration qui est normalement celle par défaut de Qlik, définit les semaine avec la norme ISO (Numérotation ISO des semaines — Wikipédia) ce qui à l'air d'être le cas de tes semaine de livraison ==> 4 janvier 2016 est dans la semaine 1
Bonjour
Merci c'est exactement ça ça marche d'un seul coup !!
non je n'avais pas ces données par défaut (et je ne touche pas encore aux SET) ...
par défaut j'ai ces données..
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
Faut il que je corrige ces set à chaque nouveau projet ou j'ai des dates?
ps: pour une question sur les QVD, je refais un post?
Ces variable sont définie par défaut en fonction de votre environnement (setting windows).
OUI, Si vous ne pouvez pas changer les setting de Windows, il faudra toujours les modifiers.
Du coup vérifier les autres setting. Pour info, voici ceux que j'ai par défaut (pour la Suisse) :
SET ThousandSep=' ';
SET DecimalSep='.';
SET MoneyThousandSep=' ';
SET MoneyDecimalSep='.';
SET MoneyFormat='CHF # ##0.00;CHF-# ##0.00';
SET TimeFormat='hh:mm:ss';
SET DateFormat='DD.MM.YYYY';
SET TimestampFormat='DD.MM.YYYY hh:mm:ss[.fff]';
SET FirstWeekDay=0;
SET BrokenWeeks=0;
SET ReferenceDay=4;
SET FirstMonthOfYear=1;
SET CollationLocale='fr-CH';
SET MonthNames='janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.';
SET LongMonthNames='janvier;février;mars;avril;mai;juin;juillet;août;septembre;octobre;novembre;décembre';
SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';
SET LongDayNames='lundi;mardi;mercredi;jeudi;vendredi;samedi;dimanche';
OUI, une question par post 😉
Afin de compléter la réponse de Sébastien et faciliter la gestion des "SET et LET" communs à chaque début de script, une solution simple consiste à les centraliser tous dans un simple fichier .Txt au format ASCI I (par exemple <C:\monchemin\monfichierSETLET.txt>, puis de ne rappeler en début de chaque script via l'instruction :
en chemin "absolu" :
$(Include=C:\monchemin\monfichierSETLET.txt);
ou en chemin "relatif", par exemple si tes applis se trouvent dans C:\monchemin\mesapplis :
$(Include=..\monfichierSETLET.txt);
Fait une recherche sur le mot clé INCLUDE dans la communauté ou directement dans l'aide intégrée :
$(Must_Include =nomdefichier )
Les variables include et must_include indiquent un fichier qui contient le texte à inclure dans le script. Le script entier peut ainsi être mis dans un fichier. Il s'agit d'une variable définie par l'utilisateur.
Les variables include et must_include se différencient par le fait que include se solde par un échec silencieux si le fichier est introuvable pendant le rechargement du script tandis que must_include génère une erreur lorsque cette situation se produit.
Exemples :
$(Include=abc.txt);
$(Must_Include=def.txt);
En d'autres termes, la construction set Include =nomdefichier n'est pas applicable.