> 文章列表 > Qlik Sense 集合表达式详解

Qlik Sense 集合表达式详解

Qlik Sense 集合表达式详解

文章目录

  • 1 概述
  • 2 集合表达式 expression
    • 2.1 标识符 identifiers
    • 2.2 修饰符 modifiers
    • 2.3 运算符 operators
  • 3 应用

1 概述

Qlik Sense 集合表达式详解

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),常用
Qlik Sense 集合表达式详解
效果图:Sum ({1} Sales)
Qlik Sense 集合表达式详解

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)