Qlik Sense 集合表达式详解
文章目录
1 概述
2 集合表达式 expression
基础数据准备:
MyTable:
Load * Inline [Country, Year, SalesA, 2020, 1A, 2021, 2B, 2021, 3C, 2022, 4
];
2.1 标识符 identifiers
标识符 | 示例 | 解说 |
---|---|---|
$ | Sum ({$} Sales) | 显示当前选择项的记录,默认 |
1 | Sum ({1} Sales) | 显示所有记录,不符合的选择项赋 0 |
效果图:Sum ({$} Sales) = Sum(Sales),常用
效果图:Sum ({1} Sales)
2.2 修饰符 modifiers
2.2.1 多值用 ,隔开
-- 计算 Country in A,B 的 Sales 和
sum({< Country={A, B} >} Sales)
2.2.2 引号区分大小写
- 如果值包含 空格 或 特殊符号,则需将值加 引号
- 单引号
'
:区分大小写 - 双引号
"
:不区分大小写
- 单引号
- 日期格式必须带引号,并使用日期格式,如:
- <CREATE_DATE = {‘2022-02-02’}>
- <CREATE_DATE = {‘2022/02/02’}>
仅匹配 New Zealand
<Country = {'New Zealand'}>匹配 New Zealand、NEW ZEALAND、new zealand
<Country = {"New Zealand"}>
2.2.3 搜索
1. 文本搜索(1) '*': 任意数量的字符(2) '?': 单个字符(3) '^': 字符的开头<Country = {"C*", "*land"}> 匹配以 C 或 land 开头的国家2. 数字搜索(1) >、>=、<、<=<Year = {">2015"}> 匹配 2016 年及以后年份3. 表达式搜索<Customer = {"=Sum(Sales)>1000"}>
2.3 运算符 operators
运算符 | 说明 | 示例 |
---|---|---|
+ | 并集(or) | a + b = a、b 两个集合数据之和 |
- | 差集 | a - b = 在 a 中但是不在 b 中的数据 |
* | 交集 | a * b = 同时在 a、b 两个集合中的数据 |
/ |
3 应用
序号 | 说明 | 写法 |
---|---|---|
1 | 单条件单值:A国家的总销售额 | Sum({<Country = {'A'}>} Sales) |
2 | 单条件多值:A,C两个国家的总销售额 | Sum({<Country = {'A', 'C'}>} Sales) |
3 | 多条件 且:A国家在2021年的总销售额 | Sum({<Country = {'A'}, Year = {2021}>} Sales) 写法2: Sum({<Country = {'A'}> * <Year = {2021}>} Sales) |
4 | 多条件 或:A国家或2021年的总销售额 | Sum({<Country = {'A'}> + <Year = {2021}>} Sales) |
5 | 模糊匹配:A*(开头)、*A*(包含)、*A(结尾) |
Sum({<Country = {'*A*'}>} Sales) |
6 | 除 A 之外 | Sum({<Country = - {'A'}>} Sales) 写法2: Sum({<Country={"*"} - {"A"}>} Sales) |
7 | 除 A、B 之外 | Sum({<Country = - {'A', 'B'}>} Sales) |
8 | 条件:显示 年月 >= 2017 | Sum({<Year = {">= 2017"} >} Sales) |