普通表格列总计的计算逻辑
功能介绍
在普通表格里,小计/总计有3种计算方式:
第1种:以原始数据计算。这种方式总计的结果一般就是每行对应的数据加起来(具体逻辑下文会描述)。
第2种:以聚合数据计算。这种方式后面可以选择聚合的方式:
第3种:无。即不做小计总计,总计这里会显示为空:
功能详解
1、字段结构不同时的计算逻辑
当字段为原始字段还是聚合度量的计算逻辑区别:
原始字段:字段为原始字段且聚合方式为求和时,小计/总计选择以原始字段计算或者以聚合字段计算(求和)的结果是一样的,
聚合度量:但是如果字段为聚合度量,这两种设置是有差别的:
举个例子:当字段为sum([数量])*sum([金额])时,
选择以原始字段计算,总计的结果就是字段[数量]的合计乘以字段[金额]的合计:
选择以聚合字段计算(如求和),总计的结果就是每列[数量]乘以[金额]的合计:
2、普遍计算逻辑,选择以聚合字段计算(最大值、最小值、平均值、计数)时,原始字段和聚合字段的计算逻辑相同
选择以聚合字段计算(如最大值、最小值),总计的结果就是对应这列里最大的数字、最小的数字:
选择以聚合字段计算(如平均值),总计的结果就是对应这列里数据的平均值:
选择以聚合字段计算(如计数),总计的结果就是对应这列里数据的数量:
备注
1、上述例子以sum为例,如果是avg()、max()等本身,那么逻辑就跟函数本身意义相关,比如avg(),那么以原始字段计算跟以聚合字段计算(平均值)的计算结果是一样的。其他具体案例可自行尝试验证;
2、开窗函数参考原始字段的计算逻辑。
常见问题
为什么部分列总计行无数据?
可能原因1:数值栏字段没有设置聚合方式,即“无”,不聚合的情况下总计默认不计算。
解决方案:给数值栏字段设置聚合方式。
可能原因2:对应数值栏字段是聚合度量,可能使用了函数或者复杂的计算公式,或者叠加了高级计算,系统无法准确判断逻辑并计算总计。
解决方案:由于技术壁垒,在同一个卡片里暂时无法实现。建议新建卡片单独计算总计。
为什么设置列总计显示在顶部不生效,筛选数据后才显示?
原因:表格卡片只能显示2万行数据,只有聚合后数据不超过2万行时,列总计才能生效。
解决方案:设置筛选条件,使数据聚合到2万行以内。