我在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中是否可行,或者在加载数据源之前是否需要预先计算它?
答案 0 :(得分:0)
一种方法是将名为 matches_code_prefix 的计算字段定义为:
left(code, 4) = "0212"
您还可以定义一个名为code_ prefix 的参数,以避免对前缀字符串进行硬编码:
left(code, 4) = code_prefix
然后显示code_prefix的参数控件以允许用户与之交互。
如果您使用此新字段作为维度来根据与前缀匹配的SUM(项目)和不匹配的项目来分隔SUM(项目),则可以使用快速表格计算来获得总计百分比。
例如,您可以在“行”架上放置组织,在“列”栏架上放置matches_code_prefix,在“文本”架上放置SUM(项目)以创建表格。然后在分析菜单下,为行和列打开总计以查看行为。接下来,右键单击SUM(项目)并选择Quick Table Calc-> Total of Percent。 Tableau将在表格中显示总计百分比。
如果您希望定义的总百分比与默认值不同,则再次右键单击该度量并将Compute Using设置为其他值,例如matches_code_prefix。通常最好将计算使用设置为特定字段。
如果您只想显示匹配大小写的值,请选择您不想看到的列标题,然后选择隐藏。完成后,您还可以从分析菜单中关闭总计。
当您对表中的值有信心时,可以将其转换为条形图,例如将matches_code_prefix移动到详细信息架,将度量移动到Columns架。
- 以上是拖放式方法。如果您希望在数据库端计算的单个计算字段中对所有内容进行硬编码,则可以改为定义计算,例如:
zn(sum(if matches_code_prefix then items end)) / sum(items)
然后将该字段的默认数字格式设置为百分比