从 yes/no 列获取 Tableau 中的百分比

Getting a percentage in Tableau from a yes/no column

我有一个支持案例管理数据的电子表格。我正在 Tableau 中使用它。电子表格中的每一行都是一个个案。每个案例都有一个支持代理名称和一个 YesNo,表明案例工作是否在 12 小时内开始。我想知道,对于每个代理人,他们在 12 小时内开始案件工作的时间百分比。所以,如果 Bob 有 2 "No" 和 8 "Yes",他应该有 8 / (2 + 8) = 80%.

我的尝试是制作 2 套。一个是"Yes, started within 12 hours"的集合(那些在那个字段中有"yes"的集合,一个是"No, not started within 12 hours"的集合,另一个集合的补充。愚蠢的我,我以为我可以做类似 COUNT(yeses) / COUNT(nos) 的事情。不,大红色失败。那么正确的方法是什么?

如果这是我在 Tableau 中做过的第一件事,请做出回应会很有帮助。这是。我在这个项目中学到了很多东西,但只是与我以前一无所知相比。如果我遗漏了一些必要的东西来回答这个问题,也请告诉我。我试图做到完整,但是,好吧,我是菜鸟...

如果它澄清了什么,这里是一个糟糕的 Excel 数据模型和我正在寻找的效果:

您可以创建另一个列,将 Yes 转换为 1,将 No 转换为 0。把所有的 1 加起来除以总数就是你的百分比。

编辑:新专栏看起来像

=IF(C3="Yes",1,0)

换句话说,如果Cⁿ是"Yes",则1,否则0

是的,这在 Tableau 中是可能且容易的,但首先要注意几点。

您尝试使用 COUNT() 失败的原因是 COUNT() 没有按照您以及地球上 99% 的人所期望的方式运行。 COUNT([some expression]) returns [some expression] 具有 non-null 值的记录数,任何值。该名称来自 SQL 关系数据库。

如果您的第三列采用布尔值 True 或 False 而不是字符串值“Yes”或“No”,计算会稍微简单一些。 (在这种情况下,您可以从下面的公式中删除“=“是””)

所以有两种计算方法:

  1. 直接用聚合计算可以得到正确的结果,但是硬编码了这种情况,例如:

SUM(INT([Started within 24 hrs?] = “Yes”)) / SUM([Number of Records])

  1. 使用 table 计算器 - 在这种情况下更容易、更灵活。 首先,构建一个 table 或 Tableau 中的可视化项,显示 SUM([Number of Records]) 以及您在游戏中关心的维度。在行上使用 [Name],在列上使用 [Started within 24 hrs?],在文本上使用 SUM([Number of Records]。其次,右键单击您的度量 SUM([Number of Records]),然后从Quick Table Calc 菜单。最后,使用相同的菜单调整 Compute Using 以指定您希望如何计算百分比 - 在本例中,使用 [Started within 24 hrs?]

如果只想显示部分数据,请右键单击要隐藏的值所在的 header 列,然后选择“隐藏”。

类型转换函数INT()将True转换为1,False转换为0。