Abfragen von hierarchischen Daten
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Microsoft Dynamics 365 (online und lokal) führt die Möglichkeit ein, spezifische selbstreferenzielle Eins-zu-Viele-Entitätsbeziehungen als hierarchisch zu definieren. Sie können Abfragen schreiben, die verknüpfte in diesen Hierarchien zurückgeben.
Sie können neue Abfragebedingungsoperatoren nutzen, um Entitäten mit expliziten hierarchischen Beziehungen abzufragen. Diese Operatoren gelten nur für die Entitätsbeziehungen, die speziell als hierarchische Beziehungen definiert sind. Sie können neue Bedingungsoperatoren verwenden, um diese hierarchischen Daten zu verwenden, wenn Sie mit QueryExpression oder FetchExpression abfragen.
Hinweis
Der OData-Endpunkt wurde nicht geändert, um Abfragen von hierarchischen das Daten zu unterstützen.
Bedingungsoperatoren für hierarchische Daten
Verwenden Sie die folgenden Poeratoren, um Bedingungen festzulegen, wenn Sie hierarchische Daten abfragen.
FetchXML |
ConditionOperator |
Beschreibung |
---|---|---|
above |
Above |
Gibt alle Datensätze in der Vorfahrenlinie des referenzierten hierarchischen Datensatzes zurück. |
eq-or-above |
AboveOrEqual |
Gibt den referenzierten Datensatz und alle Datensätze über diesem in der Hierarchie zurück. |
under |
Under |
Gibt alle untergeordneten Datensätze in dem referenzierten Datensatz in der Hierarchie zurück. |
eq-or-under |
UnderOrEqual |
Gibt den referenzierten Datensatz und allle untergeordneten Datensätze in in der Hierarchie zurück. |
not-under |
NotUnder |
Gibt alle untergeordneten Datensätze nicht unter dem referenzierten Datensatz in der Hierarchie zurück. |
eq-owneduseroruserhierarchy |
OwnedByMeOrMyReports |
Wenn hierarchische Sicherheitsmodelle verwendet werden, ist dies dem aktuellen Benutzer oder dessen Berichterstellungshierarchie gleich. |
eq-useroruserhierarchyandteams |
OwnedByMeOrMyReportsAndTeams |
Wenn hierarchische Sicherheitsmodelle verwendet werden, ist dies dem aktuellen Benutzer und seinen Teams oder seiner Berichterstellungshierarchie und ihren Teams gleich. |
Rekursion begrenzt, wann hierarchisch Daten abgefragt werden
Da das Abfragen von Daten ressourcenintensiv sein kann, gibt es ein Standardlimit von 100 rekursionenszulässigen Bedingungen für hierarchische Abfragen mithilfe von Above, AboveOrEqual, Under, UnderOrEqual und NotUnder-Bedingungsoperatoren.
Diese Beschränkungen können mithilfe der Windows PowerShell-Befehle durch den bereitstellungswebdienst angepasst werden.Weitere Informationen:TechNet: Ausführen von Bereitstellungsaufgaben mithilfe von Windows PowerShell.
OwnedByMeOrMyReports und OwnedByMeOrMyReportsAndTeams sind hierarchische Sicherheitszustandsoperatoren, die von der Hierarchien-Tiefe-Einstellung abhängen, die in Einstellungen > Sicherheit > Hierarchien-Sicherheit angezeigt werden kann. Der Wert dieser Einstellung ist im Organization.MaxDepthForHierarchicalSecurityModel-Attribut gespeichert.
Rufen Sie die Anzahl von hierarchisch verknüpften untergeordneten Datensätzen ab
Verwenden Sie das FetchXML-Attribut in einer rowaggregate-basierten Abfrage, um die Anzahl von hierarchisch verknüpften untergeordneten Datensätzen abzurufen. Wenn der Wert auf CountChildren festgelegt ist, wird ein Wert ist, der die Gesamtanzahl von untergeordneten Datensätzen für den Datensatz enthält, in die Datei EntityCollection eingeschlossen. Zum Beispiel schließt die folgende Abfrage einen der AccountChildren-Gesamtwert ein, der die Anzahl von untergeordneten Firmendatensätzen in der hierarchischen Beziehung darstellt, in der der Parameter {0} den AccountId des übergeordneten Datensatzes darstellt.
<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>
Hinweis
Der zurückgegebene Gesamtwert enthält alle untergeordneten Datensätze, einschließlich solcher, für die der Benutzer möglicherweise keinen Lesezugriff hat.
Siehe auch
ConditionOperator
Anpassen von Entitätsbeziehungsmetadaten
Abfragen erstellen mit FetchXML
Erstellen von Abfragen mit QueryExpression
FetchXML schema
Video: Hierarchien-Visualisierung in Microsoft Dynamics CRM 2015
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright