Filtres

Les filtres vous permettent d'affiner vos données. Vous avez la possibilité d'ajouter des filtres aux tâches, aux rapports, aux objets et aux utilisateurs. Ces filtres peuvent être statiques ou dynamiques.

Types

Voici quelques façons d'utiliser les filtres :

  • Tâche : permet de filtrer une tâche de publication afin de partager uniquement les données du trimestre en cours.
  • Rapport : permet de filtrer un rapport afin d'afficher uniquement les informations relatives aux 5 meilleurs vendeurs.
  • Objet : permet de filtrer un graphique en secteurs qui détaille les ventes d'épicerie, afin de montrer uniquement les ventes de fruits.
  • Utilisateur : permet de filtrer un groupe d'utilisateurs afin de voir uniquement les données relatives à leur emplacement géographique.

Les filtres statiques sont sélectionnés dans une liste de valeurs de champ QlikView ou Qlik Sense. Vous devez éditer manuellement le filtre pour modifier les valeurs.

Les filtres dynamiques utilisent des expressions et des recherches QlikView ou Qlik Sense. Les expressions doivent utiliser les règles et la syntaxe de QlikView ou Qlik Sense et renvoyer une valeur unique. Les expressions sont évaluées, puis les résultats utilisés pour filtrer les données. Les recherches tirent parti des différents types de recherche disponibles dans QlikView ou Qlik Sense. Vous n'avez pas besoin de modifier les filtres dynamiques pour obtenir de nouvelles valeurs.

Évaluation des filtres

Les filtres sont vérifiés avant la génération de chaque rapport. Les filtres de tâches, d'utilisateurs et de rapports sont comparés aux données de document. Si les filtres ne sont pas valides, la page Exécutions des tâches affiche un message d'erreur indiquant qu'il est impossible de les appliquer. Cette étape se déroule entre le calcul des conditions et la génération du rapport. Qlik NPrinting résout les filtres en les appliquant selon un ordre dans lequel l'état initial n'utilise aucune sélection sur aucun champ.

Si vous utilisez un seul filtre, il est évalué comme suit :

  1. Effacez les sélections de tous les champs en cochant la case Remplacer les valeurs.
  2. Calculez les expressions pour chaque champ avec les valeurs évaluées.
  3. Appliquez à tous les champs des sélections basées sur les valeurs et les recherches.

Si vous utilisez plusieurs filtres, ils sont évalués dans l'ordre suivant :

  1. Tous les filtres de tâches sont appliqués un par un en fonction de leur ordre de tri.
  2. Tous les filtres d'utilisateurs sont appliqués un par un en fonction de leur ordre de tri.
  3. Tous les filtres de rapports sont appliqués un par un en fonction de leur ordre de tri.
  4. Tous les filtres d'objets sont appliqués un par un en fonction de leur ordre de tri.

Règles

Les règles de filtrage de Qlik NPrinting permettent d'obtenir un comportement prévisible avec un nombre limité d'options.

  • Les valeurs évaluées sont calculées en premier pour permettre la gestion des valeurs statiques.
  • Les filtres n'écrasent pas nécessairement les sélections précédentes. Il n'existe pas de hiérarchie stricte.
  • Chaque filtre est analysé dans un ordre précis : tâche -> utilisateur -> rapport -> objet.
  • Les valeurs de champs de filtre de niveaux différents forment une intersection.
  • Si l'intersection aboutit à un résultat vide, la chaîne de filtres n'est plus valide.
  • Il n'existe pas de limite au nombre de filtres de tâches, de rapports, d'objets ou d'utilisateurs que vous pouvez appliquer dans une application. Cependant, un objet donné ne peut être associé qu'à un seul filtre d'objets.
  • Si l'application d'un filtre aboutit à une sélection impossible, une erreur spécifique est renvoyée : « Cannot apply filter {0} to current document data. Requested fields with evaluates are {1}:  » (Impossible d'appliquer le filtre aux données actuelles du document. Les champs demandés pour l'évaluation sont) ».

