Quicksight 根据其他列的条件计算不同的 ID

时间:2021-05-23 09:44:02

标签: if-statement count distinct calculated-field amazon-quicksight

我想根据另一列中的值计算一列中的唯一 ID。如果 TYPE 同时为“A”和“M”,则计算不同的 ID。

<头>
MONTH ID TYPE
2 1 A
2 2 M
2 3 A
2 3 M
2 4 M
2 4 M
2 5 A
2 5 A

上面的例子应该返回 1,因为 ID = 3 有 TYPE 'A' 和 'M'。

干杯,A.

1 个答案:

答案 0 :(得分:0)

制作计算字段:

distinctCountOver(TYPE,[ID],PRE_FILTER) -1

然后使用 ID 作为值和聚合设置为“计数不同”的 KPI 视觉对象,并为您的计算字段添加一个“无聚合”且等于 1 的过滤器。

screenshot of Quicksight using the above instructions

此计算适用于每个 ID 超过两行的情况,例如 ID 6 具有三行类型为 M、M 和 A,将在结果中计为正数。

更新问题的更新答案

distinctCountOver(TYPE,[ID,MONTH],PRE_AGG) - 1

将其绘制为表格,截图如下,以 MONTH 作为组,ID(不同计数)作为值,对上述计算字段应用过滤器,无聚合、大于 0、排除空值。 此答案将为您提供每个月的不同 ID 总数,其中超过一种类型。

注意我在上面的数据中添加了一个额外的 ID = 6,其中 A,A in MONTH 2 and A,M in MONTH 3这就是为什么您现在从原始公式中获得 2 个具有不同 TYPE 的总(不同)ID,并且在表中的第 2 个月和第 3 个月获得 1 和 2。

在此屏幕截图中,原始答案在第一个框中,后续答案在右侧的表格中。干杯 screenshot of Quicksight using the above instructions