跳到主要内容

日期范围的配置

Superset的日期列在做筛选时,支持丰富的筛选条件,共有5种筛选模式,默认是无筛选。这些筛选条件可以满足绝大部分的筛选需求,如果不满足也可以通过自定义SQL筛选条件。

前面4种筛选条件使用很简单,相信大部分不用讲也会使用。所以本篇主要讲的是进阶部分的知识。

可以看到配置进阶时间范围区域,有开始与结束的输入框,我们可以通过superset给我们预置的几种时间函数获取我们想要的日期时间。

时间函数的使用

DATETIME

返回指定的日期时间。

语法

datetime([string])

例子

datetime("2020-03-01 12:00:00")
datetime("now")
datetime("last year")
datetime("today")

DATEADD

将给定的日期集以指定的间隔进行移动

语法

dateadd([datetime], [integer], [dateunit])
dateunit = (year | quarter | month | week | day | hour | minute | second)

例子

dateadd(datetime("today"), -13, day)
dateadd(datetime("2020-03-01"), 2, day)

DATETRUNC

将指定的日期截取为指定的日期单位精度。

语法

datetrunc([datetime], [dateunit])
dateunit = (year | quarter | month | week)

例子

datetrunc(datetime("2020-03-01"), week)
datetrunc(datetime("2020-03-01"), month)

LASTDAY

按日期单位获取最后的日期。

语法

lastday([datetime], [dateunit])
dateunit = (year | month | week)

例子

lastday(datetime("today"), month)

HOLIDAY

获取指定节假日的日期

语法

holiday([string])
holiday([holiday string], [datetime])
holiday([holiday string], [datetime], [country name])

例子

holiday("new year")
holiday("christmas", datetime("2019"))
holiday("christmas", dateadd(datetime("2019"), 1, year))
holiday("christmas", datetime("2 years ago"))
holiday("Easter Monday", datetime("2019"), "UK")