Fichiers QVD
Un fichier QVD (QlikView Data) est un fichier qui comprend une table de données exportées à partir de Qlik Sense ou de QlikView. Le format QVD est un format Qlik natif qui ne peut être modifié et lu que par Qlik Sense ou QlikView. Le format de fichier est optimisé pour la vitesse de lecture des données à partir d'un script Qlik Sense tout en demeurant très compact. La lecture de données à partir d'un fichier QVD est généralement 10 à 100 fois plus rapide qu'à partir d'autres sources 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 Qlik Sense. 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 possible de renommer les champs. Une clause Where entraînant la décompression des enregistrements par Qlik Sense désactive également le chargement optimisé.
Un fichier QVD contient exactement une table de données et se compose de trois parties :
- Un en-tête XML (dans le jeu de caractères UTF-8) qui décrit les champs de la table, la disposition des informations ultérieures et d'autres métadonnées.
- Des tables de symboles dans un format à remplissage de bits.
- Les données de la table dans un format à remplissage de bits.
Les fichiers QVD s'utilisent à de nombreuses fins. Quatre usages principaux sont facilement identifiables. Plusieurs pourront s'appliquer dans n'importe quelle situation :
- Diminution de la charge sur les serveurs de base de données
- Consolidation de données provenant de plusieurs applications Qlik Sense
- Chargement incrémentiel
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 les mêmes données sont utilisées dans plusieurs scripts Qlik Sense à la fois, il suffit de les charger une seule fois dans un fichier QVD à partir de la base de données source. Les autres applications peuvent ensuite exploiter les mêmes données par le biais de ce fichier QVD.
L'instruction de script Binary permet de charger les données d'une seule application Qlik Sense dans une autre. Cependant, avec les fichiers QVD, un script Qlik Sense peut combiner les données issues d'un nombre indéfini d'applications Qlik Sense. Cette méthode ouvre des possibilités, par exemple pour des applications destinées à consolider des données similaires issues de différentes unités commerciales, etc.
Dans de nombreux cas courants, il est possible d'employer la fonctionnalité QVD dans le but de faciliter le chargement incrémentiel, c'est-à-dire en chargeant exclusivement les nouveaux enregistrements d'une base de données en cours d'expansion.
Pour savoir comment la Communauté Qlik utilise Qlik Application Automation pour améliorer les temps de chargement des fichiers QVD, voir Comment diviser des QVD via une automatisation pour améliorer les chargements.
Création de fichiers QVD
Il est possible de créer et de nommer un fichier QVD via la commande store dans le script. 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 nommé de manière explicite à l'emplacement de votre choix.
Store
Cette instruction de script crée un fichier QVD, Parquet, CSV ou TXT nommé de manière explicite.
L'instruction permet uniquement d'exporter des champs provenant d'une table de données. Si vous devez exporter des champs issus de plusieurs tables, définissez au préalable une jointure explicite dans le script afin de créer la table de données à exporter.
Les valeurs de texte sont exportées vers le fichier CSV au format UTF-8. Vous pouvez spécifier un délimiteur (voir LOAD). L'instruction store envoyée à un fichier CSV ne prend pas en charge l'export BIFF .
Exemples :
Procédez comme suit :
- Ouvrez l'application Advanced Scripting Tutorial.
- Cliquez sur la section de script Product.
- Ajoutez ce qui suit à la fin du script :
- Cliquez sur Charger les données.
Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
Le script devrait avoir l'aspect suivant :
CrossTable(Month, Sales)
LOAD
Product,
"Jan 2014",
"Feb 2014",
"Mar 2014",
"Apr 2014",
"May 2014"
FROM [lib://DataFiles/Product.xlsx]
(ooxml, embedded labels, table is Product);
Store * from Product into [lib://DataFiles/ProductData.qvd](qvd);
Le fichier Product.qvd doit désormais figurer dans la liste des fichiers.
Ce fichier de données est le résultat du script Crosstable ; il s'agit d'une table de trois colonnes, une par catégorie (Product, Month, Sales). Ce fichier de données peut remplacer toute la section de script Product à présent.
Lecture de données à partir de fichiers QVD
Il est possible de lire un fichier QVD ou d'y accéder au moyen de Qlik Sense en recourant aux méthodes suivantes :
- Chargement d'un fichier QVD comme source de données explicite. Les fichiers QVD peuvent être référencés par une instruction load dans le script Qlik Sense comme tout autre type de fichier texte (csv, fix, dif, biff, etc).
Exemples :
- Accès aux fichiers QVD à partir du script. Il est possible d'utiliser un certain nombre de fonctions de script (toutes celles commençant par QVD) pour récupérer différentes informations sur les données figurant dans l'en-tête XML d'un fichier QVD.
Procédez comme suit :
- Mettez des commentaires sur tout le script dans la section de script Product.
- Saisissez les lignes de script suivantes :
- Cliquez sur Charger les données.
Load * from [lib://DataFiles/ProductData.qvd](qvd);
Les données sont chargées à partir du fichier QVD.
Merci !
Maintenant que vous êtes parvenu au terme de ce didacticiel, nous espérons que vous avez acquis de nouvelles connaissances en matière de création de scripts dans Qlik Sense. Pour en savoir plus sur les formations complémentaires disponibles, rendez-vous sur notre site Web.