举个栗子!Tableau 技巧(145):实现行级的子类别扩展
前不久,一位在学习第 132 号栗子 用参数操作实现数据下钻 的用户,提出了他的问题:能否在下钻子类别的时候,保留母类别那一行,让子类别的数据呈现下面?
那么,我们先来看看参数下钻栗子的效果(如下图)。的确,当下钻子类别的时候,大类那一行的数据图表是不显示的。
这位用户的需求,是希望实现行级的子类别扩展(如下图)。从直观性来说,图表确实会更一目了然。
如何实现这样的呈现呢?要费一些功夫哦。我们今天来分享方法,一睹为快吧!
本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:实现行级的子类别扩展。
为方便学习,栗子使用 Tableau 自带的"示例-超市"数据源。掌握栗子方法后,数据粉可尝试使用自己的数据。
具体步骤如下:
Step 1
打开 Tableau Desktop,连接数据源。
首先,需要两份一样的数据源并做标识(参考下图)。
然后做一个关联表,用左联接 market 和 market1 区分。
创建一个类别的空集:在“数据”窗格中,右键单击维度“类别”,在下拉菜单中选择“创建”-“集”。在弹出的对话框(如下图)中,全部不勾选。
Step 3
接着,创建三个计算字段,用来对类别进行扩展。
右键单击“数据”窗格空白处,在下拉菜单中选择“创建”-“计算字段”。分别创建计算字段:
► 是否展开类别
// 展现某个大类时,显示它的小类
if [表] = 'market1' and [选择类别]
then '子类别'
// 显示所有大类
elseif [选择类别]
then '展开'
else
'不展开'
end
► 类别拓展
case [是否展开类别]
when '展开' then '▼ ' + [类别]
when '不展开' then '▶ ' + [类别]
else ' ' + [子类别]
end
因为同时连接了两份数据源,所以还要根据自己的需求创建度量的计算字段。如果不做判断,数据就会翻倍。这里,我们对销售额创建一个计算字段:Sales(adj)。
► Sales(adj)
//判断是否展开时的值
if [是否展开类别] = '不展开'
then iif([表] = 'market1', [销售额], 0)
else [销售额]
end
Step 4
然后,就要创建图表了。
将维度“类别”、计算字段“是否展开类别”和“类别拓展”依次拖放至列,将维度“订单日期”拖放至行,将计算字段“Sales(adj)”拖放至“标记”卡的文本中。
此时,工作表视图中呈现出一个二维图表(如下图)。
Step 5
最后,新建仪表板,将刚刚创建的工作表拖入仪表板中。
单击顶部菜单栏“仪表板”,选择“操作”,在弹出的对话框中单击“添加操作”,并在下一个对话框中,设置集动作(如下图)。
完成设置后,打开仪表板预览模式,就可以点击查看我们想要的子类别扩展了。
今天的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!