带隐式集合运算符的集合修饰符
在集合修饰符中写入选择的标准方法是使用等号。例如:
Year = {">2015"}
集合修改器中等号右侧的表达式称为元素集合。它定义了一组不同的字段值,换句话说就是一个选择。
此表示法定义了新选择项,忽略了字段中的当前选择项。因此,如果集合标识符包含此字段中的选择,则旧的选择将替换为元素集合中的选择。
如果要基于字段中的当前选择进行选择,则需要使用不同的表达式
例如,如果您希望尊重旧的选择,并添加年份在 2015 年之后的要求,您可以编写以下内容:
Year = Year * {">2015"}
星号是定义交集的集合运算符,因此您将获得 Year 中的当前选择与 2015 后的附加要求之间的交集。另一种编写方法如下:
Year *= {">2015"}
也就是说,赋值操作符 (*=) 隐式定义了一个交集。
类似地,可以使用以下公式定义隐式并集、排除和对称差集:+=、–=、/=
示例:带有隐式集合运算符的集合修饰符的图表表达式
加载脚本
将以下数据作为数据加载编辑中的内联加载载入,以创建以下图表表达式示例。
MyTable: Load Year(Date) as Year, Date#(Date,'YYYY-MM-DD') as ISO_Date, Date(Date#(Date,'YYYY-MM-DD'),'M/D/YYYY') as US_Date, Country, Product, Amount Inline [Date, Country, Product, Amount 2018-02-20, Canada, Washer, 6 2018-07-08, Germany, Anchor bolt, 10 2018-07-14, Germany, Anchor bolt, 3 2018-08-31, France, Nut, 2 2018-09-02, Czech Republic, Bolt, 1 2019-02-11, Czech Republic, Bolt, 3 2019-07-31, Czech Republic, Washer, 6 2020-03-13, France, Anchor bolt, 1 2020-07-12, Canada, Anchor bolt, 8 2020-09-16, France, Washer, 1];
有关使用内联加载的详细信息,请参见内联加载。
带有隐式集合运算符的图表表达式
使用以下图表表达式在 Qlik Sense 工作表中创建表。
从国家列表中选择 Canada 和 Czech Republic。
国家 | Sum(Amount) | Sum({<Country*={Canada}>} Amount) | Sum({<Country-={Canada}>} Amount) | Sum({<Country+= {France}>} Amount) |
---|---|---|---|---|
总计 | 24 | 14 | 10 | 28 |
加拿大 | 14 | 14 | 0 | 14 |
捷克共和国 | 10 | 0 | 10 | 10 |
法国 | 0 | 0 | 0 | 4 |
解释
-
维度:
-
Country
-
-
度量:
-
Sum(Amount)
总和 Amount,针对当前选择项。注意,仅 Canada 和 Czech Republic 具有非零值。
-
Sum({<Country*={Canada}>}Amount)
总和 Amount,针对当前选择项,与 Country 为 Canada 的要求相交。如果 Canada 不是用户选择的一部分,则集合表达式将返回一个空集,并且该列的所有行都将为 0。
-
Sum({<Country-={Canada}>}Amount)
总和 Amount,针对当前选择项,但首先从 Country 选择项排除 Canada。如果 Canada 不是用户选择的一部分,则集合表达式不会更改任何数字。
-
Sum({<Country+={France}>}Amount)
总和 Amount,针对当前选择项,但首先将 France 添加至 Country 选择项 。如果 France 不是用户选择的一部分,则集合表达式不会更改任何数字。
-
有关表达式的更多信息,请参阅在可视化中使用表达式。