Les filtres


Definition

Un filtre permet d'extraire un sous-ensemble de données à partir de critères de sélection. 

EndDefinition
  • Il est bâti sur une requête parent permettant de travailler sur un ensemble d'informations homogènes des bases de données.
  • Il peut être élaboré :
    • en mode Visuel (ou assisté) : application de conditions sur les champs de la requête parent et les éventuels champs supplémentaires ajoutés manuellement, avec une aide à la saisie pour certains champs (ex. : plages sur les dates, listes de valeurs, arborescences) ;
    • en mode Avancé : saisie manuelle d'une requête SQL pouvant faire appel à l'ensemble des champs du modèle de données.
  • Il peut contenir des critères :
    • statiques : les valeurs des critères sont renseignées à l'intérieur du filtre et ne peuvent pas être modifiées au moment de son exécution ;
    • dynamiques : les valeurs sont renseignées par l'utilisateur au moment où il utilise le filtre.
  • Il est proposé aux utilisateurs suivant leur profil.

Nature des filtres

Filtres positionnés sur une grille en mode Liste

  • Ils fonctionnent au travers des entrées de menu.

    exemple  Filtre Matériels en service par localisation rattaché à l'entrée de menu Inventaire des matériels  - Open url.png voir Exemple détaillé

  • Ils sont accessibles aux utilisateurs via la liste déroulante Filtre par... du bandeau d'options.
        Filter via list.png
  • Ils peuvent contenir des critères statiques et des critères dynamiques.
     

Filtres rattachés aux outils de reporting internes à Service Manager (indicateurs, alertes, reportings) et aux traitements de purge

  • Ils font partie intégrante de l'objet et ne peuvent pas être utilisés hors de cet objet.
  • Ils n'apparaissent pas dans les filtres positionnés sur une grille en mode Liste, ni sur les autres outils de reporting, ni sur les traitements de purge.
  • Tous peuvent contenir des critères statiques.

    exemple  Filtre de l'indicateur Nombre d'incidents en retard cette semaine

  • Les reportings peuvent également contenir des critères dynamiques : l'utilisateur renseigne les valeurs lorsqu'il exécute le reporting.

    exemple  Filtre du reporting Nombre d'incidents ouverts sur une période contenant à la fois des critères statiques et dynamiques

    • Nombre d'incident ouverts : critère statique
    • Période : critère dynamique, renseigné par chaque utilisateur au moment où il exécute le reporting

Exemple

Le filtre Matériels en service par localisation est rattaché à l'entrée de menu Inventaire des matériels (filtre positionné sur une grille en mode Liste). Il est défini avec les critères suivants :

  • 2 critères statiques : Statut du matériel = En service ; Date de sortie du matériel = Vide
  • Un critère dynamique : Localisation (dernier niveau)

Comment s'effectue l'utilisation du filtre ?

  • L'utilisateur sélectionne le filtre Matériels en service par localisation.
  • Une invite de sélection d'une localisation via Tree open icon.png est affichée.
             Dynamic fields - Example.png
  • Le filtre affiche alors tous les matériels en service rattachés à la localisation sélectionnée (ex. : New York) ayant un statut En service et sans date de sortie du matériel.
             Dynamic fields - Example result.png
  • Une nouvelle sélection d'une localisation peut être effectuée en supprimant le filtre actif.
              Dynamic fields - Example refresh.png

Remarques

  • Droits suivant la nature du filtre :
    • Filtres positionnés sur une grille en mode Liste :
      • Seul un profil ayant les droits d'édition des filtres peut créer / modifier ces filtres  - Open url.png voir Profils utilisateurs > Droits d'édition et d'affichage
      • Les droits d'édition des filtres sont attribués pour l'ensemble des menus.
    • Filtres rattachés aux outils de reporting internes à Service Manager et aux traitements de purge :
      • La création / modification de ces filtres est autorisée sans condition de droits.
  • Des champs peuvent être ajoutés manuellement à la requête parent d'un filtre (quelle que soit sa nature), sous réserve de disposer des droits d'édition des affichages  - Open url.png voir Profils utilisateurs > Droits d'édition et d'affichage
    • Les champs sont affichés sous leur nom d'alias (ou nom logique).
    • Si l'alias n'est pas renseigné, le nom physique du champ est affiché.

      exemple  

      • Nom d'alias : Téléphone  ;  Nom physique : PHONE_NUMBER
      • Nom d'alias : N° de série  ;  Nom physique : AM_ASSET.SERIAL_NUMBER
  • Requêtes SQL :
    • Elles sont saisies via le mode Avancé. Une requête SQL peut également être saisie pour un champ particulier via le mode Avancé local (option apparaissant dans la liste déroulante des champs)  - Open url.png voir Procédure
    • Un même filtre peut contenir à la fois des conditions déclarées en mode Visuel et des conditions déclarées en mode Avancé local  - Open url.png voir Exemples de conditions
    • Le basculement du mode Avancé au mode Visuel est possible si la requête utilise uniquement des champs disponibles dans la requête parent et les éventuels champs ajoutés manuellement.
    • La syntaxe des requêtes SQL est vérifiée lorsque le filtre est enregistré.
    • Une requête SQL peut contenir des requêtes imbriquées simples avec comptage ou regroupement, et peut utiliser des fonctions SQL.
    • Une requête SQL utilisant un champ dynamique n'est pas prise en compte.

