在 Tableau 中查找只有一行具有特定值的维度

Find dimension with only a single row that has a specific value in Tableau

我的数据集看起来像

0012    Apple
0012    Multi
0012    Orange
0012    Banana
0014    Apple
0014    Multi
0014    Orange
0025    Multi
0021    Multi
0032    Apple
0032    Multi
0032    Orange
0032    Banana
0034    Apple
0034    Multi
0035    Apple

在画面中我有以下视图

我试图实现的是一列只标记 "yes" 用于只有一行的商店,并且该行的值为 "Multi"。所以在我的数据中,只有存储 00210025 应该有 "yes"。所有其他行应该有 "Null"。所以当我过滤时,我应该只会看到上图中的黄色行。

我尝试了以下计算,但没有得到预期的结果。

计算 1 = { FIXED [Store]: MAX([Product]) = "Multi"}

计算 2 = IF [Product] = "Multi" THEN "Yes" END

有什么办法可以实现吗?

您可以使用 2 个计算字段实现此目的:

计算 1:{FIXED [Store]: MAX(IF Product = "Multi" THEN 1 ELSE 0 END)}

计算 2:{FIXED [Store]: IF MAX([Is Multi])=1 THEN 'Yes' END}

我发现解决此问题的一种方法如下:

计算 2: IF [Product] = "Multi" THEN "Yes" END.

如果值 "Multi" 存在,这部分设置值 "Yes"

计算 4: {FIXED [Store]: MAX(IF ([Product] <> "" AND ISNULL([Calculation2])) THEN "No" END)}

这部分汇总了 Calculation2 中的 Null 个值。如果商店编号的一个值是 Calculation2 中的 "Null",则该商店的所有行都将得到 "No"。对于剩余的商店,它将显示 "Null".

计算 5:IFNULL({FIXED [Store]: MAX(IF ([Product] <> "" AND ISNULL([Calculation2])) THEN "No" END)},"Yes")

为了显示获得 "Null" 的剩余商店的 "Yes",我们将其包装在 "IFNULL".

最终结果为: