Tableau指定日期的提取

取当月最后一个日期

年月格式:2022-01
DAY(DATEPARSE ( "yyyy-MM-dd", STR(MAKEDATE(int(split([年月],'-',1)),int(split([年月],'-',2))+1,0)) ))
=31

年月格式:202201
DAY(DATEPARSE ( "yyyy-MM-dd", STR(MAKEDATE(int(LEFT([年月],4)),int(RIGHT([年月],2))+1,0)) )
=31

我希望实现的功能是指定时段的截取——在本周的基础上,取过去四周的日期,返回过去四周的销售额。

要完成这个需求,最简单粗暴的办法就是把日期拖入筛选器,手工勾选4周即可。

像这样:

但如果想实现自动向前选取四周,而不是每次都勾选呢,有什么好的办法?

我的思路如下:

比如我这份数据最新日期是2018-5-17,

我们利用tableau函数提取最新日期:

返回结果:

返回最新日期后,我们怎么提取这个日期对应的周数呢?

这里需要利用到tableau自带的日期函数——DATEPART,简介如下:

对熟悉excel的同学,可以理解为Month,year,weeknum的综合函数。

那在Tableau中到底如何实现呢?

我们先来梳理一下实现的逻辑:

假如日期的周数>=最新日期周数-3 &日期的周数<=最新日期周数

那么我们返回日期值即可。

怎么样,是不是很容易想到if……else?

Tableau的if函数写法基本格式就是:

IF 表达式
THEN 返回值
END

熟悉编程的同学应该可以很快适应。

试写的函数如下:

确定完成,我们来看看提取出来的日期到底对不对:

即有2017年的,又有2018年的,这显然不是我们期望的结果。

那我们用YEAR加个限制看看?

命中了包含本周在内的四周日期:

如果希望直接返回指标值的话,那么在THEN后将date改为目标值即可。

Tableau的

IF
THEN
END

是不是还挺好用的?

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值