다음을 통해 공유


계층적 데이터 쿼리

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365(온라인 및 온-프레미스)에서는 특정 자체 참조 일대다 엔터티 관계를 계층적으로 정의하는 기능을 소개합니다. 이러한 계층 구조에 있는 관련 데이터를 반환하는 쿼리를 작성할 수 있습니다.

개발자는 새로운 쿼리 조건 연산자를 이용하여 명시적 계층적 관계를 사용하여 엔터티를 쿼리할 수 있습니다. 이러한 연산자는 계층적 관계로 명시적으로 정의된 엔터티 관계에만 적용됩니다.QueryExpression 또는 FetchExpression를 사용하여 쿼리할 때 새 조건 연산자를 사용하여 이 계층적 데이터를 검색할 수 있습니다.

참고

OData 끝점은 계층적 데이터 쿼리를 지원하도록 변경되지 않았습니다.

계층적 데이터를 위한 조건 연산자

계층적 데이터를 쿼리할 때 다음 연산자를 사용하여 조건을 설정합니다.

FetchXML

ConditionOperator

설명

above

Above

참조되는 레코드의 상위 계층 구조에 있는 모든 레코드를 반환합니다.

eq-or-above

AboveOrEqual

계층 구조에서 참조되는 레코드 및 모든 상위 레코드를 반환합니다.

under

Under

계층 구조에서 참조되는 레코드의 모든 하위 레코드를 반환합니다.

eq-or-under

UnderOrEqual

계층 구조에서 참조되는 레코드 및 모든 하위 레코드를 반환합니다.

not-under

NotUnder

계층 구조에서 참조되는 레코드의 모든 하위 레코드를 반환하지 않습니다.

eq-owneduseroruserhierarchy

OwnedByMeOrMyReports

계층적 보안 모델을 사용할 때 현재 사용자 또는 하위 계층 구조와 동일

eq-useroruserhierarchyandteams

OwnedByMeOrMyReportsAndTeams

계층적 보안 모델을 사용할 때 현재 사용자와 그의 팀 또는 하위 계층 구조와 해당 팀과 동일

계층적 데이터를 쿼리할 때 재귀를 제한

계층적 데이터 쿼리는 리소스를 많이 사용할 수 있으므로 Above, AboveOrEqual, Under, UnderOrEqualNotUnder 조건 연산자를 사용하는 계층적 쿼리의 경우 기본 제한은 100개의 재귀 허용 조건이 있습니다.

이러한 제한은 배포 웹 서비스를 통해 Windows PowerShell 명령을 사용하여 조정할 수 있습니다.추가 정보:TechNet: Windows PowerShell을 사용한 배치 관리.

OwnedByMeOrMyReportsOwnedByMeOrMyReportsAndTeams설정 > 보안 > 계층 구조 보안에 있는 계층 구조 수준 설정에 따라 달라지는 계층적 보안 조건 연산자입니다. 이 설정의 값은 Organization.MaxDepthForHierarchicalSecurityModel 특성에 저장됩니다.

계층적으로 관련된 자식 레코드의 수를 검색합니다.

FetchXML 기반 쿼리에서 rowaggregate 특성을 사용하여 계층적으로 관련된 자식 레코드의 수를 검색합니다. 이 값이 CountChildren로 설정되면 레코드의 총 자식 수를 나타내는 값은 EntityCollection에 포함됩니다. 예를 들어, 다음 쿼리는 {0} 매개 변수가 부모 레코드의 AccountId를 나타내는 계층적 관계에 있는 자식 계정 레코드의 수를 나타내는 AccountChildren 집계 값을 포함합니다.

<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>

참고

집계 값은 사용자가 읽기 액세스를 갖고 있지 않을 수 있는 레코드를 포함한 모든 자식 레코드를 나타냅니다.

참고 항목

ConditionOperator
엔터티 관계 메타데이터 사용자 지정
FetchXML을 사용하여 쿼리 작성
QueryExpression을 사용하여 쿼리 작성
FetchXML schema
비디오: Microsoft Dynamics CRM 2015의 계층 구조 가시화

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보