tableau选择计算_如何在 Tableau 中创建单位图?

e077bcabc0f6b1bb4930ac9e1989d979.gif

本文作者: Rajeev Pandey

8c864ad4bd98970bce13b1bd6df0e3ac.png

单位图(也可以称为象形图)是将每个度量单位显示为单个标记或符号的图表。虽然其他类型的图表可能更简洁有效,但单位图所使用的图形图像可能会带来更高的参与度。 我第一次见到这个图表是在 Shivraj 的推特上,他发表了一张图片作为 MakeoverMonday 12 周:Reykjavik Index 的一部分。这实际上是使用 D3.js  JavaScript 库构建的。

之前,Rodrigo Calloni 在 Tableau 社区论坛上发布了一个问题,询问如何在 Tableau 中创建堆积条形图/单位图。Mahfooj Khan 通过使用甘特图提供了一个很好的解决方案。

在这之后,我们非常有才华的 Zen Master Jeffrey A. Shaffer 发表了一篇文章,他解释了在 Tableau 中重新创建单位图的过程。 看完他的文章后,我自己思考了下在 Tableau 中重新创建图表的方法。 在本文中,我们将创建一个单位图来展示 “ The Reykjavik Index for Leadership ” 。

第 1 步:加载数据集

1)打开 Tableau 后,在“连接”中选择 “Excel”

2)选择要连接的 Excel 工作簿,然后单击“打开”

3)将以下数据加载到 Tableau Desktop / Public 中。

Country

Value

United Kingdom

72

France

71

Canada

71

United States

70

G7 Average

66

Japan

61

Germany

59

Italy

57

第2步:联接另一个工作簿

这需要在 Tableau 外部进行一些数据准备。您可以使用 Tableau Prep,Alteryx,Trifacta,Datameer,Knime 或 Excel 来得到以下结果。本文我将使用 Excel,如果有人想通过其他方法得到同样的结果,请告诉我。

2.1)在Excel中创建一个名为 Category Sort 的列,并为其分配一个从 1 到 200 的值。

分类排序
1
2
3
... ..
200

2.2)单击 Tableau 图标,转到主菜单,单击数据 ➤ 连接到数据,我们将打开数据源列表。选择 Microsoft Excel 并浏览包含生成单位图所需数据的工作表。我们在 Tableau 中分析的数据由两个不同的表(原始数据和外部数据)组成。

2.3)使用 “1” 联接两个数据表。根据下图显示选择完全外部联接。

4e0b774644fd726434d315b826a9684a.png

第3步:计算字段

创建以下计算字段。

[Unique Identifier]
STR([Category Sort])

[Country Color] 
[Country]=[Country Parameter] 
//[Country Parameter] contains list of all country names

[Alternate Value]
IF [Category Sort]%2=0 THEN “FALSE” ELSE “TRUE” END

[KPI Color]
IF [Alternate Value] =”TRUE” and ([Value]/100)*200>=[Category Sort] 
Then “Fill” ElseIf [Alternate Value] =”TRUE” Then “Gray” 
Else “White” end

[Country Value] 
MAX(IF STR(([Value]/100)*200)=[Unique Identifier] THEN [Value] END) 
//*If you want to show the value just above the Colored Marks
[Country Value] 
MAX(IF STR([Param: Adjustable Space])=[Unique Identifier] THEN [Value] END) 
//*If you want to show the value at the end of the Bar chart 
//*[Param: Adjustable Space] Parameter Values would control the position of the marks and it should lies between 190 – 200

[Country Name] 
UPPER(CASE LEN([Country])
WHEN 14 THEN (IF [Category Sort]=2*LEN([Country])+2 THEN [Country] END)
WHEN 13 THEN (IF [Category Sort]=2*LEN([Country]) THEN [Country] END)
WHEN 10 THEN (IF [Category Sort]=2*LEN([Country])+1 THEN [Country] END)
WHEN 7 THEN (IF [Category Sort]=2*LEN([Country])+3 THEN [Country] END)
WHEN 6 THEN (IF [Category Sort]=2*LEN([Country])+2 THEN [Country] END)
WHEN 5 THEN (IF [Category Sort]=2*LEN([Country])+1 THEN [Country] END)
END)

[Param Matched Country Name] 
IF ATTR([Country Color]) THEN ATTR([Country Name]) END
[Param MisMatched Country Name] 
IF ATTR([Country]!=[Country Parameter]) THEN ATTR([Country Name]) END

[Param Matched Country Value] 
IF ATTR([Country Color]) THEN [Country Value] END
[Param MisMatched Country Value] 
IF ATTR([Country]!=[Country Parameter]) THEN [Country Value] END

第4步:如何做到

以下是创建单位图的步骤:

4.1)从“维度”中,将“国家/地区”拖动到“行”

4.2)在列中添加 Avg(1) 计算。并将视图的标记更改为甘特条形图。

4.3)从维度中,拖动 [Param MisMatched Country Name] 和 [Param Matched Country Name] 到文本架上。按照下图步骤一步一步进行国家/地区名称对齐。

7108567ae25dfbd30b3d7cab30a71730.png(点击查看大图)