Bonnes pratiques

  • Si vous souhaitez ajouter des champs dans la requête parent du filtre, faites-le avant d'éditer le filtre  - Open url.png voir Procédure Comment modifier une requête parent
  • Donnez un nom "parlant" au filtre permettant de repérer facilement les critères appliqués.
  • Vérifiez que vos conditions sont correctes. Un point d'exclamation ! affiché à la fin de la ligne de condition indique que celle-ci n'est pas renseignée correctement.
  • Démarrez la construction du filtre en mode Visuel puis basculez en mode Avancé pour affiner les critères de sélection via la requête SQL : celle-ci est automatiquement initialisée à partir des critères de sélection utilisés en mode Visuel.
  • Utilisez l'accès rapide Visibilité pour attribuer les droits d'accès par profil à un filtre. Vous pouvez également les définir via l'écran des profils utilisateurs.

Spécificités des versions 2016 et antérieures

L'éditeur de filtre des versions 2016 et antérieures présente certaines différences.

  • Filtres positionnés sur une grille en mode Liste : Les droits d'édition sont accordés par profil au niveau du module auquel est rattachée l'entrée de menu utilisant le filtre  - Open url.png voir Profils utilisateur

Accès

  • Filtres positionnés sur une grille en mode Liste : sur tous les écrans en mode Liste, option Éditer le filtre Edit icon.png en bas de la liste déroulante Filtre par... du bandeau d'options (Note : Sous réserve de disposer des droits d'édition des filtres)
             Edit rights - Filter.png
  • Filtres rattachés aux outils de reporting internes à Service Manager et aux traitements de purge  : via la fiche de l'objet (indicateur, alerte, reporting, purge) (Note : Sans condition de droits)

Description de l'écran : Mode Visuel

Caractéristiques d'un filtre en mode Visuel

  • Chaque ligne définit une condition du filtre.
  • Une condition se décompose en un champ et une valeur appliquée à celui-ci. Elle peut également être écrite sous forme d'une requête SQL via le mode Avancé local d'un champ.
  • Plusieurs conditions principales peuvent être combinées dans le filtre. Elles doivent toutes être liées par le même opérateur logique (ET ou OU).
  • Plusieurs sous-conditions peuvent être imbriquées dans une condition. Elles doivent toutes être liées par le même opérateur logique (ET ou OU).

    Open url.png voir Exemples de conditions

        Filter editor.png

(1) Barre de titre
Note : Uniquement pour un filtre positionné sur une grille en mode Liste

  • Affiche le nom du filtre en cours d'édition.
  • La liste déroulante affiche tous les filtres définis pour l'entrée de menu.
  • La coche indique si le filtre est celui appliqué par défaut lorsque l'entrée de menu est ouverte en mode Liste (Default filter icon - On.png) ou non (Default filter icon - Off.png)  - Open url.png voir procédure Comment définir un filtre par défaut
     
  • Mode Avancé / Mode Visuel : Permet de basculer entre les 2 modes de conception du filtre.
Mode Visuel Mode Avancé

Saisie des conditions du filtre via des aides à la saisie

Filter editor - Visual mode.png

Saisie d'une requête SQL

