Foire Aux Questions
Installation
Q : Quelle est la configuration requise pour installer QlikView ?
Configuration système requise pour QlikView (uniquement en anglais)
Documents QlikView
Q : De combien de mémoire vive ai-je besoin ? Existe-t-il un moyen simple de lier les besoins en mémoire vive et le volume de données ?
R : Non, cela dépend de la structure et du type de données. Plus il y a de lignes de données et plus chaque enregistrement comprend de champs, plus il faut de mémoire vive. Lorsqu'un champ contient de nombreuses valeurs distinctes, la mémoire vive requise est plus importante que si le nombre de valeurs distinctes est faible. Certains graphiques peuvent mobiliser un volume important de mémoire vive lors de leur calcul.
Q : Quelle est la taille maximum théorique d'un document dans QlikView ?
R : Il est impossible de la traduire en un certain nombre d'enregistrements (voir question précédente). En général, QlikView utilise 3 à 4 fois plus de mémoire pendant l'exécution du script que lors de la manipulation d'une disposition.
Q : J'ai 2 Go de mémoire vive disponible mais mon document d'1 Go produit le message d'erreur « Mémoire insuffisante » à l'ouverture. Qu'est-ce qui ne va pas ?
R : Chaque table d'un document QlikView requiert l'allocation d'un bloc de mémoire contigu. Si la mémoire est fragmentée, par exemple par des dll chargées, l'allocation échouera et un message d'erreur s'affichera. Ce comportement peut varier d'un ordinateur à l'autre.
Q : Quelle est la taille maximale des documents réellement exécutés dans QlikView par les utilisateurs ?
R : Lorsque QlikView est exécuté sur un ordinateur doté, disons, de 512 Mo de mémoire vive, il peut traiter quelques millions de lignes de données de transaction standard. Sur les gros serveurs équipés de QlikView qui disposent de plusieurs gigaoctets de mémoire vive, le programme traite jusqu'à un milliard de lignes (niveau de détail complet des transactions sans agrégation) dans les applications du client au moment où nous écrivons (ces informations sont vieilles de 7 ans, puisqu'elles datent de mai 2008).
Scripts et chargement de données
Q : Est-il possible d'utiliser plus d'une instruction Binary dans un script QlikView ?
R : Malheureusement, non. Le chargement binaire utilise une logique très particulière pour lire les données déjà traitées une fois dans QlikView dans un autre document QlikView. La « décompression » utilisée nécessite une « ardoise propre » en mémoire et l'instruction Binary doit donc être la toute première instruction du script. C'est pourquoi il est aussi impossible d'utiliser Binary plus d'une fois dans un script. Vous pouvez toutefois utiliser des fichiers QVD pour consolider des données de plusieurs documents QlikView aussi vite qu'avec Binary.
Q : La seule contrainte pour une jointure automatique est-elle que les noms de champs soient les mêmes ?
R : Oui ! Une telle jointure est appelée association.
Q : Puis-je obtenir une jointure automatique entre deux champs qui portent des noms différents ?
R : Oui, mais vous devez renommer l'un des champs dans le script à l'aide d'une instruction ALIAS ou d'une clause AS.
Modification des noms de champ
Q : Puis-je utiliser des clauses Where, Group by ou d'autres syntaxes similaires au SQL sur des fichiers texte ?
R : QlikView propose un langage de script riche pour les fichiers texte, qui comprend de grandes parties de la syntaxe SQL et un certain nombre de caractéristiques supplémentaires.
Q : Puis-je utiliser des clauses Where, Group by ou d'autres syntaxes similaires au SQL sur des fichiers QlikView binaires ?
R : Non.
Q : Quelle est la différence entre une association entre des tables internes, une instruction load ou select précédée d'un qualificatif join, et une jointure join dans une instruction select ?
R : Une association est une jointure entre des tables internes qui est évaluée lorsque vous cliquez sur une valeur de champ dans votre document. QlikView fait cette association automatiquement quand deux tables différentes ont un champ en commun. Les deux dernières jointures sont effectuées au cours de l'exécution du script et produisent de nouvelles tables logiques. Dans ces cas-là, QlikView ne charge pas les tables d'origine comme des tables logiques.
En outre, une jointure dans une instruction select ne chargera normalement que les enregistrements dont la valeur de champ clé se trouve dans les deux tables (jointure interne), tandis que les deux premières jointures incluent également les enregistrements dont la valeur de champ clé se trouve uniquement dans l'une des tables (outer join ou jointure externe complète).
Q : Comment charger des données de fichiers texte à enregistrement fixe ?
R : Utilisez l'assistant Fichiers de tables de QlikView.
Assistant Fichier : Type et Assistant Fichier : Type - Enregistrement fixe
Q : Puis-je mettre à jour un document QlikView en chargeant uniquement les données qui ont changé ?
R : Oui, à l'aide de rechargements incrémentiels.
Q : Puis-je lire des tables de pages Web dans QlikView ?
R : Oui, l'assistant Fichiers de tables permet d'extraire des tables codées sous forme de tables au format HTML. Si la page HTML ne contient pas de balises de table bien formatées, il est généralement toujours possible d'extraire les données à l'aide des fonctions de script subfield et textbetween, par exemple.
Assistant Fichier : Type - HTML
Logique QlikView
Q : Pourquoi est-il impossible d'afficher la fréquence dans certaines listes de sélection ?
R : Les listes de sélection en question contiennent un champ commun à plus d'une table interne. Il est donc impossible pour QlikView de savoir comment calculer la fréquence et d'autres entités statistiques pour ce champ. Le problème peut aussi être résolu en chargeant le champ encore une fois à partir de sa table principale (celle pour laquelle vous souhaitez afficher la fréquence), mais sous un nouveau nom, puis en affichant la fréquence de ce nouveau champ. Si on utilise les étiquettes, l'utilisateur final ne doit pas remarquer l'astuce.
Q : Pourquoi mes zones de statistiques contiennent-elles beaucoup de n/d ?
R : La zone de statistiques contient un champ commun à plus d'une table interne. Voir la réponse à la question précédente.
Q : Pourquoi QlikView ne me permet-il pas d'utiliser un certain champ dans une expression de graphique ?
R : Le champ est commun à plus d'une table interne. Voir la réponse aux deux questions précédentes.
Q : Comment puis-je afficher le nombre de valeurs distinctes dans une zone de statistiques ?
R : Utilisez la clause distinct dans vos instructions load / select.
Q : Quand l'option mode AND est-elle activée dans la boîte de dialogue Propriétés de la liste de sélection ?
R : L'option mode AND n'est activée qu'à des conditions très strictes, imposées par la théorie que sous-tend la logique QlikView. Pour être utilisé en mode AND, le champ doit :
- figurer dans une seule table interne,
- être le deuxième des deux seuls champs de cette table,
- ne pas contenir d'enregistrements en double,
- être traité par un qualificateur distinct.
Q : Puis-je mélanger les logiques AND et OR pour sélectionner des valeurs dans une liste de sélection?
R : Non, la logique de QlikView l'interdit.
Q : Puis-je utiliser la logique OR entre des listes de sélection ?
R : Indirectement seulement. Une alternative avancée consiste à utiliser des liens sémantiques pour transférer les sélections effectuées dans une liste de sélection à un autre champ. Modifiez ensuite les sélections dans la liste d'origine et cliquez en maintenant la touche Ctrl enfoncée sur le lien sémantique pour insérer un OR entre les deux sélections. Le résultat final peut être transféré en inversant le lien sémantique.
Q : Est-il possible de lier plus d'un fichier d'informations à une valeur, par exemple une image et un fichier texte ?
R : Oui, mais uniquement en utilisant des copies du champ. Chaque champ ne peut être lié dans QlikView qu'à un seul fichier d'informations.
Q : Pourquoi '002', '02' et '2', par exemple, sont-ils parfois interprétés comme la même valeur par QlikView ?
R : Toutes les valeurs de l'exemple ont la même valeur numérique dans QlikView. En principe, QlikView tente une interprétation numérique de toutes les données. Si l'interprétation numérique est possible, c'est elle qui est utilisée pour l'association. Si, par contre, vous utilisez la fonction d'interprétation text() sur un champ dans le script, les valeurs ne seront traitées que comme des valeurs textuelles. Les valeurs de l'exemple ci-dessus seront alors interprétées comme trois valeurs différentes.
Q : Qu'est-ce qu'une « boucle » ou une structure de tables circulaire ?
R : Quand on peut suivre des associations de champs en un cercle sans fin dans la structure de tables, on a ce qu'on appelle une boucle. Une autre façon de décrire le phénomène serait de dire qu'il y a plusieurs chemins dans la structures de tables entre deux champs donnés. Les boucles doivent être évitées autant que possible, car elles peuvent provoquer des ambiguïtés dans l'interprétation des données. Bien souvent, les boucles résultent d'une mauvaise conception de la base de données, mais elles sont parfois inévitables. QlikView émet un avertissement s'il détecte une boucle en exécutant le script et vous force à résoudre le problème au moyen de tables déconnectées.
Principe des références circulaires
Disposition
Q : Pourquoi les objets de feuille sans légende ne peuvent-ils pas être dimensionnés par le haut ?
R : Lorsque vous désactivez la légende d'un objet, la bordure supérieure ne peut être utilisée que pour déplacer l'objet. Utilisez donc plutôt les coins supérieurs de l'objet à dimensionner.
Q : Pourquoi ne puis-je pas développer ma table à droite quand j'essaie de faire glisser la bordure ?
R : La bordure droite d'une table comporte deux poignées. Si vous déplacez la bordure d'une table, vous déterminez les limites extérieures de ce qui peut s'y afficher. Mais vous ne pouvez pas avoir un cadre extérieur plus grand que la somme des largeurs de toutes les colonnes de la table. Pour dimensionner la colonne la plus à droite, placez le curseur juste à gauche de la bordure extérieure. Assurez-vous que le cadre extérieur ne se trouve pas au milieu de la colonne. Si c'est le cas, utilisez la barre de défilement pour faire coïncider le bord droit de la colonne et le cadre extérieur. Utilisez la grille de conception pour visualiser le cadre extérieur réel d'un objet.
Q : Puis-je modifier le nom d'un champ dans les objets d'un document QlikView ?
R : Oui, vous pouvez définir une étiquette pour chaque champ dans chaque objet.
Q : Quels objets peuvent être réduits ?
R : Tous les types d'objets peuvent être réduits, mais l'option est désactivée par défaut pour les objets des feuilles tels que les boutons, les objets Texte et les objets ligne/flèche.
Q : Puis-je déplacer des objets réduits sur la feuille ?
R : Oui, on peut les déplacer librement, les mettre n'importe où sur la feuille et aussi les redimensionner dans certaines limites.
Partage de documents QlikView avec d'autres personnes
Q : Puis-je mettre mon document QlikView sur un serveur et le partager avec d'autres personnes ?
R : Oui, à partir du moment où les destinataires possèdent une licence QlikView enregistrée et un accès au répertoire du serveur.
Q : Puis-je utiliser QlikView en mode client/serveur réel ?
R : Oui, vous avez simplement besoin de QlikView Server.
Q : Puis-je mettre mon document sous forme de lien sur une page web et permettre à d'autres utilisateurs d'y accéder par Internet ?
R : Oui, à partir du moment où les destinataires possèdent une licence QlikView enregistrée et un accès à la page web.
Q : Puis-je envoyer mon document à d'autres personnes par courrier électronique ?
R : Oui, à partir du moment où les destinataires possèdent une licence QlikView enregistrée.
Q : Puis-je empêcher certaines personnes d'utiliser mon document ?
R : Oui, en utilisant un « accès de section » permettant de déterminer les personnes autorisées à utiliser le document.
Section et Assistant Table de restriction d'accès
Q : Puis-je empêcher d'autres personnes de voir/modifier le script ?
R : Oui, la section d'accès peut donner à certains le niveau d'accès ADMIN, tout en empêchant l'accès au script à d'autres grâce au niveau d'accès USER.
Q : Où dois-je enregistrer les informations de droits d'accès ?
R : Les informations peuvent être enregistrées sous forme de fichier texte dans une unité protégée, ou sous forme de table dans une base de données. Il est également possible de les stocker sous forme d'instruction intégrée dans le script.
Q : Existe-t-il un moyen automatisé de créer des copies personnalisées pour un grand nombre d'utilisateurs ?
R : Oui, vous devez disposer de QlikView Publisher, un module additionnel de QlikView Server.