在行中显示计算的度量?

Show calculated measure in row?

我在 OSX 上使用 Tableau Desktop 9.0。我的数据(从本地 CSV 文件加载)如下所示:

code,org,items
0212000AA,142,10
0212000AA,143,15
0313000AA,142,90
0314000AA,143,85

我想要一个图表,显示每个组织中以 0212 开头的项目占所有项目 的百分比。 (我的意思是占组织项目的百分比 - 例如,在上面,我想为组织 142 显示 0.1 (10/(10+90))。)

通过将 org 添加到列,并将 SUM(items) 添加到行,我已经能够做到这一点。然后通过在 code 上为 starts with 0212 添加通配符过滤器。

这显示了按组织列出的以 0212 开头的项目数。

但我不知道该怎么做才能将其除以组织所有项目的价值。

这在 Tableau 中是否可行,或者我是否需要在加载数据源之前预先计算它?

一种方法是将名为 matches_code_prefix 的计算字段定义为:

left(code, 4) = "0212"

您还可以定义一个名为 code_prefix 的参数,以避免对前缀字符串进行硬编码:

left(code, 4) = code_prefix

然后显示 code_prefix 的参数控件以允许用户与之交互。

如果您使用此新字段作为维度来根据匹配前缀的项和不匹配的项来分隔 SUM(items),则可以使用快速 table 计算来获取百分比总计

例如,您可以将 org 放在行货架上,将 matches_code_prefix 放在列货架上,将 SUM(items) 放在文本货架上,组成 table。然后在分析菜单下,打开行和列的总计以查看行为。接下来,右键单击 SUM(items) 并选择 Quick Table Calc->Percent of Total。 Tableau 将在 table.

中显示总数的百分比

如果您希望总百分比的定义不同于默认值,请再次右键单击该度量并将计算使用设置为不同的值,例如您的情况下的 matches_code_prefix。通常最好将计算使用设置为特定字段。

如果您只想显示匹配大小写的值,select 您不想看到的列 header 并选择隐藏。完成后,您还可以从分析菜单中关闭总计。

当您对 table 中的值有信心时,您可以将其转换为条形图,例如通过将 matches_code_prefix 移动到详细信息架并将度量移动到列架。

-- 以上是拖放方式。如果您更喜欢在数据库端计算的单个计算字段中对所有内容进行硬编码,则可以定义一个计算,例如:

zn(sum(if matches_code_prefix then items end)) / sum(items)

然后将该字段的默认数字格式设置为显示为百分比