Filter editor - Advanced mode.png

  • Visibilité : Permet de sélectionner les profils autorisés à utiliser le filtre sur une entrée de menu  - Open url.png voir Procédure
    • Note : Il ne s'agit pas de l'attribution des droits d'édition du filtre.
       
  • Champs dynamiques : Permet de sélectionner les champs utilisés comme critères dynamiques  - Open url.png voir Procédure
    • La valeur d'un champ dynamique est renseignée par l'utilisateur au moment où il utilise le filtre. Les options proposées pour chaque champ varient suivant la nature du champ.

      exemple  Champ dynamique Priorité ==> Liste de valeurs, options Vide et Non vide

      Dynamic fields - Example options.png

       

(2) Éditeur de filtre en mode Visuel
Note : Pour tous les filtres, quelle que soit leur nature

  • Cliquez sur la zone Select new field area.png en mode création d'une nouvelle condition, ou sur l'un des champs du filtre Select existing field area.png pour afficher la liste des champs disponibles.
             New filter procedure - List fields.png
    • La liste affiche tous les champs issus de la requête parent, et les champs supplémentaires ajoutés manuellement.
    • L'option Mode Avancé, toujours positionnée en dernière position de la liste, permet de saisir une requête SQL pour le champ (mode Avancé local).
    • Chaque champ est identifié par son nom physique et son alias (ou nom logique).
    • La recherche d'un champ s'effectue sur ces 2 éléments.

      exemple  

      • Nom d'alias : Téléphone  ;  Nom physique : PHONE_NUMBER
      • Nom d'alias : N° de série  ;  Nom physique : AM_ASSET.SERIAL_NUMBER
  • Les opérateurs de filtre (ex. : Égal à, Est vide) et les options (ex. : Texte, Date) varient suivant la nature du champ sélectionné  - Open url.png voir Procédure
        Select new field area - Contextual options.png

Procédures

Comment créer un filtre positionné sur une grille en mode Liste

Notes

  • Vous devez être rattaché à un profil ayant les droits d'édition des filtres  - Open url.png voir Profils utilisateurs > Droits d'édition et d'affichage
  • Pour créer un filtre rattaché à un outil de reporting interne à Service Manager ou à un traitement de purge, reportez-vous à la procédure décrite dans ces pages : indicateurs, alertes, reportings, purge.
     

Étape 1 (optionnelle) : Ajout de champs dans la requête parent du filtre

Note : Vous devez être attaché à un profil ayant les droits d'édition des affichages.

1. Allez sur l'entrée de menu pour laquelle vous souhaitez créer le nouveau filtre.
L'écran en ouvert en mode Liste.

2. Cliquez sur Tools icon.png dans la barre de titre > option Éditer.
La liste de tous les champs issus de la requête parent associée à l'entrée de menu et les champs supplémentaires ajoutés manuellement est affichée.

3. Ajoutez les champs souhaités  - Open url.png voir procédure Comment modifier une requête parent

Étape 2 : Création du nouveau filtre

    Note : Vous pouvez initialiser le nouveau filtre à partir d'un filtre modèle  - Open url.png voir Procédure

1. Allez sur l'entrée de menu pour laquelle vous souhaitez créer le nouveau filtre.
L'écran en ouvert en mode Liste.

2. Cliquez sur l'option Éditer le filtre Edit icon.png en bas de la liste déroulante Filtre par... du bandeau d'options.
         Edit rights - Filter.png

  • L'éditeur de filtre est ouvert. 
  • Le filtre courant est affiché en mode Visuel.

3. Cliquez sur + Nouveau.

  • Un nouveau filtre est automatiquement initialisé. 
  • La première condition est affichée.

         New filter procedure - Initialization.png


Étape 3 : Configuration du nouveau filtre

    Open url.png voir Exemples de conditions

1. Saisissez le nom du filtre dans la zone de titre. Renseignez les libellés multilingues via Multilingual labels icon.png.

2. Initialisez la première condition principale du filtre en cliquant sur la zone de sélection du champ.
         New filter procedure - Select field.png
La liste des champs issus de la requête parent associée à l'entrée de menu et les éventuels champs supplémentaires ajoutés manuellement est affichée.
         New filter procedure - List fields.png

3. Définissez la condition.

Best Practice icon.png  Un point d'exclamation ! est affiché à la fin de la ligne de condition si celle-ci comporte des erreurs.

Saisie d'une requête SQL pour le champ (utilisation du mode Avancé local)

  • Cliquez sur l'option Mode Avancé en bas de la liste des champs.
  • Saisissez la requête SQL dans la zone de saisie du champ. Note : La syntaxe est vérifiée lorsque le filtre est enregistré.
             New filter procedure - Enter SQL query.png
     

