集合修饰符和高级搜索在该页面上
可以通过使用集合修饰符进行搜索来创建元素集合。
例如:
<Country = {"C*"}>
<Year = {">2015"}>
<Ingredient = {"*garlic*"}>
搜索应始终用双引号、方括号或严肃的重音符号括起来。您可以使用混合了文字字符串(单引号)和搜索(双引号)的列表。例如:
<Product = {'Nut', "*Bolt", Washer}>
文本搜索
通配符和其他符号可用于文本搜索:
星号 (*) 表示任意数量的字符。
问号 (?) 表示单个字符。
扬抑重音 (^) 将标记单词的开头。
例如:
数字搜索
您可以使用以下关系运算符进行数字搜索:> 、>= 、< 、<=
数值搜索始终以这些运算符之一开始。例如:
表达式搜索
可以使用表达式搜索进行更高级的搜索。然后为搜索字段中的每个字段值计算聚合。将选择搜索表达式返回 true 的所有值。
表达式搜索始终以等号开头: =
例如:
<Customer = {"=Sum(Sales)>1000"}>
这将返回销售额大于1000的所有客户。Sum(Sales) 根据当前选择计算。这意味着,如果您在另一个字段(如 Product 字段)中进行了选择,则您将仅获得满足所选产品销售条件的客户。
如果希望条件独立于选择,则需要在搜索字符串中使用集合分析。例如:
<Customer = {"=Sum({1} Sales)>1000"}>
等号后面的表达式将被解释为布尔值。这意味着,如果它的计算结果为其他值,任何非零数字都将被解释为 true,而零和字符串则被解释为 false。
引号
当搜索字符串包含空格或特殊字符时,请使用引号。单引号将与单个字段值进行文本、区分大小写的匹配。双引号表示不区分大小写的搜索可能匹配多个字段值。
例如:
<Country = {'New Zealand'}>
仅匹配 New Zealand 。
<Country = {"New Zealand"}>
匹配 New Zealand 、NEW ZEALAND 以及 new zealand
双引号可以用方括号或重音符代替。
有关更多信息,请参阅在选择项或可视化中搜索 。
信息注释 在之前的 Qlik Sense 版本中,在单引号和双引号之间不存在区别,并且将所有引用的字符串作为搜索处理。要保持向后兼容性,使用较旧版本 Qlik Sense 创建的应用程序将继续和在之前版本中那样工作。使用 Qlik Sense November 2017 或更高版本创建的应用程序将存在两种类型引号之间的差异。
示例:带有搜索的集合修饰符的图表表达式
示例 - 图表表达式
加载脚本
将以下数据作为数据加载编辑中的内联加载载入,以创建以下图表表达式示例。
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];
有关使用内联加载的详细信息,请参见内联加载 。
示例 1:带有文本搜索的图表表达式
使用以下图表表达式在 Qlik Sense 工作表中创建表。
表格 - 带文本搜索的集合修饰符
国家
Sum (Amount)
Sum({<Country={"C*"}>} Amount)
Sum({<Country={"*^R*"}>} Amount)
Sum({<Product={"*bolt*"}>} Amount)
总计
41
24
10
26
加拿大
14
14
0
8
捷克共和国
10
10
10
4
法国
4
0
0
1
Germany
13
0
0
13
解释
维度:
度量:
Sum(Amount)
没有集合表达式的总和 Amount 。
Sum({<Country={"C*"}>}Amount)
总和 Amount ,针对以 C 开头的所有国家,例如 Canada 以及 Czech Republic 。
Sum({<Country={"*^R*"}>}Amount)
总和 Amount ,针对以 R 开头的所有国家,例如 Czech Republic 。
Sum({<Product={"*bolt*"}>}Amount)
总和 Amount ,针对包含字符串 bolt 的所有产品,例如 Bolt 以及 Anchor bolt 。
带文本高级搜索的集合修饰符
有关表达式的更多信息,请参阅在可视化中使用表达式 。
示例 2:带有数字搜索的图表表达式
使用以下图表表达式在 Qlik Sense 工作表中创建表。
表 - 带有数字搜索的集合表达式
国家
Sum (Amount)
Sum({<Year={">2019"}>} Amount)
Sum({<ISO_Date={">=2019-07-01"}>} Amount)
Sum({<US_Date={">=4/1/2018<=12/31/2018"}>} Amount)
总计
41
10
16
16
加拿大
14
8
8
0
捷克共和国
10
0
6
1
法国
4
2
2
2
Germany
13
0
0
13
解释
维度:
度量:
Sum(Amount)
没有集合表达式的总和 Amount 。
Sum({<Year={">2019"}>}Amount)
总和 Amount ,针对 2019 之后的所有年份。
Sum({<ISO_Date={">=2019-07-01"}>}Amount)
总和 Amount ,针对 2019-07-01 或之后的所有日期。搜索中日期的格式必须与字段的格式匹配。
Sum({<US_Date={">=4/1/2018<=12/31/2018"}>}Amount)
总和 Amount ,适用于从 4/1/2018 到 12/31/2018 的所有日期,包括开始和结束日期。搜索中日期的格式必须与字段的格式匹配。
带有数字搜索的集合表达式
示例 3:带有表达式搜索的图表表达式
使用以下图表表达式在 Qlik Sense 工作表中创建表。
Table - Set modifiers with expression searches
Country
Sum (Amount)
Sum({<Country={"=Sum(Amount)>10"}>}
Amount)
Sum({<Country={"=Count(distinct Product)=1"}>}
Amount)
Sum({<Product={"=Count(Amount)>3"}>}
Amount)
Totals
41
27
13
22
Canada
14
14
0
8
Czech Republic
10
0
0
0
France
4
0
0
1
Germany
13
13
13
13
解释
维度:
度量:
Sum(Amount)
没有集合表达式的总和 Amount 。
Sum({<Country={"=Sum(Amount)>10"}>}Amount)
总和 Amount ,针对 Amount 的聚合总和大于 10 的所有国家。
Sum({<Country={"=Count(distinct Product)=1"}>}Amount)
总和 Amount ,针对准确地与一个不同的产品关联的所有国家。
Sum({<Product={"=Count(Amount)>3"}>}Amount)
总和 Amount ,针对数据中有三个以上交易的所有国家。
带有表达式搜索的集合表达式
示例
结果
sum( {$–1<Product = {“*Internal*”, “*Domestic*”}>} Sales )
返回当前选择项的销售额,排除产品名中包含字符串 'Internal ' 或 'Domestic ' 的产品的相关交易。
sum( {$<Customer = {“=Sum({1<Year = {2007}>} Sales ) > 1000000”}>} Sales )
返回当前选择项的销售额,但“Customer ”字段中有新选择项:仅限在 2007 年总销售额超过 1000000 的客户。