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

If statement Quicksight根据其他列的条件计算不同的ID,if-statement,count,distinct,calculated-field,amazon-quicksight,If Statement,Count,Distinct,Calculated Field,Amazon Quicksight,我想根据另一列中的值计算一列中的唯一ID。如果类型同时为“A”和“M”,则计数不同的ID 月 身份证件 类型 2. 1. A. 2. 2. M 2. 3. A. 2. 3. M 2. 4. M 2. 4. M 2. 5. A. 2. 5. A. 将计算字段设置为: distinctCountOver(TYPE,[ID],PRE_FILTER) -1 然后使KPI可视化,ID为值,聚合设置为“Count distinct”,并为计算字段添加一个过滤器,该过滤器的值为“No aggregation

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

月 身份证件 类型 2. 1. A. 2. 2. M 2. 3. A. 2. 3. M 2. 4. M 2. 4. M 2. 5. A. 2. 5. A.
将计算字段设置为:

distinctCountOver(TYPE,[ID],PRE_FILTER) -1
然后使KPI可视化,ID为值,聚合设置为“Count distinct”,并为计算字段添加一个过滤器,该过滤器的值为“No aggregation”,等于1

此计算的工作方式是,对于每个ID超过两行的情况,例如ID 6有三行类型为M、M和A,它将在结果中计为正

更新问题的更新答案

distinctcontover(类型,[ID,MONTH],PRE_AGG)-1

将其绘制为表格,下面的屏幕截图,以月份为组,ID(计数不同)为值,对上述计算字段应用筛选器,不进行聚合,大于0,不包括空值。 此答案将为您提供每个月的不同ID总数,多于一种类型

注意我在上面的数据中添加了一个额外的ID=6,第2个月为A,第3个月为A,M,并复制了上面的所有数据,但月份为3,这就是为什么您现在在表中得到2个与原始公式不同类型的总(不同)ID,以及第2个月和第3个月的1和2个ID

在这个屏幕截图中,原始答案在第一个框中,后续答案在右边的表格中。干杯

谢谢@skabo。我想在计算字段公式中使用总计。我在示例中添加了month列,因为我希望每个月聚合唯一的ID。在这种情况下,总和为1。我试图使用:
distinct\u countIf(ID,(distinctcontover(TYPE,[ID,MONTH],PRE\u FILTER)-1)>0)
但是我得到了这个错误“上下文嵌套的\u聚合”。你知道如何处理这个问题吗?Cheers,A.是的,AWS是用来可视化和进行相对复杂的计算的,但它永远不会进行嵌套聚合。这给您留下了3个选项:将您的计算重新组织为一系列线性聚合(您仍然无法使用不同的计算字段嵌套);使用聚合标记并过滤您的计算(我在这里所做的);在加载到Quicklight之前,请使用适当的数据ETL工具进行计算-我定期这样做,加载原始数据和由原始数据生成的两个预先计算的聚合数据表。在所有要筛选的列中包含标签列。