永洪社区

标题: DATA MART数据源支持的日期函数 [打印本页]

作者: wangning23    时间: 2022-6-23 15:00
标题: DATA MART数据源支持的日期函数
DATA MART数据源支持的日期选择的函数是什么?目的是仅筛选数据集市中储存的近1天的数据并进行计算。



类似于Hive中的
partitiondate = Date_format(CURRENT_DATE - INTERVAL '1' DAY, '%Y%m%d')


或者MySQL中的
partitiondate = date_format(date_add(now(), interval -1 day), '%Y%m%d')

作者: Fiona    时间: 2022-6-23 15:11
Data Mart支持的函数见:
https://www.yonghongtech.com/hel ... amartfunctions.html
作者: wangning23    时间: 2022-6-24 09:18
目前尝试用today()函数获取当前日期,用dateAdd()函数将当前日期做T-1处理,用formatDate()函数进行格式转换
不过这个函数只能在SELECT语句中执行:SELECT formatDate(dateAdd(today(), 'dayofyear', -1), 'yyyyMMdd') FROM table
无法直接使用:partitiondate = formatDate(dateAdd(today(), 'dayofyear', -1), 'yyyyMMdd')
有没有高手用过这个功能?
作者: Fiona    时间: 2022-6-24 09:39
partitiondate = formatDate(dateAdd(today(), 'dayofyear', -1), 'yyyyMMdd')
您是想干嘛

作者: wangning23    时间: 2022-6-24 12:51
Fiona 发表于 2022-6-24 09:39
partitiondate = formatDate(dateAdd(today(), 'dayofyear', -1), 'yyyyMMdd')
您是想干嘛

问题题干已经说了,我想要从数据集市筛选数据数据计算时,在where条件里面限制仅计算前一天的数据,即进行select *
from table t1
where partitiondate = today - 1的操作
作者: Fiona    时间: 2022-6-24 13:40
看起来是不支持,我这儿抛错,你那是同样的错误吗
作者: wangning23    时间: 2022-6-29 16:37
Fiona 发表于 2022-6-24 13:40
看起来是不支持,我这儿抛错,你那是同样的错误吗

是一样的错误,应该是底层解析的时候出了问题;
有什么其他的方法能实现这个操作么?
作者: Fiona    时间: 2022-6-29 18:33
现在不支持where的右侧为表达式。
建议您where等号右侧用参数,然后在报告里通过脚本传参
作者: wangning23    时间: 2022-7-26 09:19
Fiona 发表于 2022-6-29 18:33
现在不支持where的右侧为表达式。
建议您where等号右侧用参数,然后在报告里通过脚本传参 ...

能举个例子么?




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4