Fichiers QVD

Les fichiers QVD (QlikView Data) comprennent une table de données exportées de QlikView. QVD est un format natif de QlikView et ne peut être écrit et lu que par QlikView. Le format de fichier est optimisé pour la vitesse de lecture des données à partir d'un script QlikView, mais il reste très compact. Lire des données d'un fichier QVD se fait en général 10 à 100 fois plus vite que d'une autre source de données.

Les fichiers QVD peuvent être lus dans deux modes : standard (rapide) et optimisé (plus rapide). Le mode sélectionné est déterminé automatiquement par le moteur de script de QlikView. Le mode optimisé s'utilise uniquement lorsque tous les champs chargés sont lus sans aucune transformation (formules agissant sur les champs) ; il est toutefois permis de renommer les champs. Une clause WHERE qui provoque la décompression des enregistrements par QlikView désactive également le chargement optimisé. Un fichier .qvd optimisé est extrait et géré conformément au processus ETL (Extract-Transform-Load) standard lorsqu'une transformation de champ est effectuée, ce qui a pour effet de diminuer les performances. Le format spécifié n'est pas conservé et le format des nombres bruts sous-jacent est utilisé à la place et reconnu. Les transformations du champ dans un fichier .qvd sont autorisées. L'ancien fichier .qvd « optimisé » est alors converti en fichier .qvd non optimisé standard.

Un fichier QVD contient exactement une table de données et se compose de trois parties :

  1. Un en-tête XML bien constitué (dans le jeu de caractères UTF-8) qui décrit les champs de la table, la disposition des informations qui suivent et quelques autres métadonnées.
  2. Des tables de symboles dans un format à remplissage de bits.
  3. Les données de la table dans un format à remplissage de bits.

Objectif des fichiers QVD

Les fichiers QVD peuvent être utilisés à de nombreuses fins. On peut identifier facilement au moins quatre usages principaux. Plusieurs pourront s'appliquer dans n'importe quelle situation :

Augmenter la vitesse de chargement

Grâce à la mise en mémoire tampon de blocs de données d'entrée qui ne changent pas ou qui changent lentement dans les fichiers QVD, l'exécution du script devient beaucoup plus rapide pour les grands ensembles de données.

Diminuer la charge sur les serveurs de bases de données

Il est par ailleurs possible de réduire considérablement la quantité de données récupérées à partir de sources de données externes. Conséquence : une diminution de la charge de travail pour les bases de données externes et le trafic réseau. En outre, lorsque plusieurs scripts QlikView partagent les mêmes données, il est nécessaire de les charger une seule fois dans un fichier QVD à partir de la base de données source. Les autres applications peuvent utiliser les mêmes données via ce fichier QVD.

Consolider des données provenant de plusieurs applications QlikView

Avec l'instruction de script binary, il est possible de charger des données à partir d'une seule application QlikView dans une autre, mais avec les fichiers QVD, un script QlikView peut combiner des données provenant de plusieurs applications QlikView. Cela ouvre des possibilités, par exemple pour des applications qui consolident des données similaires de différentes unités commerciales, etc.

Chargement incrémentiel

Dans de nombreux cas courants, la fonctionnalité QVD peut être utilisée pour faciliter le chargement incrémentiel, c'est-à-dire charger exclusivement les nouveaux enregistrements d'une base de données en cours de développement.

Voir  : Utilisation de fichiers QVD pour le chargement incrémentiel

Création de fichiers QVD

Un fichier QVD peut être créé de trois façons différentes :

  1. Création et dénomination explicites en utilisant la commande store dans le script QlikView. Il suffit de spécifier dans le script qu'une table déjà lue en totalité ou en partie doit être exportée vers un fichier explicitement nommé à l'emplacement de votre choix.
  2. Création et maintenance automatiques depuis le script. En faisant précéder une instruction load ou select du préfixe buffer, QlikView crée automatiquement un fichier QVD qui, sous certaines conditions, peut être utilisé à la place de la source de données d'origine lors du rechargement des données.
  3. Création et dénomination manuelles explicites à partir de la disposition ou via l'Interpréteur de macros interne. Les données peuvent être exportées du modèle de disposition QlikView par des commandes de l'interface graphique ou des macros d'automatisation. Dans l'interface graphique, vous trouverez QVD parmi les formats d'exportation possibles pour la commande Exporter..., qui figure dans le menu objet de la plupart des objets.

    Voir  : Interpréteur de macros interne

Les fichiers QVD résultants ne présentent pas de différences, notamment concernant la vitesse de lecture, etc.

Lecture des données de fichiers QVD

On peut faire lire un fichier QVD ou y accéder par QlikView de l'une des façons suivantes :

  1. Chargement d'un fichier QVD comme source de données explicite. Dans une instruction load du script QlikView, vous pouvez faire référence aux fichiers QVD exactement comme à tout autre type de fichier texte (csv, fix, dif, biff, etc.). La boîte de dialogue Assistant Fichier : Type gère les fichiers QVD selon les mêmes principes.

    Voir  : Assistant Fichier : Type

  2. Exemples :  

    load * from xyz.qvd (qvd);

    load Nom, N°Enr from xyz.qvd (qvd);

    load Nom as a, N°Enr as b from xyz.qvd (qvd);

  3. Chargement automatique de fichiers QVD en mémoire tampon. Lorsque vous utilisez le préfixe buffer avec des instructions load ou select, aucune instruction explicite n'est nécessaire pour la lecture. QlikView déterminera dans quelle mesure il utilisera les données du fichier QVD et dans quelle mesure il préférera acquérir les données par l'instruction load ou select d'origine.
  4. Accès aux fichiers QVD par le script. Un certain nombres de fonctions de script (toutes celles commençant par qvd) peuvent être utilisées pour récupérer dans l'en-tête XML d'un fichier QVD plusieurs informations sur les données.

    Voir  : Fonctions de fichier

L'importation de fichiers QVD comportant des astérisques n'est pas prise en charge.