Qlik Sense 聚合函数及范围详解(Sum、Count、All、ToTaL、{1})

1 概述

聚合
聚合函数
sum、count、age、max、min
聚合范围
按当前所选维度聚合:如 sum(Amount)
按整体维度聚合(忽略所选):如 sum(TOTAL Amount)

聚合函数 适用于 度量 列,而非 维度 列(否则报错:无效维度

2 示例

2.1 数据加载编辑器

AggregationScope: 
LOAD * inline [ 
	Year, Quarter, Amount 
	2012, Q1, 1100 
	2012, Q2, 1700 
	2012, Q3, 1400 
	2012, Q4, 1800 
	2013, Q1, 1000 
	2013, Q2, 1300 
	2013, Q3, 1100 
	2013, Q4, 1400
];

在这里插入图片描述

加载数据,完成后,点击 ‘关闭’ 按钮即可:
在这里插入图片描述

2.2 工作表

方便复制:

Year
Quarter
Sum(Amount) -- 开头的 = 可省略
=Sum(TOTAL Amount)
=sum(All Amount)
=sum({1} Total Amount)
=Sum(Amount)/sum({1} Total Amount)  -- 数字格式 - 12.34%

添加对应的列,观察效果:
在这里插入图片描述
当 “选中” 维度列时,差别出来了!
在这里插入图片描述

3 扩展

3.1 带筛选条件

1、数据加载编辑器:

AggregationScope: 
LOAD * inline [ 
	Year, Quarter, Amount 
	2012, Q1, 1100 
	2012, Q2, 1700 
	2012, Q3, 1400 
	2012, Q4, 1800 
	2013, Q1, 1000 
	2013, Q2, 1300 
	2013, Q3, 1100 
	2013, Q4, 1400
];

业务日期:
Load Distinct 
      Year,
      Left(Year, 4) as,
      Left(Year, 4) as YMD
Resident AggregationScope;

2、新建变量

// 2.定义变量
v_selected_time
=If(GetSelectedCount(Year)>0, 1, 0)

v_max_date
=MaxString(Year)

// 数据量过多时,仅计算 v_max_date 时的数据
// 注意在 '数据加载编辑器中' 定义 YMD
v_test_choose
=If(v_selected_time=1,'YMD=','YMD={$(v_max_date)}')

步骤参考如下:
在这里插入图片描述

3、编辑工作表

维度:Year、Quarter

度量:Sum(Amount)Sum({<$(v_test_choose)>}  Amount)

4、工作表
在这里插入图片描述
筛选后:(年=2012)
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值