计算Tableau中具有冗余行的列的百分比

时间:2015-09-21 16:25:34

标签: tableau

我想计算具有冗余行的列的百分比。 例如......我想计算下表中A和B的“成功”百分比

+-------+---------+
| Name  | Result  |
+-------+---------+
| A     | Success |
| B     | Success |
| A     | Fail    |
| A     | Success |
| B     | Fail    |
| B     | Fail    |
| A     | Success |
+-------+---------+

我尝试使用计算字段,将If([NAME])=“Success”,然后将其他0设为0 然后将表计算编辑为百分比 - >表横向和向下...但没有工作:(

1 个答案:

答案 0 :(得分:2)

您绝对可以使用“总百分比”表计算。棘手的一点是进入“编辑表计算”对话框并告诉Tableau您希望它如何执行计算。

以下是如何执行此操作的示例,您可以根据自己的特定需求进行调整。将[Name][Result]放在行架子中。然后将SUM(Number of Records)放入文本中。你最终会得到这样的东西:

 Name      Result    |     |
---------------------+-----+
 A         Fail      |   1 |
           Success   |   3 |
 --------------------+-----+
 B         Fail      |   2 |
           Success   |   1 |
 --------------------+-----+

然后右键单击SUM(Number of Records)并单击“添加表计算...”。在“表计算”对话框的顶部,转到“计算类型:”,然后选择“总计百分比”。在“汇总来自:的值”中,它将默认为“表(向下)”。继续点击Apply,然后看看会发生什么。坏消息 - 这是错误的。

 Name      Result    |     |
---------------------+-----+
 A         Fail      | 14% |
           Success   | 43% |
 --------------------+-----+
 B         Fail      | 29% |
           Success   | 14% |
 --------------------+-----+

默认的“表格(向下)”几乎不是你真正想要的。这表示要计算整个分区的总百分比,但实际上您希望看到每个名称的总百分比。

在你真正擅长这一部分之前(甚至在你成为Tableau Zen Master和Tableau之后的人之后),我建议你在定义你的表计算时总是进入高级菜单。这是一个很好的机会,可以准确地思考您希望Tableau如何执行计算。在这种情况下,您需要计算每个名称的每个结果的百分比(成功和失败)。

转到“高级”对话框(在“汇总值来自:”下)。您将在分区下看到名称和结果,在寻址下看不到任何内容。将结果移到“寻址”并在“分区”下保留“名称”。你在这里说的是“我希望Tableau计算每个结果的百分比(成功或失败)。我希望它为每个名称执行此操作。”

应用这些更改,您应该会看到以下内容:

 Name      Result    |     |
---------------------+-----+
 A         Fail      | 25% |
           Success   | 75% |
 --------------------+-----+
 B         Fail      | 67% |
           Success   | 33% |
 --------------------+-----+

完美。如果您只想查看成功,只需右键单击表中的“失败”,然后单击隐藏。不要过滤掉它们。这将从您的分区中删除这些行,从而从总计算百分比中考虑的总数中删除这些行。通过隐藏Fails而不是过滤它们,您可以将它们保留在分区中,但不要在数据视图中显示它们。