집합 수정자 및 암시적 필드 값 정의

다음 섹션에서는 중첩된 집합 정의를 사용하여 필드 값 집합을 정의하는 방법을 설명합니다.

이러한 경우 사용 가능한 값의 요소 집합과 필드의 제외된 값을 각각 나타내는 요소 함수 P() 및 E()를 사용해야 합니다. 괄호 안에는 하나의 집합 표현식과 하나의 필드를 지정할 수 있습니다(예: P({1} Customer)). 이러한 함수는 다른 표현식에는 사용할 수 없습니다.

참고: 요소 함수 P() 및 E()는 자연 집합에서만 사용할 수 있습니다. 즉, 간단한 선택으로 정의할 수 있는 레코드 집합입니다. 예를 들어 {1-$}로 지정된 집합은 선택을 통해 정의하지 못할 수도 있으므로 자연 집합이 아닙니다. 자연 집합이 아닌 집합에서 이러한 함수를 사용하면 예기치 않은 결과가 발생할 수 있습니다.

Examples and results:  

결과
sum( {$<Customer = P({1<Product={‘Shoe’}>} Customer)>} Sales )

'Shoe' 제품을 구매한 적이 있는 고객에 한해 현재 선택의 판매량을 반환합니다. 여기서 요소 함수 P( )는 Product 필드의 'Shoe' 선택으로 유추된 사용 가능한 고객 목록을 반환합니다.

sum( {$<Customer = P({1<Product={‘Shoe’}>})>} Sales )

위와 같습니다. 요소 함수의 필드가 생략된 경우 이 함수는 외부 할당에서 지정한 필드의 사용 가능한 값을 반환합니다.

sum( {$<Customer = P({1<Product={‘Shoe’}>} Supplier)>} Sales )

'Shoe' 제품을 공급한 적이 있는 고객에 한해 현재 선택의 판매량을 반환합니다. 여기서 요소 함수 P( )는 Product 필드의 'Shoe' 선택으로 유추된 사용 가능한 공급자 목록을 반환합니다. 이때 공급자 목록은 Customer 필드에서 선택 항목으로 사용됩니다.

sum( {$<Customer = E({1<Product={‘Shoe’}>})>} Sales )

'Shoe' 제품을 구매한 적이 없는 고객에 한해 현재 선택의 판매량을 반환합니다. 여기서 요소 함수 E( )는 Product 필드에서 'Shoe' 선택에 의해 제외된 고객 목록을 반환합니다.