如何解决Quicksight:使用计算的 LAA 字段排名来计算另一个计算维度字段
我的数据集由以下字段组成:{customer_id}
、{level}
、{source}
。每个客户每个级别有 1 个源,数据集包含每个客户的 3 个级别。我的目标是最终创建一个桑基图,仅显示每个级别的前 2 个来源(基于使用它的客户数量),并将所有其他来源聚类到默认的“其他”类别。
为此,我基本上想创建一个新的计算字段 {new_source},如果 {rank}
下面的示例数据集(前 3 个字段来自源数据集,接下来的 3 个字段是计算出来的):
cid | 级别 | 来源 | 频率 | 排名 | new_source |
---|---|---|---|---|---|
C1 | 0 | 0:FRO | 5 | 1 | 0:FRO |
C1 | 1 | 1:A | 2 | 1 | 1:A |
C1 | 2 | 2:B | 2 | 1 | 2:B |
C2 | 0 | 0:FRO | 5 | 1 | 0:FRO |
C2 | 1. | 1:A | 2 | 1 | 1:A |
C2 | 2. | 2:C | 1 | 3 | 其他 |
C3 | 0. | 0:FRO | 5. | 1 | 0:FRO |
C3 | 1 | 1:C. | 2. | 1 | 1:C |
C3 | 2. | 2:B. | 2 | 1 | 2:B |
C4 | 0 | 0:FRO | 5. | 1 | 0:FRO |
C4 | 1. | 1:C. | 2. | 1 | 1:C |
C4 | 2 | 2:D. | 1 | 3 | 其他 |
C5 | 0. | 0:FRO | 5 | 1 | 0:FRO |
C5 | 1. | 1:B | 1 | 3 | 其他 |
C5 | 2. | 2:A. | 1 | 3 | 其他 |
我计算{rank}的方法如下:
- 首先我像
distinctCountOver({customer_id},[level,source],PRE_AGG)
一样计算 {freq} - 然后我使用 {freq} 来计算 {rank} 就像
rank([{freq} DESC],[level],POST_AGG_FILTER)
- 然后我像
ifelse({rank}<=2,{source},"other")
一样计算 {new_source}。然而,这是 Quicksight 抛出错误的步骤:Mismatched Aggregation. Custom aggregation can't contain both aggregated and nonaggregated fields,in any combination
我该如何解决这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。