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}的方法如下:

  1. 首先我像 distinctCountOver({customer_id},[level,source],PRE_AGG) 一样计算 {freq}
  2. 然后我使用 {freq} 来计算 {rank} 就像 rank([{freq} DESC],[level],POST_AGG_FILTER)
  3. 然后我像 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 (将#修改为@)