Saisie assistée d'une condition

  • Cliquez sur le champ à ajouter à la condition.
  • Renseignez les options de la condition : opérateurs de filtre (ex. : Égal à, Est vide), valeur de comparaison (ex. : Texte, Date).
    • Les options varient suivant la nature du champ.
    • La valeur de comparaison peut être :
      • New filter procedure - Comparison option field - Literal icon.png Litéral : une valeur alphanumérique.
      • New filter procedure - Comparison option field - Database field icon.png Champ : la valeur d'un champ de la base de données.
                 New filter procedure - Comparison option field - Literal or field value.png
      • List open icon.png : une valeur sélectionnée dans une liste de valeurs.
                 New filter procedure - Comparison option field - List of values.png
      • Tree open icon.png : une valeur saisie à partir d'une arborescence.
                 New filter procedure - Comparison option field - Tree structure.png

4. Définissez les autres conditions du filtre.

  • Toutes les conditions de même niveau doivent être liées par le même opérateur logique (ET ou OU).
  • Vous pouvez imbriquer des sous-conditions dans une condition.
  • Vous pouvez supprimer une condition via X.
             New filter procedure - Delete condition.png
     
Opérateur ET   AND condition icon.png Opérateur OU   OR condition icon.png

Toutes les conditions doivent être vérifiées.

New filter procedure - AND condition.png

Une seule des conditions doit être vérifiée.

New filter procedure - OR condition.png

Étape 4 (optionnelle) : Affinement du filtre en mode Avancé

1. Cliquez sur Mode Avancé.
Note : Un message d'erreur est affiché si l'une des conditions n'est pas correcte.

Toutes les conditions du filtre sont automatiquement transcrites dans une requête SQL.

2. Effectuez les modifications souhaitées.

3. Cliquez sur Mode Visuel pour revenir sur l'éditeur de filtre visuel.
Note : Le basculement du mode Avancé au mode Visuel est possible si la requête utilise uniquement des champs disponibles dans la requête parent et les éventuels champs ajoutés manuellement.

Étape 5 (optionnelle) : Saisie des champs interactifs

1. Cliquez sur Champs dynamiques.

2. Cliquez sur Plus icon.png en regard d'un champ de la colonne Liste des champs pour le rendre dynamique. (1)
Le champ passe automatiquement dans la colonne Champs interactifs.

3. Survolez un champ de la colonne Champs interactifs puis cliquez sur l'icône Dynamic fields - Deselected icon - On.png pour le supprimer des champs dynamiques. (2)

4. Cliquez sur OK.

         Dynamic fields - Selection.png

Étape 6 : Sélection des profils devant avoir accès au filtre

Note : Vous pouvez également les définir via l'écran des profils utilisateurs.

1. Cliquez sur Visibilité.
Par défaut, tous les profils sont autorisés.

2. Sélectionnez dans la colonne Visible les profils pour lesquels vous ne souhaitez pas autoriser l'accès au filtre, puis cliquez sur Next icon.png. (1)
Les profils passent automatiquement dans la colonne Invisible.

3. Sélectionnez un profil de la colonne Invisible puis cliquez sur Previous icon.png pour lui redonner accès au filtre. (2)

4. Cliquez sur OK.
         Profiles - Selection.png

Étape 7 : Sauvegarde et test du nouveau filtre

1. Cliquez sur Enregistrer.
Le filtre est ajouté dans la liste déroulante Filtre par... du bandeau d'options et devient accessible pour les profils autorisés.

2. Cliquez sur Appliquer le filtre.

  • L'éditeur de filtre est fermé.
  • Le filtre est automatiquement appliqué sur l'écran en mode Liste.

3. Vérifiez l'affichage des résultats.

4. Vérifiez que seuls les profils autorisés ont accès au filtre.

Comment créer un filtre à partir d'un modèle

Note : Uniquement pour les filtres positionnés sur une grille en mode Liste

Étape 1 : Sélection du filtre modèle

1. Allez sur l'entrée de menu pour laquelle vous souhaitez créer le nouveau filtre.

2. Cliquez sur l'option Éditer le filtre Edit icon.png en bas de la liste déroulante Filtre par... du bandeau d'options.

  • L'éditeur de filtre est ouvert. 
  • Le filtre par défaut de l'entrée de menu est affiché en mode Visuel.

