AWS QuickSight使用POST_AGG_FILTER计算字段求money_val平均值问题
按用户汇总后求平均值的计算字段实现方案
- 你当前使用的
sumOver(sum({money_val}),[customerkey], POST_AGG_FILTER)仅完成了需求的第一步:按customerkey分组计算每个用户的money_val总和,同一customerkey对应的所有数据行都会返回相同的该用户汇总值,没有实现对所有用户汇总值求平均的逻辑,因此直接放入KPI后返回的结果不符合预期。 - 正确的计算字段需要在现有逻辑外层嵌套一层全局平均值计算,完整代码如下:
avgOver( sumOver(sum({money_val}), [customerkey], POST_AGG_FILTER), [], POST_AGG_FILTER )
- 上述代码中,内层sumOver负责拿到每个用户的消费汇总值,外层avgOver的第二个参数传入空数组代表不做分组、全局计算所有用户汇总值的平均值,两次计算都指定POST_AGG_FILTER,保证计算在所有过滤器生效之后执行,匹配你的需求。
- 将上述新计算字段放入KPI的数值字段井即可直接得到正确的平均值,无需额外调整聚合设置。
内容的提问来源于stack exchange,提问作者Scott
相关产品推荐
相关产品推荐