4.4) 从度量中,将 Category Sort 拖动到行,也就是 Avg(1) 的右侧。要在 Tableau 中创建单位图,下面是几个关键步骤。首先,标记必须是能够代表不同离散单位的东西 ——某个形状,圆形,正方形等。其次,标记必须是分离的。这可以通过转到顶部菜单的“分析”并取消选中“聚合度量”来完成。  我们不必让这个过程太过复杂,只需将 “ Category Sort ” 的标记更改为形状就行。我使用了 Jaffery 文章中所使用的相同形状。您可以 下载这个形状 并将其添加到 Tableau 存储库中(通常存储在/ My Documents / My Tableau Respository / Shapes / ...)。  4.5) 将 Size()Calc 拖到大小标记上并将表计算依据选为“ 单元格 ”  4.6) 从维度中,拖动 [Param MisMatched Country Color] 和 [Param Matched Country Color] 到文本架上。按照 4.2 步骤 中所提到的相同过程进行操作。您会看到类似下图的情况。 ▼注意: 您也可以手动拖动标签并调整其位置。

501656b285cd1ba43ea2ed8a76240b25.png

ac4a2fa7bdcb0c3b5465c9c2f2fe0346.png

在仪表板上放置此工作表,如果一切顺利,您现在应该能得到以下图表:

588e3f1f1a58abe30f49512c4b84676f.png 81de1c500fe2624174982bb018ef9ae8.gif

在 Tableau 中创建单位图的简单方法

第 1 步

8b455ee56b7cb4ea6de3164762f0e334.png

让我们创建三个不同的计算来得到我们想要的结果

[To Pad] 

IF [Country]=”Japan” THEN 1 ELSE 100 END

[Total value]
WINDOW_MAX(MAX([Value]))

[Chart Color]
[Index] < WINDOW_MAX(MAX([Value]))

第 2 步

8b455ee56b7cb4ea6de3164762f0e334.png 创建一个BINNED维度: 1)在“数据”窗格中,右键单击(在Mac上按住Control键并单击) [To Pad] ,然后选择 “创建”>“数据桶”   2)在创建数据桶对话框中,选择建议的新字段名称或为新字段指定不同的名称,并 分配 1 作为数据桶的大小 ,这样我们就可以获得 100 个离散值  3)从“数据”窗格中拖动 [To Pad(数据桶)] 将其放在列上。  4)从“数据”窗格的维度中拖动“ 国家/地区 ”字段,并将其放在 行 上。

第 3 步

8b455ee56b7cb4ea6de3164762f0e334.png

在视图中将国家排序

为了对可视化中的特定字段进行排序:

● 在工作表中,右键单击(在Mac上按住Control键并单击)国家/地区并选择“排序”。

● 在打开的“排序”对话框中,执行以下操作:

● 对于排序依据,请选择“字段”

● 对于排序顺序,选择“降序”。它将按从高到低的降序对数据进行排序。

● 选择字段名称为“值”,聚合为“总和”

完成后,单击“确定”。

第 4 步

8b455ee56b7cb4ea6de3164762f0e334.png 构建一个单位图 1) 将 Total value 拖到列上,然后双击现有字段以开始编辑。添加否定符号作为后缀,然后表计算依据选为“ 表(横穿) ”  2) 拖动另一个 Total value 到 第一个 [Total value] 的右侧   3) 将 “ Chart Color ” 维度拖到颜色上,然后表计算依据选为“表(横穿)”  4) 将 Size()度量 拖到大小上,然后表计算依据选为“单元格”  5) 将 Country 拖到标签上,然后表计算依据选为“单元格” 我们要做的第一件事就是格式化我们 Country 的标签。单击标记卡上的标签按钮,这将打开标签选项菜单,将其选为左上角对齐的方式。

7a27642fbc8c75589838a83e08a5cf2c.png

同样将 WINDOW_MAX(MAX([Value]))添加到第二个轴上,并选择为“标签最大值”

第 5 步

8b455ee56b7cb4ea6de3164762f0e334.png 更改轴范围

最后一件事是限制我们的轴范围以将视图聚焦在某些数据点上。

双击要编辑的轴,您也可以右键单击(在 Mac 上按住 Control 键并单击)轴,然后选择“编辑轴”。

主轴 - >  -  [Total value]

在“编辑轴”对话框中,选择以下选项:
  • 选中“包括零”复选框
  • 所有行或列使用统一轴范围

次轴 - > [Total value]

  • 清除“包括零”复选框

  • 每行或每列使用独立轴范围

我们现在已经完成了,如果一切顺利,您应该看到以下可视化:

fd7d89cb15870276de21f8183efc106c.png

您可以使用先前应用的(方法 1 中的*)颜色计算以获得所需的结果。

5ba40d18212dc097967362a406941807.png

升级试用 Tableau 2019.2

复制链接至浏览器,即可免费试用 Tableau 最新版本。

https://www.tableau.com/zh-cn/products/desktop/download?utm_campaign=Prospecting-GART-ALL-ALL-ALL-ALL&utm_medium=Social&utmsource=WeChat+&utm_campaign_id=2019168&utm_language=CN&utm_country=GrCHINA-CN

欢迎留言

如果小伙伴们对于 Tableau 产品有其他问题或需求,欢迎给我们留言~~

099e7dd8c817f6bd19f1687a3cdc36c8.gif

Tableau 中国官方微信定期为您推送最新行业趋势、热点资讯、精彩活动等信息。立即订阅,官方信息一手掌控,更多精彩,更多新鲜,敬请期待!

3ad916467548a4f5cb5e3627fbd59989.gif

好看点一下 大家都知道 ba63b56fad118727de12c8c209d92724.png 9f38451f51bac1e6882f8ba25e1e96cf.gif 点击 “阅读原文” ,下载最新版 Tableau!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值