无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

SAS 程序分享:獲取邏輯庫(kù)中的全部日期數(shù)據(jù)(2)

2023-07-14 17:50 作者:SAS駱豪  | 我要投稿

在上一篇文章中,我分享了一種快速獲取邏輯庫(kù)中的全部日期數(shù)據(jù)的做法:SAS 程序分享:獲取邏輯庫(kù)中的全部日期數(shù)據(jù) - 嗶哩嗶哩 (bilibili.com),其中,我利用字典數(shù)據(jù)集獲取全部變量的清單,保留以“DAT”結(jié)尾的變量列表,然后遍歷這個(gè)變量列表,使用 call execute() 子程序動(dòng)態(tài)創(chuàng)建并執(zhí)行了一段程序,將“DAT”結(jié)尾的變量的值不斷追加到結(jié)果數(shù)據(jù)集中。然而,我限定日期變量以“DAT”結(jié)尾,實(shí)際情況卻并不總是如此。

可能的實(shí)際情況:

  1. 日期變量的名稱不以“DAT”結(jié)尾,甚至是毫無規(guī)律的,只是存儲(chǔ)著日期值;

  2. 日期變量有可能是數(shù)值型變量,此時(shí)變量帶有日期型輸出格式;

這對(duì)編程提取日期數(shù)據(jù)增加了一些麻煩,但我們可以分情況討論。

應(yīng)對(duì)第1種情況,可以使用正則表達(dá)式捕獲可能的日期值,例如日期 2023-07-14 可以簡(jiǎn)單地使用 /\d{4}-\d{2}-\d{2}/ 匹配,14JUL2023 則可以使用 /\d{2}\w{3}\d{4}/ 匹配。當(dāng)同時(shí)存在多種日期模式時(shí),就使用豎線將它們隔開。值得指出的是,多寫幾種可能的日期模式可以增加方法的魯棒性,但費(fèi)心寫盡所有所有可能的日期模式是沒有必要的,這幾乎不可能出現(xiàn)在用于商業(yè)分析的數(shù)據(jù)中。

應(yīng)對(duì)第2種情況,則可以在字典數(shù)據(jù)集中檢查它們的 format 是否為常見的日期格式?;谕瑯拥目紤],不需要尋找過多的數(shù)值型日期變量的輸出格式。

完整程序如下:

上述程序中,僅有輸出格式名以“E8601DA”、“YYMMDD”、“DATE”?為前綴的數(shù)值型變量,或其值匹配正則表達(dá)式“/^\d{4}-\d{2}-\d{2}|\d{2}\w{3}\d{4}$/”的字符型變量會(huì)被追加到結(jié)果數(shù)據(jù)集。在結(jié)果數(shù)據(jù)集中,原本的數(shù)值型變量按 yymmdd10. 格式存儲(chǔ)為字符值,而原本的字符型變量按原始值存儲(chǔ)。

基于上一篇文章中的示例數(shù)據(jù),上述程序的運(yùn)行結(jié)果為:

示例程序運(yùn)行結(jié)果


SAS 程序分享:獲取邏輯庫(kù)中的全部日期數(shù)據(jù)(2)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
金昌市| 平邑县| 家居| 石泉县| 泗水县| 道真| 莱西市| 玛曲县| 连城县| 都兰县| 鲁甸县| 昆明市| 馆陶县| 鲜城| 金阳县| 竹北市| 湄潭县| 阿勒泰市| 灌南县| 银川市| 吉林省| 凌源市| 句容市| 亳州市| 如东县| 吉隆县| 额敏县| 绥宁县| 蓝田县| 西宁市| 卢湾区| 陆川县| 宜春市| 临朐县| 镇原县| 微博| 江都市| 邢台县| 鄱阳县| 刚察县| 茌平县|