QlikSense数据透视表中如何为列内各分组生成总计行?
解决Qlik Sense透视表中每个Name对应Amount列的总计行问题
嘿,作为Qlik Sense新手遇到这个问题太正常啦!我来给你几个实用的办法,帮你给每个唯一Name对应的Amount列加上你需要的总计行:
方法一:用透视表自带的总计设置(最简单)
这是最省心的方式,只要调整透视表的内置总计选项就行:
- 先确认你的透视表已经把
Name设为行维度,Amount设为度量 - 点击透视表右上角的编辑图标(铅笔样式)进入编辑界面
- 切换到「总计」选项卡,找到「行总计」:
- 如果你要每个
Name下面都显示总计,选择「每个顶级维度」(前提是Name是最上层的行维度) - 要是有多层维度,选「每个维度层级」也能实现每个分组的总计
- 如果你要每个
- 要是想自定义总计的显示文本(比如改成“Name合计”),可以在度量的设置面板里,找到「总计标签」,输入你想要的内容就行
方法二:自定义计算维度+条件度量(适合特殊需求)
如果自带的总计逻辑不符合你的“指定”要求(比如需要特殊的计算规则),可以手动实现:
- 创建计算维度:
在透视表的维度设置里,新建一个计算维度,代码如下:
这个逻辑会为每个Name生成一个额外的行,标记为对应的总计行If(Aggr(RowNo(), Name) = 0, '「' & Name & '」总计', Name) - 创建条件度量:
新建一个度量,用条件判断区分普通行和总计行的计算:
解释下:If(Dimensionality() = 1, Sum(Amount), Aggr(Sum(Amount), Name))Dimensionality()用来识别当前行的维度层级,1代表普通的Name数据行,直接计算单条Amount;层级更高的总计行,则计算该Name的总Amount - 把这个计算维度和条件度量放到透视表里,调整排序规则,确保总计行显示在对应Name的下方
方法三:用分组维度快速生成总计
- 在透视表的行维度列表里,选中
Name,右键点击选择「分组」,创建一个仅包含Name的维度组 - 进入组的设置界面,勾选「显示组总计」,这样每个Name分组下面会自动带出总计行
- 同样可以在度量设置里调整总计的显示样式和计算逻辑
小提示
如果你的透视表还有其他行维度,一定要保证Name是最上层的维度,这样总计才会准确对应每个Name。要是遇到总计位置不对的情况,检查下维度的排序和层级顺序就好啦!
内容的提问来源于stack exchange,提问作者Preetham CS
相关产品推荐
相关产品推荐

