<?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 Re: QV11 Filtrage d'une table de temps in Francophones</title>
    <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415453#M2847</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sauf Bastien si on veut éviter des trous dans l'axe temps &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/wink.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 07 Feb 2013 16:37:03 GMT</pubDate>
    <dc:creator>amauryviseo</dc:creator>
    <dc:date>2013-02-07T16:37:03Z</dc:date>
    <item>
      <title>QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415449#M2843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bonjour,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;J'utilise une table de temps constuite à partir d'un QVD temps lui-même construit à partir d'une table temps Oracle. Voici un extrait du code permettant de charger le QVD :&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="33230" class="jive-image" alt="code qvd temps.jpg" src="/legacyfs/online/33230_code qvd temps.jpg" /&gt;&lt;/P&gt;&lt;P&gt;La table temps est reliée à ma table de fait par le champ DATE.&lt;/P&gt;&lt;P&gt;La table temps n'a pas été filtrée en amont et contient toutes les lignes de la table Oracle (toutes les dates depuis environ 1980).&lt;/P&gt;&lt;P&gt;Je souhaiterais filtrer ma table de temps pour n'avoir que les dates qui rentrent dans le "périmètre de temps de ma table de fait".&lt;/P&gt;&lt;P&gt;C'est-à-dire : DATE &amp;gt;= min(table de fait) et DATE &amp;lt;= max(table de fait).&lt;/P&gt;&lt;P&gt;Mais je ne vois pas comment le faire dans le script...&lt;/P&gt;&lt;P&gt;Cela n'est surement pas compliqué mais je ne trouve pas un moyen simple et rapide de le faire.&lt;/P&gt;&lt;P&gt;D'avance merci pour votre aide,&lt;/P&gt;&lt;P&gt;Amandine Lefèvre&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2013 15:31:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415449#M2843</guid>
      <dc:creator />
      <dc:date>2013-02-07T15:31:27Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415450#M2844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;En supposant que votre table de faits s'appelle fact_table , il suffit de récupérer le min et le max par:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Extremum:&lt;/P&gt;&lt;P&gt;NoConcatenate&lt;/P&gt;&lt;P&gt;LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; min(DATE) as date_min ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max(DATE) as date_max&lt;/P&gt;&lt;P&gt;RESIDENT fact_table ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LET date_min = peek( 'date_min' , 0 , 'Extremum') ;&lt;/P&gt;&lt;P&gt;LET date_max = peek('date_max' , 0 , 'Extremum') ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DROP TABLE Extremum ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;d'ou ensuite le chargement proprement dit:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TD_PTNTPS:&lt;/P&gt;&lt;P&gt;NoConcatenate&lt;/P&gt;&lt;P&gt;LOAD&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;FROM ...&lt;/P&gt;&lt;P&gt;WHERE &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE &amp;gt;= '$(date_min)'&lt;/P&gt;&lt;P&gt;AND&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE &amp;lt;= '$(date_max)'&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2013 15:45:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415450#M2844</guid>
      <dc:creator>rlp</dc:creator>
      <dc:date>2013-02-07T15:45:18Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415451#M2845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bonjour,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Un simple LEFT JOIN devrait faire l'affaire, non?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2013 16:25:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415451#M2845</guid>
      <dc:creator />
      <dc:date>2013-02-07T16:25:27Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415452#M2846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bonjour,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Solution 2&lt;/P&gt;&lt;P&gt;========&lt;/P&gt;&lt;P&gt;plus optimum mais effectivement moins clair à la lecture&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Préalablement charger la table de faits qui contient le champ DATE)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;TEMP_DATE:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;LOAD fieldvalue('&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;DATE&lt;/SPAN&gt;',iterno()) as &lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;DATE&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;AUTOGENERATE 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;WHILE len(fieldvalue('&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;DATE&lt;/SPAN&gt;',iterno()));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;(Autre possibilité mettre dans une variable nbDates le FieldValueCount('DATE'), faire une boucle for i de 1 à &lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;nbDates&lt;/SPAN&gt; avec FieldValue('DATE', $(i))...Plus long à l'ecriture mais plus parlant que la fonction iterno())&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;Extremum:&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;NoConcatenate&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LOAD&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; min(DATE) as date_min ,&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max(DATE) as date_max&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;RESIDENT &lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;TEMP_DATE&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LET date_min = peek( 'date_min' , 0 , '&lt;SPAN style="color: #737373; background-color: #ffffff; font-family: Arial;"&gt;Extremum&lt;/SPAN&gt;') ;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LET date_max = peek('date_max' , 0 , '&lt;SPAN style="color: #737373; background-color: #ffffff; font-family: Arial;"&gt;Extremum&lt;/SPAN&gt;') ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;drop table Extremum;&lt;/P&gt;&lt;P&gt;drop table TEMP_DATE;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(....)&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;En effet si la table de faits est très volumineuse le min et le max va nécessiter à QlikView de la CPU et de la mémoire temporaire (pour parcourir les pointeurs de la table de faits)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alors que la fonction fieldvalue va permettre de parcourir la table des symboles du champ DATE !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;De quelques secondes on passe à une instruction qui se fait en centième de seconde et sans aucune consommation mémoire supplémentaire&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cette technique en plus est très utile lorsqu'on souhaite également construire des clefs numériques dans sa table de faits et à la volée une table de référence avec les labels .. Si cette table de référence CLE NUM, LABEL ne fait pas partie de ses données source (ce qui arrive souvent lorsqu'on se connecte à un système de gestion, et non à un DWH)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bien sûr cette technique est à utiliser une fois qu'on maitrise bien les scripts la solution de Richard reste plus simple dans un premier temps mais je profite de la question d'Amandine pour l'aborder car peu de développeurs QlikView connaisse/utilise cette technique&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Solution 3&lt;/P&gt;&lt;P&gt;========&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Préalablement charger la table de faits qui contient le champ DATE)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;TD_PTNTPS_TEMP:&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;NoConcatenate&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LOAD&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;FROM ...&lt;/P&gt;&lt;P&gt;where exists(DATE);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Le where exists() sans utilisation du deuxième paramètre a la chance de nous laisser en QVD Optimized&lt;/P&gt;&lt;P&gt;Et de restreindre la table des dates à celles préalablement observée dans la table des faits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Le problème est qu'il peut y avoir des trous dans l'axe temps....Donc on va faire un MIN/MAX et appliquer la même méthodo que proposé par Richard&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;Extremum:&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;NoConcatenate&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LOAD&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; min(DATE) as date_min ,&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max(DATE) as date_max&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;RESIDENT &lt;SPAN style="color: #737373; font-family: Arial; background-color: #ffffff;"&gt;TD_PTNTPS_TEMP&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;On fait donc un min/max sur une table beaucoup plus petite que la table de faits&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LET date_min = peek( 'date_min' , 0 , 'Extremum') ;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LET date_max = peek('date_max' , 0 , 'Extremum') ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;DROP TABLE Extremum ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;TD_PTNTPS:&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;NoConcatenate&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;LOAD&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;FROM ...&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;WHERE&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE &amp;gt;= '$(date_min)'&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;AND&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE &amp;lt;= '$(date_max)'&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On charge deux fois la table des temps mais vu sa taille ce n'est pas bien méchant &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bref sous QlikView toujours plusieurs possibilités &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/wink.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cdt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2013 16:36:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415452#M2846</guid>
      <dc:creator>amauryviseo</dc:creator>
      <dc:date>2013-02-07T16:36:18Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415453#M2847</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sauf Bastien si on veut éviter des trous dans l'axe temps &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/wink.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2013 16:37:03 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415453#M2847</guid>
      <dc:creator>amauryviseo</dc:creator>
      <dc:date>2013-02-07T16:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415454#M2848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Et ce serait plus un LEFT KEEP qu'un LEFT JOIN pour qu'il y ait séparation table de faits, table de dimension date&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2013 16:38:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415454#M2848</guid>
      <dc:creator>amauryviseo</dc:creator>
      <dc:date>2013-02-07T16:38:00Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415455#M2849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oui... il faut un Mastercalendar, c'est clair.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Feb 2013 16:45:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415455#M2849</guid>
      <dc:creator />
      <dc:date>2013-02-07T16:45:54Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415456#M2850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;IMG __jive_id="33271" class="jive-image-thumbnail jive-image" onclick="" alt="reponse.jpg" src="https://community.qlik.com/legacyfs/online/33271_reponse.jpg" width="450" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Feb 2013 09:04:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415456#M2850</guid>
      <dc:creator />
      <dc:date>2013-02-08T09:04:15Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415457#M2851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bonjour Amandine,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Le ORDER BY ne fonctionne pas lors du chargement d'un QVD&lt;/P&gt;&lt;P&gt;Et combien même cela serait possible cela fera perdre le mode "QVD Optimized" au chargement du QVDs...Le temps de chargement devient gigantesque avec 1 milliard de lignes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Le ORDER BY ne peut s'effectuer que sur une table en mémoire avec un RESIDENT et nécessite donc de la précharger une première fois&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;L'intérêt de passer par un fieldvalue (et l'iterno() est utilisé pour boucler autour de cette fonction) est que les différentes fonctions de max() ne vont pas être faites sur une grosse table de faits mais sur une table qui ne va contenir que les valeurs distinctes de date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fieldvalue va permettre de requêter dans la table des symboles du modèle QlikView, ou plus exactement de charger dans une table chaque valeur distincte de date dans la table de faits ... Ce qui est extrement rapide et peu consommateur en mémoire&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Voir par exemple ce lien qui explique le fonctionnement global du modèle QlikView : &lt;/SPAN&gt;&lt;A _jive_internal="true" class="loading" href="https://community.qlik.com/blogs/qlikviewdesignblog/2012/11/20/symbol-tables-and-bit-stuffed-pointers" style="font-size: 10pt;" title="http://community.qlik.com/blogs/qlikviewdesignblog/2012/11/20/symbol-tables-and-bit-stuffed-pointers"&gt;http://community.qlik.com/blogs/qlikviewdesignblog/2012/11/20/symbol-tables-and-bit-stuffed-pointers&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Va voir du côté de l'API "QlikView Components" et de la fonction Qvc.GetFieldValues&lt;/P&gt;&lt;P&gt;Qui utilise maintenant cette méthode pour récuperer le min/max d'un champ&lt;/P&gt;&lt;P&gt;&lt;A class="loading" href="http://code.google.com/p/qlikview-components/" title="http://code.google.com/p/qlikview-components/"&gt;http://code.google.com/p/qlikview-components/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob propose une syntaxe encore plus simple avec le FieldValue&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD &lt;/P&gt;&lt;P&gt;FieldValue('$(_field)', recno()) as [$(_field)] &lt;/P&gt;&lt;P&gt;AUTOGENERATE FieldValueCount('$(_field)')";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;qui evite de passer par une boucle for ou un iterno()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FieldValueCount renvoie le nombre de valeurs distinctes d'un champ...Ce n'est pas lié à une table mais à toutes les occurences possibles d'un champ dans le datamodel (Cas des champs clefs qui se retrouvent dans plusieurs tables)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Feb 2013 14:24:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415457#M2851</guid>
      <dc:creator>amauryviseo</dc:creator>
      <dc:date>2013-02-15T14:24:54Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415458#M2852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;bonjour,&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cette technique en plus est très utile lorsqu'on souhaite également construire des clefs numériques dans sa table de faits et à la volée une table de référence avec les labels .. Si cette table de référence CLE NUM, LABEL ne fait pas partie de ses données source (ce qui arrive souvent lorsqu'on se connecte à un système de gestion, et non à un DWH)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;je me permets de rebondir sur cette phrase. Je comprends bien l'intérêt de la fonction FieldValue pour créer une table de référence avec des valeurs distinctes, mais comment facilement, extraire ces données d'une table de faits et &lt;STRONG&gt;de faire un lien sur une clé numérique ? &lt;/STRONG&gt;Faudra-il d'abord créer la table avec un RrowNo par exemple, puis faire un ApplyMap sur la table de Faits ? serait-ce performant ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sonia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2013 16:56:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415458#M2852</guid>
      <dc:creator />
      <dc:date>2013-02-16T16:56:54Z</dc:date>
    </item>
    <item>
      <title>Re: QV11 Filtrage d'une table de temps</title>
      <link>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415459#M2853</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;bonjour Amaury,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;je me permets de revenir sur l'idée que vous lanciez qui semble effectivement intéressante.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive-quote" style="margin: 10px 20px; padding-left: 10px; color: #737373; font-family: Arial;"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cette technique en plus est très utile lorsqu'on souhaite également construire des clefs numériques dans sa table de faits et à la volée une table de référence avec les labels .. Si cette table de référence CLE NUM, LABEL ne fait pas partie de ses données source (ce qui arrive souvent lorsqu'on se connecte à un système de gestion, et non à un DWH)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;je me permets de rebondir sur cette phrase. Je comprends bien l'intérêt de la fonction FieldValue pour créer une table de référence avec des valeurs distinctes, mais comment facilement, extraire ces données d'une table de faits et &lt;STRONG&gt;de faire un lien sur une clé numérique ? &lt;/STRONG&gt;Faudra-il d'abord créer la table avec un RrowNo par exemple, puis faire un ApplyMap sur la table de Faits ? serait-ce performant ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; color: #737373; font-family: Arial;"&gt;Sonia&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Feb 2013 07:46:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Francophones/QV11-Filtrage-d-une-table-de-temps/m-p/415459#M2853</guid>
      <dc:creator />
      <dc:date>2013-02-20T07:46:20Z</dc:date>
    </item>
  </channel>
</rss>

