Interroger les données hiérarchiques
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Microsoft Dynamics 365 (Online et local) présente la fonctionnalité de définition de relations d'une entité à plusieurs auto-référentielles comme hiérarchique. Vous pouvez entrer des requêtes qui renvoient des données associées dans ces hiérarchies.
Vous pouvez tirer parti des nouveaux opérateurs de condition de requête pour interroger les entités avec des relations hiérarchiques explicites. Ces opérateurs s'appliquent uniquement aux relations d'entité spécifiquement définies comme relation hiérarchique. Vous pouvez utiliser de nouveaux opérateurs de condition pour récupérer ces données hiérarchiques lorsque vous utilisez QueryExpression ou FetchExpression.
Notes
Le point de terminaison OData n'a pas été modifié pour prendre en charge l'interrogation des données hiérarchiques.
Opérateurs de condition des données hiérarchiques
Utilisez les opérateurs suivants pour définir des conditions lors de l'interrogation des données hiérarchiques.
FetchXML |
ConditionOperator |
Description |
---|---|---|
above |
Above |
Renvoie tous les enregistrements de la ligne hiérarchique de l'ascendance de l'enregistrement référencé. |
eq-or-above |
AboveOrEqual |
Renvoie l'enregistrement référencé et tous les enregistrements supérieurs dans la hiérarchie. |
under |
Under |
Renvoie tous les enregistrements enfants inférieurs à l'enregistrement référencé dans la hiérarchie |
eq-or-under |
UnderOrEqual |
Renvoie l'enregistrement référencé et tous les enregistrements enfants inférieurs à lui dans la hiérarchie |
not-under |
NotUnder |
Renvoie tous les enregistrements non inférieurs à l'enregistrement référencé dans la hiérarchie |
eq-owneduseroruserhierarchy |
OwnedByMeOrMyReports |
Lorsque les modèles de sécurité hiérarchique sont utilisés, équivaut à l'utilisateur actuel ou sa hiérarchie directe |
eq-useroruserhierarchyandteams |
OwnedByMeOrMyReportsAndTeams |
Lorsque les modèles de sécurité hiérarchique sont utilisés, équivaut à l'utilisateur actuel et ses équipes ou sa hiérarchie directe et ses équipes |
Limites de la récursivité lors de l'interrogation des données hiérarchiques
Du fait que l'interrogation des données hiérarchiques peut entraîner l'utilisation intensive des ressources,une limite par défaut est définie sur 100 conditions de récursivité autorisées pour les requêtes hiérarchiques utilisant les opérateurs de condition Above, AboveOrEqual, Under, UnderOrEqual et NotUnder.
Ces limites peuvent être ajustées à l'aide des commandes Windows PowerShell via le service Web de déploiement.Pour plus d'informations :TechNet : Administrer le déploiement à l’aide de Windows PowerShell.
OwnedByMeOrMyReports et OwnedByMeOrMyReportsAndTeams sont des opérateurs de condition de sécurité hiérarchique qui dépendent du paramètre Détail de la hiérarchie qui se trouve dans Paramètres > Sécurité > Sécurité de la hiérarchie. La valeur de ce paramètre est stockée dans l’attribut Organization.MaxDepthForHierarchicalSecurityModel.
Extraction du nombre d'enregistrements enfants associés de manière hiérarchique
Utilisez l'attribut de rowaggregate dans une requête basée sur FetchXML pour extraire le nombre d'enregistrements enfants associés de manière hiérarchique. Lorsque cette valeur est définie sur CountChildren, une valeur incluant le nombre total d'enregistrements enfants pour l'enregistrement est incluse dans EntityCollection. Par exemple, la requête suivante inclut une valeur d'AccountChildren globale représentant le nombre d'enregistrements de comptes enfants dans les relations hiérarchiques où le paramètre {0} représente l'AccountId de l'enregistrement parent.
<fetch distinct='false' no-lock='false' mapping='logical'>
<entity name='account'>
<attribute name='name' />
<attribute name='accountid' />
<attribute name='accountid' rowaggregate='CountChildren' alias='AccountChildren'/>
<filter type='and'>
<condition attribute='accountid' operator='under' value='{0}' />
</filter>
</entity>
</fetch>
Notes
La valeur globale renvoyée représente tous les enregistrements enfants, y compris ceux auxquels l'utilisateur peut ne pas avoir accès en lecture.
Voir aussi
ConditionOperator
Personnaliser des métadonnées de relation d’entité
Générer des requêtes avec FetchXML
Générer des requêtes avec QueryExpression
FetchXML schema
Vidéo : Visualisation de hiérarchie dans Microsoft Dynamics CRM 2015
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright