作者:Janie
公众号《溜溜笔记说》,纯干货分享
前言:
在工作中使用Tableau的时候总会遇到各种各样的日期问题,比如需要默认本周、上周、本月MTD,上月MTD,过去x天等,或者灵活选择过去x天。我最近针对日期部分专门写了个专题,供大家学习参考。
今晚(10月8日)将数据补充了下,以下全都建立在当天是10月8日基础上做的日期专题。
目录:
- 技巧一:任意选择过去第x天
- 技巧二:任意选择近x天
- 技巧三:默认本周
- 技巧四:默认上周
- 技巧五:默认本月
- 技巧六:默认上月-不跨年
- 技巧七:默认上月-跨年
- 技巧八:同星期对比
- 技巧九:上周同期对比-周环比
- 技巧十:上月同期MTD
技巧一:任意选择过去第x天
效果展示:
通过右侧“过去第x天”输入任意数字,可使得该报表展示对应的过去第x天数据。
比如:输入7,则展示过去第7天的销售额,即2021年10月1日;次日打开该报表,该7代表2021年10月2日的销售额。也可以输入30,展示过去第30天的数据等。
制作要领:①数据源如下②创建参数“过去第x天”,如下图所示③创建字段“日期差”,获取当前日期与数据源日期的日期差:日期差:DATEDIFF('day',[日期 (日期)],DATE(NOW()))④创建字段“T/F-过去第x天”:T/F-过去第x天:[日期差]=[过去第x天]⑤按照如图所示将“T/F-过去第x天”拉到筛选器并选择真,且将参数显示出来,供使用人员任意选择过去第x天。
技巧二:任意选择近x天
效果展示:
通过右侧“近x天”输入任意数字,可使得该报表展示对应的近x天数据。
比如:输入7,则展示近7天的销售额;输入30,则展示近30天的销售额;
制作要领:①数据源如下②创建参数“近x天”,如下图所示③创建字段“日期差”,获取当前日期与数据源日期的日期差:日期差:DATEDIFF('day',[日期 (日期)],DATE(NOW()))④创建字段“T/F-近x天”:T/F-近x天:[日期差]<=[近x天]⑤按照如图所示将“T/F-近x天”拉到筛选器并选择真,且将参数显示出来,供使用人员任意选择近x天。⑥扩展:如果不需要使用方任意选择近x天,只需要报表默认近7天即可(写死天数),则无需创建参数,将步骤③内的“日期差”公式改成如下,然后再将该字段拉到筛选器选择真即可默认近7天:DATEDIFF('day',[日期 (日期)],DATE(NOW()))<=7
技巧三:默认本周
效果展示:
默认数据仅仅展示本周,如果今日是周三,则展示周一至周三的数据,如果今日是周五,则展示周一至周五的数据。
制作要领:①数据源如下;②创建字段“iso周”,Tableau默认的周是以周日作为一周起始的,所以需要改成iso周,以周一作为一周的起始;iso周:DATEPART('iso-week', [日期 (日期)])③创建字段“默认本周”,今日的iso周等于数据源的iso周,两者都转化成iso周默认本周:int(DATEPART('iso-week', NOW()))-INT([iso周])=0④将“默认本周”拉到筛选器选择真即可
技巧四:默认上周
效果展示:
默认数据仅仅上周数据。
制作要领:操作方式与技巧三一致,只是步骤③需要将以下公式改成等于1,同样的道理可以应用在默认上上周等。默认本周:int(DATEPART('iso-week', NOW()))-INT([iso周])=1技巧五:默认本月
效果展示:
制作要领:①数据源如下;②创建字段“本月”:本月:MONTH([日期 (日期)])=MONTH(NOW())③将“本月”拉到筛选器选择真即可
技巧六:默认上月-不跨年
效果展示:
制作要领:①数据源如下;②创建字段“上月”:上月:
MONTH([日期 (日期)])=MONTH(NOW())-1
and
year([日期 (日期)])=year(NOW())
③将“上月”拉到筛选器选择真即可
技巧七:默认上月-跨年
效果展示:
假如当前所处日期是1月份,此时获取的上月应该是去年12月,涉及到了跨年。
制作要领:①数据源如下;②创建字段“上月-跨年”,假设当前是2021年1月6日,此时上月为:上月-跨年:DATEDIFF('month',DATE([日期 (日期)]),DATE('2021-01-06'))=1如果将等于号后面的1改成0,则是本月数据③将“上月”拉到筛选器选择真即可
技巧八:同星期对比
效果展示:
如下图纵向来看,周一和周一对比,周二和周二对比,... ,周日和周日对比
制作要领:①数据源如下;②日期拉到列,选择更多-工作日;再次将日期拉到行,选择更多-周数
技巧九:上周同期对比-周同比
效果展示:
a部分:当前日期的销售额
b部分:对比日期的销售额,此为上周同期
c部分:比如9月23日的197对比9月16日的258,两者都是周六
制作要领:①数据源如下;②创建字段“上周同期-销售额”:
上周同期-销售额:
LOOKUP(SUM([销售额]),-7)
③创建字段“上周同期-日期”:
上周同期-日期:
[日期]-7
④按照如图所示拉出数据。
技巧十:上月同期MTD
效果展示:
今日是2021-10-08日,那么上月同期应该是2021-09-01至2021-09-08之前的数据,即上月同期MTD。(这里为了方便大家查看日期,将日期也展示了出来,实际中不需要展示日期,此时上月同期MTD为9月1日至9月8日之和)
制作要领:①数据源如下;②创建字段“上月同期MTD-上月”:上月同期MTD-上月:
DATEDIFF('month',DATE([日期(日期)]),DATE(NOW()))=1
③创建字段“上月同期MTD-日期小于当前”:上月同期MTD-日期小于当前:
DAY([日期(日期)])<=DAY(NOW())
④将创建的这两个字段都拉入筛选器中且选择真。
作者:Janie
公众号《溜溜笔记说》,纯干货分享