函數列表
lastNDate
用法:最近N天周期的起始日期。
參數:
(必傳)currentDate:當前日期,字串,格式
yyyyMMdd。(必傳)preDays:最近N天,整型數字。
(必傳)format:日期格式,
yyyyMMdd。
傳回值:
最近N天周期的起始日期,字串類型,格式
yyyyMMdd。
樣本:
lastNDate('20180118', 7,'yyyyMMdd')返回20180112。
cBeginDate
用法:取N個自然周期之前的那個自然周期的起始日期。
參數:
(必傳)currentDate:當前日期,字串類型,格式
yyyyMMdd。(必傳)timeFormat:自然周期類型,允許的類型有:
w: 自然周。
m: 自然月。
q: 自然季度。
y: 自然年。
(選傳)length:往前多少個自然周期,如果不傳則預設為1。
(必傳)format:日期格式,
yyyyMMdd。
傳回值:
N個自然周期之前的那個自然周期的起始日期,字串類型,格式
yyyyMMdd。
樣本:
cBeginDate('20180118', 'm','yyyyMMdd')返回20171201。cBeginDate('20180118', 'w','yyyyMMdd')返回20180108。cBeginDate('20180118', 'w', 2,'yyyyMMdd')返回20180101。
cEndDate
用法:取前一個自然周期的結束日期。
參數:
(必傳)currentDate:當前日期,字串,格式
yyyyMMdd。(必傳)timeFormat:自然周期類型,允許的類型有:
w: 自然周。
m: 自然月。
q: 自然季度。
y: 自然年。
(必傳)format:日期格式,
yyyyMMdd。
傳回值:
前一個自然周期的結束日期,字串類型,格式
yyyyMMdd。
樣本:
cEndDate('20180118', 'm','yyyyMMdd')返回20171231。cEndDate('20180118', 'w','yyyyMMdd')返回20180114。cEndDate('20180118', 'y','yyyyMMdd')返回20171231。
tdBeginDate
用法:取N個自然周期之前的那個自然周期的起始日期。與cBeginDate不同的是,如果不傳length,則取的是目前時間周期的起始時間,因此這個函數適合用於計算"**截止當日"類型的指標。
參數:
(必傳)currentDate:當前日期,字串,格式
yyyyMMdd。(選傳)timeFormat:不傳則返回19700101。自然周期類型,允許的類型有:
w: 自然周。
m: 自然月。
q: 自然季度。
y: 自然年。
(選傳)length:往前多少個自然周期,如果不傳則預設為0。
(必傳)format:日期格式,yyyyMMdd。
傳回值:
N個自然周期之前的那個自然周期的起始日期,字串類型,格式
yyyyMMdd。
樣本:
tdBeginDate('20180118','yyyyMMdd')返回19700101。tdBeginDate('20180118', 'm','yyyyMMdd')返回20180101。tdBeginDate('20180118', 'w','yyyyMMdd')返回20180115。tdBeginDate('20180118', 'w', 2,'yyyyMMdd')返回20180101。
CustomBeginDate
用法:取N個自訂周期之前的那個自訂周期的開始日期(以當前日期所在自訂周期為第一個自訂周期),適用於計算跟隨周期變化、周期規律、滑動但確定時間區間的資料統計周期,如定義統計周期財月、財年,常與CustomEndDate組合使用。
參數:
(必傳)currentDate:當前日期,字串,格式
yyyyMMdd。(必傳)timeFormat:自然周期類型,允許的類型有:
m: 自然月。
q: 自然季度。
y: 自然年。
(必傳)customShift:自訂周期的開始日期,字串,對於年、季,傳入值的格式為MMdd,對於月的預設格式為dd。
說明dd的值僅支援數字01~28。
(選傳)length:往前多少個自訂周期,如果不傳預設為1,為0時返回當前日期所在周期的起始時間。
(必傳)format:日期格式,
yyyyMMdd。
傳回值:
N個自訂周期之前的那個自訂周期的開始日期,字串類型,格式
yyyyMMdd。
樣本:
CustomBeginDate('20190802', 'y', '0401','yyyyMMdd')返回20180401。CustomBeginDate('20190802', 'y', '0401', 0,'yyyyMMdd')返回20190401。CustomBeginDate('20190802', 'q', '0101','yyyyMMdd')返回20190401。CustomBeginDate('20190802', 'm', '15','yyyyMMdd')返回20190615。CustomBeginDate('20190802', 'm', '15', 2,'yyyyMMdd')返回20190515。
CustomEndDate
用法:取N個自訂周期之前的那個自訂周期的結束日期(以當前日期所在自訂周期為第一個自訂周期),適用於計算跟隨周期變化、周期規律、滑動但確定時間區間的資料統計周期,如定義統計周期財月、財年,常與CustomBeginDate組合使用。
參數:
(必傳)currentDate:當前日期,字串類型,格式
yyyyMMdd。(必傳)timeFormat:自然周期類型,允許的類型有:
m: 自然月。
q: 自然季度。
y: 自然年。
(必傳)customShift:自訂周期的開始日期,字串,對於年、季,傳入值的格式為
MMdd,對於月的預設格式為dd。說明dd的值僅支援數字01~28。
(選傳)length:往前多少個自訂周期,如果不傳預設為1。
(必傳)format:日期格式,
yyyyMMdd。
傳回值:
N個自訂周期之前的那個自訂周期的結束日期,字串類型,格式
yyyyMMdd。
樣本:
CustomEndDate('20190802', 'y', '0401','yyyyMMdd')返回20190331。CustomEndDate('20190802', 'q', '0101','yyyyMMdd')返回20190630。CustomEndDate('20190802', 'm', '15','yyyyMMdd')返回20190714。CustomEndDate('20190802', 'm', '15', 2,'yyyyMMdd')返回20190614。
substring
用法:返回start位置開始到字串結束。位置從1開始。如果start為負數,則起始位置代表從字串的末尾開始倒數。
參數:
(必傳)currentDate:當前日期,字串類型,格式
yyyyMMdd。(必傳)start:開始位置。
(必傳)len:截取字串長度。
傳回值:
從字串s返回一個長度同len字元相同的子字串,起始於位置n。
樣本:
substring('20190802',1,4)返回2019。substring('20190802',1,6)返回201908。
lastNHour
用法:最近N小時周期的起始小時。
參數:
(必傳)currentDatetime:業務時間(小時),字串類型,格式
yyyyMMddHH0000。(必傳)preHours:最近N小時,整型數字。
傳回值:
最近N小時周期的起始小時,字串類型,格式
yyyyMMddHH0000。
樣本:
lastNHour('20180118160000', 7)返回20180118100000。
dthBeginDatetime
用法:業務時間所在日期的零點。
參數:
(必傳)currentDatetime:業務時間(小時),字串類型,格式
yyyyMMddHH0000。
傳回值:
業務時間所在日期的零點,字串類型,格式
yyyyMMdd000000。
樣本:
dthBeginDatetime('20180118160000')返回20180118000000。
lastNMinute
用法:最近N分鐘周期的起始分鐘。
參數:
(必傳)currentDatetime:業務時間(分鐘),字串類型,格式
yyyyMMddHHmm00。(必傳)preMinutes:最近N分鐘,整型數字。
傳回值:
最近N分鐘周期的起始分鐘,字串類型,格式
yyyyMMddHHmm00。
樣本:
lastNMinutes('20180118164500', 45)返回20180118160000。
dtmiBeginDatetime
用法:業務時間所在日期的零點。
參數:
(必傳)currentDatetime:業務時間(小時),字串,格式
yyyyMMddHH0000。(選傳)timeFormat: 自然周期類型,允許的類型有:
h:小時。
傳回值:
當有timeFormat參數h時為業務時間所在小時的整點,字串類型,格式
yyyyMMddHH0000。沒有timeFormat參數h時為業務時間所在日期的零點,字串類型,格式
yyyyMMdd000000。
樣本:
dtmiBeginDatetime('20180118160000')返回20180118000000。dtmiBeginDatetime('20180118164500', 'h')返回20180118160000。
適用情境
函數 | 研發/建模 | 品質/分區運算式 |
lastNDate | 支援 | 支援 |
cBeginDate | 支援 | 支援 |
cEndDate | 支援 | 支援 |
tdBeginDate | 支援 | 支援 |
CustomBeginDate | 支援 | 支援 |
CustomEndDate | 支援 | 支援 |
substring | 支援 | - |
lastNHour | 支援 | - |
dthBeginDatetime | 支援 | - |
lastNMinute | 支援 | - |
dtmiBeginDatetime | 支援 | - |
應用執行個體
統計周期 | 起始時間運算式 | 結束時間運算式 |
最近一天 | ${bizdate} | ${bizdate} |
最近 N 天 | lastNDate('${bizdate}', N) | ${bizdate} |
最近 M ~ N 天 | lastNDate('${bizdate}', M) | lastNDate('${bizdate}', N) |
歷史截止當日 | tdBeginDate('${bizdate}') | ${bizdate} |
自然周 | cBeginDate('${bizdate}', 'w') | cEndDate('${bizdate}', 'w') |
自然月 | cBeginDate('${bizdate}', 'm') | cEndDate('${bizdate}', 'm') |
自然季 | cBeginDate('${bizdate}', 'q') | cEndDate('${bizdate}', 'q') |
自然年 | cBeginDate('${bizdate}', 'y') | cEndDate('${bizdate}', 'y') |
最近 2 個自然月 | cBeginDate('${bizdate}', 'm', 2) | cEndDate('${bizdate}', 'm') |
自然周截止當日 | tdBeginDate('${bizdate}', 'w') | ${bizdate} |
自然月截止當日 | tdBeginDate('${bizdate}', 'm') | ${bizdate} |
自然季截止當日 | tdBeginDate('${bizdate}', 'q') | ${bizdate} |
自然年截止當日 | tdBeginDate('${bizdate}', 'y') | ${bizdate} |
上個自然月截止當日 | tdBeginDate('${bizdate}', 'm', 1) | ${bizdate} |
財年 | CustomBeginDate('${bizdate}', 'y', '0401') | CustomEndDate('${bizdate}', 'y', '0401') |