跳到主要内容 跳到补充内容

使用集合函数的集合修饰符

有时需要使用嵌套的集合定义定义一组字段值。例如,您可能希望选择购买了特定产品的所有客户,而不选择该产品。

在这种情况下,请使用元素集函数 P()E()。它们分别返回字段的可能值和排除值的元素集。在括号内,可以指定相关字段和定义范围的集合表达式。例如:

P({1<Year = {2021}>} Customer)

这将返回 2021 年有交易的客户集。然后可以在集合修饰符中使用此选项。例如:

Sum({<Customer = P({1<Year = {2021}>} Customer)>} Amount)

此集合表达式将选择这些客户,但不会将选择限制在 2021 年。

这些函数不能用于其他表达式。

此外,在元素集函数中只能使用自然集合。即,可通过简单选择项定义的记录集合。

例如,通过 {1-$} 指定的集合无法始终通过选择项进行定义,因此该集合不是自然集合。在非自然集合中使用这些函数将返回意外结果。

示例:使用集合函数的集合修饰符的图表表达式

示例 结果
sum( {$<Customer = P({1<Product={'Shoe'}>} Customer)>} Sales )

返回当前选择项的销售额,但仅限购买过产品“Shoe”的客户。元素函数 P( ) 在此返回可能的客户列表;即字段 Product 中的选择项“Shoe”暗指的那些客户。

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

同上。如果省略 Element 函数中的字段,该函数将返回外部任务中指定字段的正值。

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

返回当前选择项的销售额,但仅限提供过产品“Shoe”的客户,即客户也是供应商。元素函数 P( ) 在此返回可能的供应商列表;即字段 Product 中的选择项“Shoe”暗指的那些供应商。供应商列表随后用作字段 Customer 中的选择项。

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

返回当前选择项的销售额,但仅限从未购买过产品“Shoe”的那些客户。元素函数 E( ) 在此返回排除的客户列表;即根据字段 Product 中的选择项“Shoe”排除的那些客户。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!