Il existe un indicateur permettant de modifier ces comportements : Remplacer les valeurs. Cet indicateur, qui se rapporte à des champs précis d'un filtre, vous permet d'effacer les sélections d'un champ donné à un certain niveau de la chaîne. Vous pouvez également ajouter d'autres valeurs.

Exemples de filtrage de résultats

Ces exemples illustrent des filtres attribués à des entités spécifiques pour différentes valeurs du même champ, avec l'indicateur Remplacer les valeurs sélectionné ou désélectionné :

Exemple 1

  • Filtre de tâches : Country = Italy, Spain
  • Filtre d'utilisateurs : -
  • Filtre de rapports : Country = Italy, Germany
  • Filtre résultant : Country = Italy

Exemple 2

  • Filtre de tâches : Country = Italy, Spain
  • Filtre d'utilisateurs : Remplacer les valeurs = Case cochée pour Country
  • Filtre de rapports : Country = Italy, Germany
  • Filtre résultant : Country = Italy, Germany

Exemple 3

  • Filtre de tâches : Country = Italy, Spain
  • Filtre d'utilisateurs : Country = Italy, Germany
  • Filtre de rapports : Remplacer les valeurs = Case cochée pour Country
  • Filtre résultant : Country = Tous les pays

Exemple 4

  • Filtre de tâches : Country = Italy
  • Filtre d'utilisateurs : -
  • Filtre de rapports : Country = Germany
  • Filtre résultant : vide

Exemple 5

  • Filtre de tâches : Country = Italy
  • Filtre d'utilisateurs : Remplacer les valeurs = Vrai pour Country
  • Filtre de rapports : Country = Germany
  • Filtre résultant : Germany

Sélection de valeurs

Dans le menu déroulant Valeurs, vous pouvez sélectionner l'une des options suivantes :

  • Valeur égale à : utilisez cette option pour sélectionner une chaîne. Elle est indiquée, par exemple, pour sélectionner USA dans le champ Country.
  • Valeur numérique égale à : dans QlikView et Qlik Sense, toutes les valeurs de champ sont potentiellement des valeurs doubles. Une valeur de champ peut comporter à la fois une valeur numérique et une valeur textuelle. Par exemple, une date peut admettre une valeur numérique de 40 908 et une représentation textuelle égale à 2011-12-31. Utilisez cette option pour sélectionner une valeur numérique.
  • Évaluer une valeur : utilisez cette option pour insérer une expression à évaluer. Elle doit renvoyer une valeur unique.
  • Recherche avancée : utilisez cette option pour sélectionner des valeurs à l'aide de la fonction de recherche avancée de QlikView ou de Qlik Sense.

Si la notification Entièrement mis en cache s'affiche à droite, elle signifie que le cache de Qlik NPrinting contient toutes les valeurs d'un champ. Autrement dit, lorsque vous commencez la saisie dans la boîte de dialogue Valeurs, Qlik NPrinting recherche toutes les valeurs qui correspondent à la chaîne.

Le cache de Qlik NPrinting stocke uniquement les 1 000 premières valeurs des champs QlikView contenant un grand nombre de valeurs distinctes. Dans ce cas, l'étiquette verte Entièrement mis en cache n'est pas visible. À la place, vous voyez un bouton Rechercher à droite du champ de valeur. Saisissez une partie ou la totalité de la chaîne à rechercher. Cliquez ensuite sur Rechercher pour obliger Qlik NPrinting à rechercher la chaîne dans le document QlikView connecté. En présence d'un grand nombre de valeurs distinctes, vous devez insérer manuellement la valeur entière à filtrer.

Création de filtres statiques

