含隱含欄位值定義的集合修飾詞

以下說明如何使用巢狀集合定義來定義欄位值集合。

在這種情況下,必須使用元素函數 P() and 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」產品的客戶。元素函數 P( ) 在此會傳回已排除客戶的清單,亦即以欄位 Product 中選項為「Shoe」所排除的客戶。