2010-08-17 2 views
1

테이블의 선을 표시하는 격자가 있습니다. 이제 다음 두 가지 요구 사항이 있습니다.Dynamics AX에서의 복잡한 데이터 소스 문제

  1. "시간"필드에 값이 포함 된 행만 표시하십시오. "시간"필드는 배열 유형입니다. , 내가 QueryBuildDataSource를 사용하여 배열 값에 액세스 할 수 있기 때문에 이것이 (내 데이터 소스에 SELECT 문을 사용할 필요 요구 사항 # 1을 충족 :

내 문제는이 인 프로젝트에서 라인과 그 하위 프로젝트보기 a Dynamics AX의 limitation).

하지만 요구 사항 2를 충족하려면 두 가지 "존재하는 참여"가 있어야하며 이는 Dynamics AX에서는 가능하지 않습니다. 예를 들어 다음 코드는 작동하지 않습니다.

select from table where 
exists join tableChild where projectId = MyProjectId OR 
exists join tableChild where parentProjectId = MyProjectId 

누군가이 문제를 어떻게 해결합니까?

+0

선택 사항을 표시 할 수 있습니까? –

+0

링크 된 기사가있는 "쿼리 식"이 아닌 쿼리의 배열 값에 액세스 할 수 있습니다. –

답변

0

fieldID2Ext 함수를 사용하여 필드 ID를 제공하는 쿼리 범위에서 배열 값을 사용할 수 있습니다.

보기를 작성하고 위에 환경 설정을 적용 할 수 있습니다.

+0

fieldID2Ex를 사용해 보았지만 "Or"처럼 작동하지 못했습니다. 예를 들어 "dimension [1]> 0 또는 dimension [2]> 0"입니다. "보기를 작성하고 위에 confitions을 적용"할 수 있습니까? –

+0

배열 필드를 사용할 때는 데이터 소스 이름을 사용해야합니다. http://www.axaptapedia.com/Expressions_in_query_ranges#Filter_on_array_fields – user423060

2

제공 한 select 문 예제에서 두 개의 조인이 필요하지 않을 수도 있습니다. where 절이 충분할 수있는 두 가지 조건에 대한 "OR"가있는 단일 존재 조인은 물론 논리적으로 합리적인 조인을 위해 table과 tableChild 사이에 어떤 관계가 있어야합니다.

select from table 
exists join tableChild 
where (tableChild.projectId = MyProjectId || tableChild.parentProjectId = MyProjectId)