Procédez comme suit :

  1. Sélectionnez Applications, puis Filtres.
  2. Cliquez sur Créer un filtre.
  3. Renseignez le champ Nom du filtre.
  4. Sélectionnez une application dans la liste déroulante Application.
  5. Cliquez sur Créer pour créer le rapport.
  6. Cliquez sur Champs dans le menu des filtres.
  7. Cliquez sur Ajouter un champ.
  8. Sous Connexion, sélectionnez votre connexion.
  9. Sous Nom, sélectionnez le nom d'un champ.

  10. Vous pouvez choisir l'option Remplacer les valeurs : si vous activez cette case à cocher, toutes les sélections appliquées par d'autres filtres au même champ seront supprimées et remplacées par les valeurs du champ défini dans le filtre actif. Si l'option Remplacer les valeurs n'est pas sélectionnée, un nouveau filtre est créé par l'intersection des valeurs de champ issues de différents filtres appliqués au champ sélectionné.

    Remarque: Vous pouvez effacer toutes les sélections définies pour un champ en créant un filtre comportant des valeurs vides pour ce champ et en cochant la case Remplacer les valeurs.

Ajout de valeurs à un champ

Procédez comme suit :

  1. Choisissez un type de valeur dans la liste déroulante :
    • Valeur égale à
    • Valeur numérique égale à
    • Évaluer une valeur
    • Recherche avancée
  2. Selon le type de valeur choisi, vous pouvez choisir un élément dans une liste, commencer à saisir une chaîne ou saisir une expression. Voir : Sélection de valeurs
  3. Si vous souhaitez ajouter une deuxième valeur, cliquez sur Ajouter une valeur.

    Une nouvelle ligne vide est insérée.

  4. Ajoutez la deuxième valeur.
  5. Cliquez sur Créer.

Création d'un filtre dynamique avec des valeurs évaluées

Vous pouvez utiliser des expressions QlikView et Qlik Sense pour calculer les valeurs à utiliser dans les filtres. Chaque expression doit renvoyer une valeur unique et utiliser la syntaxe QlikView ou Qlik Sense. Vous pouvez, par exemple, utiliser une expression pour calculer la valeur de l'année précédente et comparer celle-ci au champ Année dans un filtre.

Procédez comme suit :

  1. Créez un filtre.
  2. Accédez à la zone Valeurs, puis sélectionnez Évaluer une valeur dans la liste déroulante.

    Cette option envoie l'expression à QlikView ou à Qlik Sense, qui évalue le résultat et le renvoie afin qu'il soit utilisé dans le filtre.

  3. Saisissez une expression dans la zone Valeur.

    Par exemple, pour récupérer la valeur de l'année dernière, saisissez =Year(now())-1.

  4. Vous pouvez cliquer sur Ajouter une valeur pour ajouter une autre expression. L'ajout de nombreuses valeurs pour un même champ crée une association « OU » logique. Le filtre conservera les données qui correspondent à une des valeurs ou aux deux.
  5. Cliquez sur Créer.

Création d'un filtre dynamique avec la recherche avancée

Vous pouvez utiliser la fonction de recherche avancée de QlikView et de Qlik Sense pour sélectionner un ensemble de valeurs à utiliser dans les filtres.

Plusieurs types de recherche avancée sont pris en charge :

  • Texte : toutes les valeurs qui correspondent exactement au texte sont sélectionnées.
  • Caractère générique : les caractères génériques *, ? et ^ peuvent être utilisés dans une recherche de texte.
    • * : caractère de remplacement pour 0 ou plusieurs caractères non définis.
    • ? : caractère de remplacement pour un caractère unique non défini.
    • ^ : caractère de remplacement qui indique que le caractère suivant est le début d'un mot.
  • Numérique : si une recherche commence par < ou >, elle sera considérée comme une recherche numérique.
  • Expression : si une recherche commence par =, elle sera considérée comme une recherche d'expression. Le résultat de l'expression est interprété comme une valeur booléenne :
    • 0=false
    • Autre valeur = vrai

Les résultats de votre recherche avancée sont recoupés avec les valeurs sélectionnées dans le champ des filtres précédents si l'option Remplacer les valeurs n'est pas utilisée. L'ensemble de valeurs généré à partir d'une recherche d'expression dépend des sélections actives, de manière similaire au calcul des valeurs évaluées. Si vous souhaitez ignorer les sélections actives dans une application ou un document, utilisez :

