<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Calendrier QlikView in Francophones</title>
    <link>https://community.qlik.com/t5/Francophones/Calendrier-QlikView/m-p/1479183#M14016</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;Bonjour,&lt;/P&gt;&lt;P&gt;Dans ce tutoriel nous allons voir comment créer un Calendrier sur QlikView comportant les dates qui vous intéressent.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Pour créer ce calendrier, on passera par les quatre étapes suivantes :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 1- Définir une date de début et une date de fin pour le calendrier&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 2- Générer toutes les dates possibles entre les dates min et max définies précédemment&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 3- Créer les différentes présentations des dates (Année, mois, semaines, ...)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 4- Nettoyer ce qui n'est plus utile (tables et variables)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Vous êtes prêts ? commençons ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1- Définir une date de début et une date de fin pour le calendrier&lt;/STRONG&gt;&lt;BR /&gt;Le calendrier doit avoir une date de début et une date de fin (ce qu'est logique !). Selon les besoins de votre application, ces dates peuvent êtres définies de plusieurs façons. Je vais vous donner trois manières de les définir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a- On peut définir une date en la saisissant en dur. Je vous conseil, si vous optez pour cette façon de faire, de l'utiliser uniquement pour définir la date minimum du calendrier.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;b- Définir une date à partir de la date système, notamment pour la date maximum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c- J'ai laissé le meilleur pour la fin ;), il s'agit de récupérer la date minimum et la date maximum de la table qui contient vos dates (Exemple: Table "ventes", champ: "DatesVentes").&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Ci-dessous un exemple pour chacune des ces façons de faire.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMinDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;Makedate&lt;/SPAN&gt;(2010,1,1)); &lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMaxDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;Makedate&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Year&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(&lt;SPAN style="color: #0000ff;"&gt;Now&lt;/SPAN&gt;()),&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Month&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(&lt;SPAN style="color: #0000ff;"&gt;Now&lt;/SPAN&gt;()),&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Day&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(&lt;SPAN style="color: #0000ff;"&gt;Now&lt;/SPAN&gt;())));&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;/P&gt;&lt;P class="number4 line index3 alt1"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMinDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;peek&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'VentesDate'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;,0,&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'Ventes'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;));&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index4 line alt2 number5"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMaxDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;peek&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'VentesDate'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;,-1,&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'Ventes'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;));&lt;/CODE&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV class="sql syntaxhighlighter"&gt;&lt;DIV class="toolbar"&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;La fonction &lt;SPAN style="color: #0000ff;"&gt;peek()&lt;/SPAN&gt; vous permet de récupérer un enregistrement dans une colonne d'une table. "0" pour le premier enregistrement et "-1" pour le dernier enregistrement.&lt;BR /&gt; Néanmoins, l'utilisation efficace de cette fonction nécessite que votre colonne de date soit ordonnée de manière &lt;STRONG&gt;ascendante&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;STRONG&gt;2- Générer toutes les dates possibles entre les dates min et max définies précédemment&lt;/STRONG&gt;&lt;/DIV&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;Une fois que vous avons nos dates min et max, nous allons procéder à la génération de toutes les dates possibles entres ces dates extrêmes.&lt;/P&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;&lt;BR /&gt; Notre première date est évidemment la date min et la seconde date sera égale à la date min +1 et ainsi de suite jusqu'à la date max.&lt;BR /&gt; Ainsi, en utilisant une boucle &lt;SPAN style="color: #0000ff;"&gt;WHILE&lt;/SPAN&gt; on va &lt;EM&gt;&lt;STRONG&gt;autogénérer&lt;/STRONG&gt;&lt;/EM&gt; une valeur de 1 pour incrémenter la valeur initiale (vMinDate) jusqu'à créer la dernière date.&lt;/P&gt;&lt;P class="container"&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="plain sql"&gt;ChampDate:&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;LOAD&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;($(vMinDate)+&lt;SPAN style="color: #0000ff;"&gt;IterNo&lt;/SPAN&gt;()-1) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;MaDate&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;AUTOGENERATE&lt;/SPAN&gt; (1) &lt;/CODE&gt;&lt;/P&gt;&lt;P class="number4 line index3 alt1"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;WHILE&lt;/SPAN&gt; $(vMinDate)+&lt;SPAN style="color: #0000ff;"&gt;IterNo&lt;/SPAN&gt;()-1&amp;lt;= $(vMaxDate);&lt;/CODE&gt;&lt;/P&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;&lt;/P&gt;&lt;DIV&gt;&lt;P&gt;La fonction &lt;SPAN style="color: #0000ff;"&gt;IterNo()&lt;/SPAN&gt; permet de renvoyer un entier indiquant combien de temps un seul enregistrement est évalué." -1", car la première itération renvoie "1" (on additionne pas à la première itération pour avoir la date min).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;3- Créer les différentes présentations des dates (Année, mois, semaines, ...)&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;Maintenant nous disposons d'un champ "MaDate" qu'on va utiliser pour créer les différents composants de notre calendrier. je vais créer les principaux d'entre eux, et à vous de créer d'autres si vous en avez besoin.&lt;/P&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="plain sql"&gt;Calendrier:&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;LOAD&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;MaDate&lt;/SPAN&gt; &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #993300;"&gt;Date&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number4 line index3 alt1"&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Year&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Année,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index4 line alt2 number5"&gt;&lt;CODE class="sql string"&gt;'T '&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&amp;amp; &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;Ceil&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Month&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate)/3),&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'(&lt;SPAN style="color: #0000ff;"&gt;ROM&lt;/SPAN&gt;)0'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Trimestre, &lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line index5 alt1 number6"&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Month&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Mois,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number7 alt2 index6"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;MonthEnd&lt;/SPAN&gt;(MaDate)&lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;DateFinMois,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number8 alt1 index7"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Week&lt;/SPAN&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Semaine,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number9 index8 alt2"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Weekday&lt;/SPAN&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;JourSemaine,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line alt1 index9 number10"&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Day&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Jour&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index10 line alt2 number11"&gt;&lt;/P&gt;&lt;P class="line index11 alt1 number12"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;RESIDENT&lt;/SPAN&gt; ChampDate;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Je rappelle que &lt;SPAN style="color: #0000ff;"&gt;Resident&lt;/SPAN&gt; est un prédicat qui est utilisé pour charger des données qui sont déjà chargées.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; 4- Nettoyer ce qui n'est plus utile (tables et variables)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Voila nous avons crée notre Calendrier. Mais pour faire les choses proprement, on va supprimer la table "ChampDate" et les variables vMinDate et vMaxDate qui nous servent plus.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;DROP&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;TABLE&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;ChampDate;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;SET&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;vMinDate = ;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;SET&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;vMaxDate = ;&lt;/CODE&gt;&lt;/P&gt;&lt;DIV class="sql syntaxhighlighter"&gt;&lt;DIV class="toolbar"&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;Au final, vous allez avoir une table qui va ressembler à la suivante :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" border="0" class="jiveImage" src="http://qlikdiscovery.fr/images/Tutoriels/chargement_donnees/table_calendrier.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Si vous vous avez des questions, n'hésitez à laisser un commentaire.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lotfi BENKHIDER&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.qlikdiscovery.fr/"&gt;www.qlikdiscovery.fr&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 22 Sep 2013 14:35:10 GMT</pubDate>
    <dc:creator>lotfiblo</dc:creator>
    <dc:date>2013-09-22T14:35:10Z</dc:date>
    <item>
      <title>Calendrier QlikView</title>
      <link>https://community.qlik.com/t5/Francophones/Calendrier-QlikView/m-p/1479183#M14016</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;Bonjour,&lt;/P&gt;&lt;P&gt;Dans ce tutoriel nous allons voir comment créer un Calendrier sur QlikView comportant les dates qui vous intéressent.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Pour créer ce calendrier, on passera par les quatre étapes suivantes :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 1- Définir une date de début et une date de fin pour le calendrier&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 2- Générer toutes les dates possibles entre les dates min et max définies précédemment&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 3- Créer les différentes présentations des dates (Année, mois, semaines, ...)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 4- Nettoyer ce qui n'est plus utile (tables et variables)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Vous êtes prêts ? commençons ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1- Définir une date de début et une date de fin pour le calendrier&lt;/STRONG&gt;&lt;BR /&gt;Le calendrier doit avoir une date de début et une date de fin (ce qu'est logique !). Selon les besoins de votre application, ces dates peuvent êtres définies de plusieurs façons. Je vais vous donner trois manières de les définir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a- On peut définir une date en la saisissant en dur. Je vous conseil, si vous optez pour cette façon de faire, de l'utiliser uniquement pour définir la date minimum du calendrier.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;b- Définir une date à partir de la date système, notamment pour la date maximum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c- J'ai laissé le meilleur pour la fin ;), il s'agit de récupérer la date minimum et la date maximum de la table qui contient vos dates (Exemple: Table "ventes", champ: "DatesVentes").&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Ci-dessous un exemple pour chacune des ces façons de faire.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMinDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;Makedate&lt;/SPAN&gt;(2010,1,1)); &lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMaxDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;Makedate&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Year&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(&lt;SPAN style="color: #0000ff;"&gt;Now&lt;/SPAN&gt;()),&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Month&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(&lt;SPAN style="color: #0000ff;"&gt;Now&lt;/SPAN&gt;()),&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Day&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(&lt;SPAN style="color: #0000ff;"&gt;Now&lt;/SPAN&gt;())));&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;/P&gt;&lt;P class="number4 line index3 alt1"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMinDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;peek&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'VentesDate'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;,0,&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'Ventes'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;));&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index4 line alt2 number5"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;LET&lt;/SPAN&gt; vMaxDate = &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;peek&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'VentesDate'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;,-1,&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'Ventes'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;));&lt;/CODE&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV class="sql syntaxhighlighter"&gt;&lt;DIV class="toolbar"&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;La fonction &lt;SPAN style="color: #0000ff;"&gt;peek()&lt;/SPAN&gt; vous permet de récupérer un enregistrement dans une colonne d'une table. "0" pour le premier enregistrement et "-1" pour le dernier enregistrement.&lt;BR /&gt; Néanmoins, l'utilisation efficace de cette fonction nécessite que votre colonne de date soit ordonnée de manière &lt;STRONG&gt;ascendante&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;STRONG&gt;2- Générer toutes les dates possibles entre les dates min et max définies précédemment&lt;/STRONG&gt;&lt;/DIV&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;Une fois que vous avons nos dates min et max, nous allons procéder à la génération de toutes les dates possibles entres ces dates extrêmes.&lt;/P&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;&lt;BR /&gt; Notre première date est évidemment la date min et la seconde date sera égale à la date min +1 et ainsi de suite jusqu'à la date max.&lt;BR /&gt; Ainsi, en utilisant une boucle &lt;SPAN style="color: #0000ff;"&gt;WHILE&lt;/SPAN&gt; on va &lt;EM&gt;&lt;STRONG&gt;autogénérer&lt;/STRONG&gt;&lt;/EM&gt; une valeur de 1 pour incrémenter la valeur initiale (vMinDate) jusqu'à créer la dernière date.&lt;/P&gt;&lt;P class="container"&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="plain sql"&gt;ChampDate:&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;LOAD&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;date&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;($(vMinDate)+&lt;SPAN style="color: #0000ff;"&gt;IterNo&lt;/SPAN&gt;()-1) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;MaDate&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;AUTOGENERATE&lt;/SPAN&gt; (1) &lt;/CODE&gt;&lt;/P&gt;&lt;P class="number4 line index3 alt1"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;WHILE&lt;/SPAN&gt; $(vMinDate)+&lt;SPAN style="color: #0000ff;"&gt;IterNo&lt;/SPAN&gt;()-1&amp;lt;= $(vMaxDate);&lt;/CODE&gt;&lt;/P&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;&lt;/P&gt;&lt;DIV&gt;&lt;P&gt;La fonction &lt;SPAN style="color: #0000ff;"&gt;IterNo()&lt;/SPAN&gt; permet de renvoyer un entier indiquant combien de temps un seul enregistrement est évalué." -1", car la première itération renvoie "1" (on additionne pas à la première itération pour avoir la date min).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;3- Créer les différentes présentations des dates (Année, mois, semaines, ...)&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;Maintenant nous disposons d'un champ "MaDate" qu'on va utiliser pour créer les différents composants de notre calendrier. je vais créer les principaux d'entre eux, et à vous de créer d'autres si vous en avez besoin.&lt;/P&gt;&lt;P class="cck_value cck_value_wysiwyg_editor"&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="plain sql"&gt;Calendrier:&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;LOAD&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;MaDate&lt;/SPAN&gt; &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #993300;"&gt;Date&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number4 line index3 alt1"&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Year&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Année,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index4 line alt2 number5"&gt;&lt;CODE class="sql string"&gt;'T '&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&amp;amp; &lt;SPAN style="color: #0000ff;"&gt;Num&lt;/SPAN&gt;(&lt;SPAN style="color: #0000ff;"&gt;Ceil&lt;/SPAN&gt;(&lt;/CODE&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Month&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate)/3),&lt;/CODE&gt;&lt;CODE class="sql string"&gt;'(&lt;SPAN style="color: #0000ff;"&gt;ROM&lt;/SPAN&gt;)0'&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Trimestre, &lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line index5 alt1 number6"&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Month&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Mois,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number7 alt2 index6"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;MonthEnd&lt;/SPAN&gt;(MaDate)&lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;DateFinMois,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number8 alt1 index7"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Week&lt;/SPAN&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Semaine,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number9 index8 alt2"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Weekday&lt;/SPAN&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;JourSemaine,&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line alt1 index9 number10"&gt;&lt;CODE class="color2 sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;Day&lt;/SPAN&gt;&lt;/CODE&gt;&lt;CODE class="plain sql"&gt;(MaDate) &lt;/CODE&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;as&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #993300;"&gt;Jour&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="index10 line alt2 number11"&gt;&lt;/P&gt;&lt;P class="line index11 alt1 number12"&gt;&lt;CODE class="plain sql"&gt;&lt;SPAN style="color: #0000ff;"&gt;RESIDENT&lt;/SPAN&gt; ChampDate;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Je rappelle que &lt;SPAN style="color: #0000ff;"&gt;Resident&lt;/SPAN&gt; est un prédicat qui est utilisé pour charger des données qui sont déjà chargées.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; 4- Nettoyer ce qui n'est plus utile (tables et variables)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Voila nous avons crée notre Calendrier. Mais pour faire les choses proprement, on va supprimer la table "ChampDate" et les variables vMinDate et vMaxDate qui nous servent plus.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;DROP&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;TABLE&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;ChampDate;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="line number2 alt1 index1"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;SET&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;vMinDate = ;&lt;/CODE&gt;&lt;/P&gt;&lt;P class="number3 line index2 alt2"&gt;&lt;CODE class="sql keyword"&gt;&lt;SPAN style="color: #0000ff;"&gt;SET&lt;/SPAN&gt;&lt;/CODE&gt; &lt;CODE class="plain sql"&gt;vMaxDate = ;&lt;/CODE&gt;&lt;/P&gt;&lt;DIV class="sql syntaxhighlighter"&gt;&lt;DIV class="toolbar"&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0"&gt;&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;Au final, vous allez avoir une table qui va ressembler à la suivante :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" border="0" class="jiveImage" src="http://qlikdiscovery.fr/images/Tutoriels/chargement_donnees/table_calendrier.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Si vous vous avez des questions, n'hésitez à laisser un commentaire.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lotfi BENKHIDER&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.qlikdiscovery.fr/"&gt;www.qlikdiscovery.fr&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Sep 2013 14:35:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/Calendrier-QlikView/m-p/1479183#M14016</guid>
      <dc:creator>lotfiblo</dc:creator>
      <dc:date>2013-09-22T14:35:10Z</dc:date>
    </item>
  </channel>
</rss>

