Amazon QuickSight如何计算唯一值总数的百分比占比?
Amazon QuickSight 基于唯一值总数的占比计算方案
核心思路
通过自定义计算字段分别统计「对应症状的覆盖唯一人数」和「全局总唯一人数」,手动计算占比,替代QuickSight默认的基于条目总数的占比逻辑。
操作步骤
步骤1:预处理数据结构
如果原始数据中症状为逗号分隔的多值字段(单条记录对应单个用户的所有症状),先在数据集编辑页添加转换,用unnest(split({symptom_field}, ','))将多值拆分为单行单用户单症状结构,保留用户ID与症状的关联,同时保留无症状用户的记录。
步骤2:创建3个自定义计算字段
唯一用户计数:统计当前维度下的唯一用户数,公式为distinctCount({person_id})全局总唯一用户数:统计全数据集的总唯一用户数,不受筛选维度影响,公式为distinctCountOver({person_id}, [], PRE_AGG)症状人群占比:最终要展示的占比指标,公式为{唯一用户计数} / {全局总唯一用户数}
创建完成后将该字段的显示格式设置为百分比即可。
步骤3:可视化配置
可视化维度选择「症状」字段,度量仅选择创建好的症状人群占比,不要使用QuickSight默认的「占总计百分比」快捷计算,避免触发按条目总数计算的逻辑。
效果验证
对应你的示例数据,计算结果如下:
- 症状A占比:2/4=50%
- 症状B占比:2/4=50%
- 症状C、D占比均为:1/4=25%
- 无症状占比:1/4=25%
完全符合预期计算逻辑。
扩展说明
如果需要按其他维度(比如地区、年龄组)统计各分组内的症状占比,只需修改全局总唯一用户数的分区参数即可,比如按地区分组统计时,公式调整为distinctCountOver({person_id}, [{region}], PRE_AGG)。
内容的提问来源于stack exchange,提问作者dataxxx
相关产品推荐
相关产品推荐