Certains types de recherche dynamique ne sont pas pris en charge. Les recherches suivantes peuvent renvoyer des résultats inattendus :

  • Recherche standard : recherche qui fait correspondre le texte inséré avec le début d'un mot dans une valeur de champ. Vous obtiendrez des résultats plus fiables en utilisant des caractères génériques dans la recherche : *^texte à rechercher*.
  • Recherche partielle : recherche qui commence par ~. Dans QlikView et Qlik Sense, la recherche partielle sélectionne la première valeur figurant dans la liste affichée à l'écran. Dans Qlik NPrinting, elle sélectionne chaque valeur de la liste.
  • Recherche combinée : recherche qui place le texte de recherche entre ( ) et utilise des opérateurs tels que |, & et ^ pour combiner les autres types de recherche.

Procédez comme suit :

  1. Créez un filtre.
  2. Accédez à la zone Valeurs, puis sélectionnez Recherche avancée dans la liste déroulante.

    Cette option lance une recherche sur le champ sélectionné dans QlikView et Qlik Sense et renvoie le résultat à utiliser dans le filtre.

  3. Saisissez l'une des recherches prises en charge dans la zone Valeur.

    Par exemple, pour récupérer les données de chaque année, à l'exception de l'année en cours, saisissez =Year<Year(now()).

  4. Vous pouvez cliquer sur Ajouter une valeur pour ajouter une autre recherche avancée. L'ajout de nombreuses valeurs pour un même champ crée une association « OU » logique. Le filtre conservera les données qui correspondent à une des valeurs ou aux deux.
  5. Cliquez sur Créer.

Ajout de filtres à un nouveau rapport

Vous devez créer des filtres avant de pouvoir les ajouter à des rapports, des tâches, des objets ou des utilisateurs. Vous ne pouvez pas créer de filtre à partir d'une autre entité.

Procédez comme suit :

  1. Créez un rapport ou ouvrez un rapport existant.
  2. Cliquez sur Filtres dans le menu principal.
  3. Sélectionnez les filtres voulus dans la colonne Éléments disponibles.
  4. Cliquez sur Next pour déplacer les filtres vers la colonne Éléments sélectionnés.
  5. Cliquez sur Ajouter des filtres.

Application d'un filtre à un objet

Les filtres d'objets s'avèrent pratiques pour filtrer une table ou une image spécifique. Par exemple, si vous disposez d'un rapport sans filtres, mais que vous souhaitez ajouter une table qui affiche uniquement les ventes de l'année passée, vous pouvez appliquer un filtre d'objet.

Les objets ne peuvent être associés qu'à un seul filtre. Si vous devez ajouter un filtre complexe à un objet, créez un filtre unique avant d'éditer le modèle de rapport.

Procédez comme suit :

  1. Dans l'écran Rapports, cliquez sur le rapport pertinent.
  2. Cliquez sur le bouton Éditer le modèle pour ouvrir l'éditeur de modèle de Qlik NPrinting Designer.
  3. Dans le volet gauche, cliquez sur le type d'objet à filtrer avec le bouton droit de la souris, puis sélectionnez Add objects (Ajouter des objets).

    Vous pouvez filtrer des tables et des images.

  4. Une nouvelle fenêtre s'ouvre. Sélectionnez l'objet que vous souhaitez filtrer, puis cliquez sur OK.
  5. Faites glisser le nouvel objet du volet gauche vers le modèle de rapport.
  6. Dans le volet Propriétés, accédez à Filtres, puis cliquez sur ¥.
  7. Une nouvelle fenêtre s'ouvre. Sélectionnez le filtre que vous souhaitez utiliser, puis cliquez sur OK.
    Remarque: Si vous choisissez accidentellement un filtre incorrect, vous pouvez cliquer sur l'icône de gomme située à côté de l'option ¥ pour supprimer tous les filtres associés à un objet.
  8. Cliquez sur Aperçu.

    L'objet de votre rapport affichera uniquement les informations relatives au filtre.

