在分析业务数据时,可能会遇到这样的问题:数据源中有两个及以上的日期字段,希望将它们放在同一个轴里呈现,不知道怎样实现。
例如:在 Tableau 自带的“示例-超市”数据源中,有两个日期字段:订单日期、发货日期。常规情况是:如果将“订单日期”用作轴或标题,则每个月的已发货订单数将不正确,反之亦然。
如何在同一个视图中,查看每个月的订单数和发货单数呢?今天的栗子,我们分享两种实现方法给大家。
本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:两种方法合并多个日期字段。
为方便学习,栗子使用 Tableau 自带的“示例-超市”数据源。掌握栗子方法后,数据粉可尝试使用自己的数据。
具体步骤如下:
方法一:转置数据源
此方法适用于可直接在 Tableau Desktop 中进行转置的数据源,如 Microsoft Excel、文本文件、Google Sheets 和 pdf 。分析场景:呈现 当月下单数量 和 当月发货数量,发货单数包含当月发出的非本月历史订单。
1、转置数据源
打开 Tableau Desktop,连接“示例-超市”数据源。
在数据源连接界面,按住 CTRL 键并同时选中字段“订单日期”和“发货日期”,然后右键,下拉菜单中选择:转置。
重命名转置后生成的两个字段,将“转置字段名称”重命名为:日期类型,把“转置字段值”重命名为:日期。
2、创建视图
新建工作表,将维度“日期”拖放至行,将“日期类型”拖放至列。右键单击行上的“日期”胶囊,下拉菜单中选择:月、离散。
将维度“订单ID”拖放至“标记”卡的文本中,并右键单击该胶囊,下拉菜单选择:度量-计数。此时,文本表中的呈现出两列数据:“订单日期”是每月的订单数,“发货日期”是每月的发货单数。
注意:转置后的数据源会出现重复项,除订单数和发货单数的计算之外,其它度量(如:销售额等)可能会出现翻倍的加总计算。因此,不建议将其它度量直接加入到该文本表中,确实需要拖入度量,可以考虑用 LOD 函数去重,或者使用方法二 ☟ 。
方法二:使用详细级别表达式
对于不能直接在 Tableau Desktop 中进行转置的数据源,建议使用方法二。分析场景:呈现 当月下单数量 和 当月下单并发货数量,发货单数只统计当月订单的发货情况。
1、创建计算字段
打开 Tableau Desktop,连接“示例-超市”数据源,新建工作表。需要创两个计算字段,单击”数据“窗口右上角 ▼ 符号,下拉菜单中选择:创建计算字段。
➤ 创建计算字段:下单数,键入函数
COUNTD([订单 Id])
➤ 创建计算字段:发货订单数,键入函数
AVG(IF DATETRUNC('month',[订单日期])=DATETRUNC ('month',[发货日期])
THEN { FIXED DATETRUNC('month',[发货日期]):COUNTD([订单 Id])}
END)
Tips:这里使用 AVG()函数,是为避免详细级别表达式在 IF 语句中产生重复值问题。
2、创建视图
将字段“订单日期”拖放至行,并右键单击该胶囊,下拉菜单中选择:月、离散。
分别双击计算字段“下单数”和“发货订单数”,对应的订单数和发货订单数就在文本表中呈现出来了。
今天的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!
下一期《举个栗子》,再会~
文章部分信息来源于网络,如有侵权请告知!