3. Sélectionnez le filtre modèle dans la liste déroulante.
Les conditions du filtre sont affichées.

Étape 2 : Création du nouveau filtre

1. Modifiez les informations souhaitées du filtre modèle  - Open url.png voir Procédure détaillée

2. Cliquez sur Enregistrer sous pour ne pas écraser le modèle et donnez un nom au nouveau filtre.

3. Cliquez sur Appliquer le filtre.

  • L'éditeur de filtre est fermé.
  • Le filtre est automatiquement appliqué sur l'écran en mode Liste.

Comment définir le filtre par défaut sur une entrée de menu

Note : Uniquement pour les filtres positionnés sur une grille en mode Liste

Étape 1 : Sélection du filtre par défaut

1. Allez sur l'entrée de menu pour laquelle vous souhaitez définir le filtre par défaut.

2. Sélectionnez le filtre qui doit s'ouvrir par défaut pour cet écran.

3. Cliquez sur l'option Éditer le filtre Edit icon.png en bas de la liste déroulante Filtre par... du bandeau d'options.

  • L'éditeur de filtre est ouvert. 
  • Le filtre sélectionné est affiché en mode Visuel. Note : Vous pouvez sélectionner un autre filtre dans la liste déroulante.

4. Cliquez sur la coche Default filter icon - Off.png dans la barre de titre du filtre.
Automatiquement, la coche est modifiée en Default filter icon - On.png.
    Default filter - Information.png

5. Cliquez sur Appliquer le filtre.

  • L'éditeur de filtre est fermé.
  • Le filtre est automatiquement appliqué sur l'écran en mode Liste.

Étape 2 : Test du bon comportement du filtre

1. Quittez puis revenez sur l'entrée de menu.

2. Vérifiez que le filtre qui s'ouvre automatiquement en mode Liste est le filtre par défaut que vous venez de définir.

Exemples de conditions

Afficher les demandes de service des dernières 24 heures
Mode Visuel Mode Avancé

Example conditions visual mode - Example 1.png

Zoom

{# FILTER_DATE('SD_REQUEST.SUBMIT_DATE_UT', 'LASTHOURS', '24') #}
AND SD_META_STATUS.META_STATUS_GUID IN ('{C9FB9FC4-BDDB-4D31-8F5B-9913F34EE888}')
Afficher les CI disponibles
Mode Visuel Mode Avancé

Example conditions visual mode - Example 2.png

Zoom

SELECT COUNT(CMDB_UNAVAILABILITY.UNAVAILABILITY_ID) FROM CMDB_UNAVAILABILITY
   WHERE (CMDB_UNAVAILABILITY.ASSET_ID = AM_ASSET.ASSET_ID)
   AND ( (CMDB_UNAVAILABILITY.END_DATE IS NULL) OR (CMDB_UNAVAILABILITY.END_DATE >  GETUTCDATE()) ) ) <= 0
AND ( {# FILTER_DATE('AM_ASSET.REMOVED_DATE', 'AFTER', 'TODAY') #} OR AM_ASSET.REMOVED_DATE IS NULL )
Afficher les tickets avec résolution immédiate
Mode Visuel Mode Avancé

Example conditions visual mode - Example 3.png

Zoom

( SD_REQUEST.FIRST_CALL_RESOLUTION = 1 AND SD_REQUEST.FIRST_CALL_RESOLUTION is not null )
AND SD_META_STATUS.META_STATUS_GUID IN ('{FADD193C-E50F-4AB8-BE4B-928D6E2B2CD4}')
AND ( SD_REQUEST.OWNING_GROUP_ID IN (SELECT GROUP_ID FROM AM_EMPLGROUP WHERE EMPLOYEE_ID IN (@EMPLOYEE_ID@))
     OR SD_REQUEST.OWNING_GROUP_ID IN (SELECT GROUP_ID FROM AM_GROUP WHERE AM_GROUP.MANAGER_ID IN (@EMPLOYEE_ID@)) )
Tags:
Modifié par Utilisateur inconnu le 2021/05/18 16:23
Créé par Administrator XWiki le 2013/03/25 18:12

Raccourcis

L'actualité mensuelle
•  Newsletter

Tous les changements
•  Service Manager
•  Service Apps
•  Self Help
•  Service Bots

Powered by XWiki ©, EasyVista 2021