举个栗子!Tableau 技巧(279):用铅笔柱形图对比数据

published: 2024-06-14

之前,我们分享过 🌰:简单三步美化你的条形图,使用自定义形状和双轴来改变条形图末端形状,让图表更美观。

有数据粉咨询:如何创建像铅笔一样的柱形图呢(如下图)?很显然,这个需求无法用之前的栗子方法实现,因为它的每一个柱形末端形状都不一样(柱子越长,末端的尖角度数越小)。

那么,如何在 Tableau 中具体实现呢?今天的栗子,一睹为快吧!

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:用铅笔柱形图对比数据。

为方便学习,栗子使用 Tableau 自带的“Sample - Superstore”数据源。掌握栗子方法后,数据粉可尝试使用其他数据源。

具体步骤如下:

1.创建参数

打开 Tableau Desktop,连接 Tableau 自带的 Sample - Superstore 数据源,新建工作表。

首先,创建 2 个参数:

➤ 参数:@Point Factor

➤ 参数:@Spacing Factor

2.创建计算字段

➤ 计算字段:Path,键入函数

IF [Ship Mode] = "First Class" THEN 1 ELSE 5 END

接着,右键单击该字段,下拉菜单选择:创建-数据桶。数据桶:Path (bin),在弹窗中将其大小设为:1

➤ 计算字段:Index,键入函数

INDEX()

➤ 计算字段:TC_Sales,键入函数
WINDOW_SUM(SUM([Sales]))

➤ 计算字段:TC_Max Sales,键入函数
WINDOW_MAX(SUM([Sales]))

➤ 计算字段:TC_Rank,键入函数
RANK_UNIQUE([TC_Sales])

➤ 计算字段:TC_Middle,键入函数
INT(WINDOW_MEDIAN([TC_Rank]))

➤ 计算字段:TC_Order,键入函数
IF [TC_Rank] = 1 THEN

[TC_Middle]

ELSEIF [TC_Rank]%2 <> 0 THEN

[TC_Middle]+([TC_Rank]/2)-0.5

ELSE

[TC_Middle]-([TC_Rank]/2)

END

➤ 计算字段:X,键入函数

IF [Index] = 1 OR [Index] = 5 THEN

0

ELSEIF [Index] = 3 THEN

[TC_Sales]+([TC_Max Sales]/[@Point Factor])

ELSE

[TC_Sales]

END

➤ 计算字段:Y,键入函数

IF [Index] = 1 OR [Index] = 2 THEN

1

ELSEIF [Index] = 3 THEN

0.5

ELSE

0

END + ([TC_Order]*[@Spacing Factor])

➤ 计算字段:Label Rank,键入函数
IF [Index] = 3 THEN

[TC_Rank]

ELSE

NULL

END

➤ 计算字段:Label Sales,键入函数
IF [Index] = 3 THEN

[TC_Sales]

ELSE

NULL

END

➤ 计算字段:Label Sub-Category,键入函数
IF [Index] = 3 THEN

WINDOW_MAX(MAX([Sub-Category]))

ELSE

NULL

END

3.创建视图

将“标记”卡的标记类型改为:多边形。将字段“Sub-Category”拖放至其详细信息中,将字段“Path (bin))”拖放至列,再右键单击该胶囊,下拉菜单勾选:显示缺失值。然后,将该胶囊拖放至“标记”卡的路径中。

将字段“x”拖放至列,将字段“y”拖放至行。分别右键单击这两个胶囊,下拉菜单都选择:计算依据-Path (bin))。

右键单击行上的“y”胶囊,下拉菜单选择:编辑表计算,在弹窗中如下设置:

完成设置后,视图中的图表如下:

接着,将字段“TC_Sales”拖放至“标记”卡的颜色标记中,按需设置颜色。在列上复制一个“x”胶囊,将“x2”“标记”卡的标记类型改为:线。

将字段“Label Rank”拖放至该“标记”卡的标签中,右击单击该胶囊,下拉菜单选择:计算依据-Path (bin))。

再次右击单击该胶囊,下拉菜单选择:编辑表计算。弹窗中,嵌套计算选:TC_Rank,特定维度选:Sub-Category。

将字段“Label Sales”和“Label Sub-Category”拖放至该“标记”卡的标签中,然后分别右键单击这两个胶囊,下拉菜单都选择:计算依据-Path (bin)),按需设置标签调整标签格式。

右键单击列上的“x”胶囊,下拉菜单勾选:双轴。再次右键单该胶囊,下拉菜单选择:计算依据-Path (bin))。

最后,再调整格式,隐藏轴标题,隐藏行分隔符和列分隔符,隐藏网格线,删除工具提示即可。

今天的 Tableau 技巧,你 Get 到了吗?