Importation de filtres d'objets associés à des utilisateurs

Les filtres d'objets associés à des utilisateurs ne sont pas automatiquement inclus dans Qlik NPrinting Designer, pour des raisons de performances. L'importation de tous les filtres associés à des milliers d'utilisateurs prendrait très longtemps et pourrait entraîner le blocage de Qlik NPrinting.

Pour modifier ce comportement, éditez le fichier webengine.config.

Procédez comme suit :

  1. Ouvrez le fichier webengine.config.
  2. Supprimez les marques de commentaire de la ligne <!-<add key="include-user-filters" />->.
  3. Fermez Qlik NPrinting Designer, puis rouvrez-le.
  4. Tous les filtres stockés dans le référentiel sont à présent téléchargés dans la liste des filtres.

    Cela peut prendre très longtemps, selon le nombre de filtres stockés.

Si vous préférez ne pas éditer le fichier webengine.config, vous pouvez importer manuellement un filtre d'utilisateurs spécifique. Il existe deux façons de procéder :

  • Supprimer l'association aux filtres de tous les utilisateurs
  • Créer un nouveau filtre, non lié à des utilisateurs, avec les mêmes champs et valeurs

Configuration du comportement du rapport

Vous pouvez configurer la façon dont un rapport traite les erreurs de filtre d'objets pour les graphiques et les tables de vos modèles. Ouvrez le rapport, faites défiler la liste vers le bas jusqu'à la section Gestion des erreurs , puis sélectionnez l'une de ces deux options :

  • Générer le rapport. Le contenu non valide sera remplacé par des images d'espace réservé.

    Les graphiques non valides sont remplacés par des images d'espace réservé. Ils ont un arrière-plan gris sur lequel un texte du type « Sélections non valides » est superposé en noir. Ces images sont mises à l'échelle en fonction des paramètres de taille maximale définis dans le modèle de rapport. Les tables non valides sont remplacées par des tables vides sans texte de superposition.

  • Ne pas générer le rapport. Tant que le problème ne sera pas résolu, la génération du rapport échouera.

    La génération du rapport se solde par un échec. Les utilisateurs ne pourront pas le consulter.

Dans Qlik NPrinting April 2018 et versions ultérieures, le comportement par défaut des nouveaux rapports consiste à ajouter des images d'espace réservé. Si vous avez créé des rapports dans Qlik NPrinting February 2018 ou une version antérieure et que vous mettez à jour votre version, vos anciens rapports conserveront le comportement d'échec préexistant.

Configuration d'un contenu vide

Les contenus vides sont affichés sous la forme d'images d'espace réservé. Ils comportent un texte du type « Sélections non valides » superposé en noir. Ce texte superposé est modifiable.

Procédez comme suit :

  1. Ouvrez le fichier de configuration scheduler.config.
  2. Recherchez la balise « empty-content-text ». Supprimez les marques de commentaire de cette ligne, puis éditez la valeur.
  3. Redémarrez Qlik NPrinting scheduler service.

La modification est appliquée à toutes les images d'espace réservé de contenus vides.

Dépannage

Présence de rapports dotés de l'étiquette ÉCHEC dans le dossier de cycles de rapports

Possible cause  

Vos rapports contiennent des filtres d'incompatibilité.

Proposed action  

Vérifiez les filtres associés au rapport. Par exemple, vous avez 2 filtres :

  • Le premier contient → Année : 2012, 2013
  • Le deuxième contient → Année : 2014

Si vous utilisez les deux filtres, leur intersection aboutira à un ensemble vide.

Impossible de générer des rapports

Possible cause  

Le rapport utilise la même dimension dans la hiérarchie des filtres de tâches, d'utilisateurs, de rapports et d'objets.

Proposed action  

Modifiez ou supprimez tous les filtres qui utilisent la même dimension.