QuickSight中基于唯一CustomerID计算分类占比的实现方案咨询
QuickSight 分类占比计算实现方案
前期确认
- 确保数据集中的
CustomerID、分类列、时间字段已正确识别,时间字段需设置为日期/时间类型,用于后续时间段筛选 - 确认
class_1、class_2为分类列下的准确枚举值,无拼写、大小写偏差
实现步骤
你可以通过创建计算字段实现需求,有两种实现方式可选:
方式一:拆分创建计算字段(便于后续调试、复用)
- 创建class_1去重客户计数字段,公式为:
distinct_countIf(CustomerID, 分类列 = 'class_1')
该字段会自动统计符合分类为class_1的唯一CustomerID数量,自动适配页面添加的筛选条件 - 创建class_2去重客户计数字段,公式为:
distinct_countIf(CustomerID, 分类列 = 'class_2') - 创建最终占比字段,公式为:
{class_1去重客户计数} / ({class_1去重客户计数} + {class_2去重客户计数})
创建完成后将该字段格式设置为百分比类型即可
方式二:合并为单个计算字段
如果不需要单独复用两个分类的计数值,可直接创建一个占比字段,公式为:distinct_countIf(CustomerID, 分类列 = 'class_1') / (distinct_countIf(CustomerID, 分类列 = 'class_1') + distinct_countIf(CustomerID, 分类列 = 'class_2'))
后续配置
- 时间段筛选无需写入计算字段,直接在分析页面添加时间筛选器,选择你需要统计的时间范围即可,所有计算字段会自动基于筛选后的数据统计
- 如果需要按其他维度(如区域、月份)拆分占比,直接将对应维度字段拖入可视化组件的行/列/分组维度中,计算会自动按维度分组统计
- 若分类列存在其他分类值,上述公式仅会将class_1、class_2的客户数计入分母,不会包含其他分类的统计结果,符合你的需求
内容的提问来源于stack exchange,提问作者Shubham Singh Rana
相关产品推荐
相关产品推荐

