Création de requêtes hiérarchiques
Simplifiez et créez des requêtes plus efficaces en tirant parti des relations hiérarchiques dans le générateur de conditions.
Avantages clés
- Filtrez les données de table dans le générateur de conditions en fonction d’une hiérarchie des enregistrements.
- Recherchez dans toute une hiérarchie avec une seule condition.
- Rationalisez la création de requêtes avec moins de maintenance continue.
La création de requêtes dans le générateur de conditions peut devenir fastidieuse lorsque vous devez effectuer une recherche dans chaque niveau d’une relation hiérarchique à l’aide de plusieurs conditions OU. Les requêtes hiérarchiques rationalisent ce processus en vous permettant de spécifier un seul nœud et de rechercher dans la hiérarchie à partir de là, ce qui vous permet d’économiser du temps et des efforts.
Hiérarchies des enregistrements
Par défaut, les hiérarchies d’enregistrements suivantes sont incluses dans votre instance :
- La hiérarchie du département dans la table Département [cmn_department]
- Hiérarchie de l’emplacement dans la table Emplacement [cmn_location]
- La hiérarchie des gestionnaires sur la table Utilisateur [sys_user]
Vous pouvez afficher ces hiérarchies d’enregistrements prédéfinies en accédant à .
Chaque hiérarchie d’enregistrements est basée sur un champ de référence qui contient les relations parent-enfant entre les enregistrements d’une même table.
- La hiérarchie du département est basée sur le champ de référence Parent de la table Département [cmn_department].
- La hiérarchie des emplacements est basée sur le champ de référence Parent dans la table Emplacement [cmn_location].
- La hiérarchie des gestionnaires est basée sur le champ de référence du gestionnaire dans la table Utilisateur [sys_user].
Par exemple, la hiérarchie des emplacements de la table Emplacement [cmn_location] utilise le champ de référence Parent. Chaque emplacement a un parent, qui est un autre enregistrement dans la table Emplacement [cmn_location]. Par exemple, les enregistrements d’emplacement de Chicago et de Springfield ont la valeur sys_id de l’enregistrement d’emplacement de l’Illinois dans leur champ parent. Les adresses postales ont des emplacements sys_id pour les villes auxquelles elles appartiennent dans leur champ parent.
Vous pouvez utiliser la hiérarchie des emplacements dans le générateur de conditions pour créer des requêtes ciblées. Par exemple, vous pouvez spécifier un point de départ dans la hiérarchie des emplacements et interroger la hiérarchie pour récupérer tous les actifs associés aux emplacements dans cette partie de la hiérarchie.
Chemins hiérarchiques
Chaque enregistrement appartenant à une hiérarchie d’enregistrements stocke ses informations hiérarchiques dans un champ de chemin d’accès. Le champ chemin d’accès est utilisé pour effectuer des recherches dans toute la hiérarchie dans le générateur de conditions.
Les chemins d’accès ServiceNow AI Platform de chaque hiérarchie d’enregistrements prédéfinie sont automatiquement générés et stockés dans le champ Chemin d’accès des tables Département [cmn_department], Emplacement [cmn_location] et Utilisateur [sys_user].
- Le chemin d’accès pour les départements est stocké dans le champ HP1 parent de la table Département [cmn_department].
- Le chemin d’accès pour les emplacements est stocké dans le champ HP1 parent de la table Emplacement [cmn_location].
- Le chemin de gestion est stocké dans le champ Gestionnaire HP1 de la table Utilisateur [sys_user].
Par exemple, Création ServiceNow AI Platform automatique du chemin hiérarchique pour chaque enregistrement d’emplacement dans la table Emplacement [cmn_location]. Cela crée une structure imbriquée où chaque emplacement peut avoir des sous-emplacements, formant une hiérarchie arborescente. Le met également à jour ces chemins d’accès ServiceNow AI Platform lorsque des enregistrements sont ajoutés, modifiés ou supprimés.
De nombreuses autres tables contiennent des champs autoréférentiels, indiquant une relation parent-enfant entre les enregistrements. Toutefois, les chemins hiérarchiques ne sont pas générés par les ServiceNow AI Platform dans ces tables tant que vous n’avez pas défini une hiérarchie dans la table Hiérarchie des enregistrements [sys_record_hierarchy].
Cas d'utilisation
Les tables Département [cmn_department], Emplacement [cmn_location] et Utilisateur [sys_user] contiennent des champs de référence avec des relations parent-enfant par défaut.
- Hiérarchie du département
- Recherchez des actifs associés aux départements de votre entreprise à l’aide de la hiérarchie des enregistrements Hiérarchie des départements .
Chaque enregistrement de département contient un chemin hiérarchique, vous permettant de créer des requêtes dans le générateur de conditions en fonction de la hiérarchie du département. Étant donné que les enregistrements d’actifs ont un champ de référence Département, vous pouvez interroger les actifs qui appartiennent à un département spécifique.
- Recherchez tous les actifs qui appartiennent au département IT à l’aide d’une requête telle que :
[Département] [est dans la hiérarchie] [Hiérarchie du département] en commençant à [Informatique] qui est [Inclus]
Dans cet exemple, la recherche dans la hiérarchie renvoie les actifs associés au département informatique, y compris les actifs associés aux départements qui font partie du département informatique, et ainsi de suite.
- Trouvez tous les départements sous le département IT en filtrant directement sur la table Départements [cmn_department] à l’aide d’une requête telle que :
[Parent] [est dans la hiérarchie] [Hiérarchie du département] en commençant à [Informatique] qui est [Inclus]
- Recherchez tous les actifs qui appartiennent au département IT à l’aide d’une requête telle que :
- Hiérarchie des emplacements
- Recherchez des enregistrements en fonction de l’emplacement à l’aide de la hiérarchie des enregistrements Hiérarchie des emplacements.
Chaque enregistrement d’emplacement contient un chemin hiérarchique, vous permettant de créer des requêtes dans le générateur de conditions en fonction de la hiérarchie de l’emplacement. Étant donné que les enregistrements d’incidents ont un champ de référence Emplacement, vous pouvez rechercher des incidents en fonction de l’emplacement de l’appelant.
- Trouvez tous les incidents des appelants basés dans l’Illinois à l’aide d’une requête telle que :
[Emplacement] [est dans la hiérarchie] [Hiérarchie des emplacements] à partir de [Illinois] qui est [Inclus]
Cette requête renvoie les incidents pour lesquels l’appelant se trouve dans l’Illinois, dans une ville de l’Illinois ou à une adresse postale dans une ville de l’Illinois.
- Recherchez les incidents pour les villes et les adresses postales de l’Illinois, mais pas les incidents pour lesquels l’emplacement de l’appelant est simplement l’Illinois à l’aide d’une requête telle que :
[Emplacement] [est dans la hiérarchie] [Hiérarchie des emplacements] à partir de [Illinois] qui est [exclu]
- Recherchez tous les incidents en fonction de votre emplacement en tant qu’utilisateur connecté à l’aide d’un filtre dynamique dans une requête telle que :
[Emplacement] [est dans la hiérarchie (dynamique)] [Hiérarchie des emplacements] à partir de [Mon emplacement] qui est [inclus]
- Trouvez tous les incidents des appelants basés dans l’Illinois à l’aide d’une requête telle que :
- Hiérarchie des gestionnaires
- Recherchez des enregistrements tout au long de la chaîne de gestion de votre organisation à l’aide de la hiérarchie des enregistrements de gestionnaire .
Chaque enregistrement utilisateur contient un chemin hiérarchique, vous permettant de créer des requêtes dans le générateur de conditions en fonction de la hiérarchie de gestion. L’interrogation d’une table et la sélection d’un champ de référence pointant vers la table Utilisateurs [sys_user] vous permettent de parcourir la chaîne de gestion.
- Recherchez tous les incidents affectés aux utilisateurs qui relèvent de Bud Richman à l’aide d’une requête telle que :
[Affecté à] [est dans la hiérarchie] [Hiérarchie des managers] à partir de [Bud Richman] qui est [Inclus]
Dans cet exemple, la recherche dans la hiérarchie renvoie les incidents affectés à Bud Richman, y compris les incidents affectés aux utilisateurs qui dépendent de Bud et de leurs subordonnés directs, et ainsi de suite.
- Recherchez tous les incidents qui vous sont affectés ainsi qu’aux utilisateurs de votre propre organisation à l’aide d’une requête dynamique telle que :
[Affecté à] [est dans la hiérarchie (dynamique)] [Hiérarchie des responsables] en commençant à [Moi] qui est [inclus]
- Affichez la chaîne de gestion elle-même en filtrant directement sur la table Utilisateurs [sys_user] à l’aide d’une requête telle que :
[Responsable] [est dans la hiérarchie] [Hiérarchie des managers] à partir de [Bud Richman] qui est [inclus]
- Affichez les utilisateurs qui dépendent de vous en filtrant directement sur la table Utilisateurs [sys_user] à l’aide d’une requête dynamique telle que :
[Responsable] [est dans la hiérarchie (dynamique)] [Hiérarchie des responsables] en commençant à [Moi] qui est [inclus]
- Recherchez tous les incidents affectés aux utilisateurs qui relèvent de Bud Richman à l’aide d’une requête telle que :
Vue d’ensemble de la création d’une hiérarchie des enregistrements
En plus des hiérarchies d’enregistrements prédéfinies incluses dans votre instance, vous pouvez créer une hiérarchie des enregistrements sur une table de votre choix.
La création d’une hiérarchie entre des enregistrements connexes dans la même table nécessite un champ auto-référencé. Lors de la création de la hiérarchie, vous pouvez soit utiliser un champ de référence existant qui définit déjà les relations parent-enfant, soit créer un champ auto-référencé et le renseigner avec les valeurs appropriées pour chaque enregistrement.
- Identifiez une table contenant des enregistrements parent-enfant que vous souhaitez utiliser pour construire des requêtes hiérarchiques. Par exemple, pour créer des requêtes basées sur des actifs associés, vous pouvez définir une hiérarchie des enregistrements basée sur la table Actif [alm_asset].
- Déterminez le champ de référence de la table qui définit les relations entre les enregistrements. Par exemple, le champ Parent de la table Actif [alm_asset] décrit l’actif parent d’un actif.
- Créez une hiérarchie dans la table Hiérarchies d’enregistrements [sys_record_hierarchy] et spécifiez la table et le champ de référence que vous voulez utiliser. Ajoute ServiceNow AI Platform automatiquement des informations de chemin hiérarchique à chaque enregistrement de la table.
- Créez des requêtes hiérarchiques dans le générateur de conditions en sélectionnant la hiérarchie que vous avez créée. Utilisez des opérateurs pour effectuer une recherche dans la hiérarchie.