全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1214 4
2023-06-04
比如201101这样的周度数据变量转化为日期格式,SAS可以将周度数据变量定义为日期格式吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2023-6-5 02:20:07
什么叫“周度数据”?如果你的问题是如何将数字201101转化为日期数据(即201101代表的是2011年1月),那么可以进行如下操作:
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-6-5 10:35:46
hugebear 发表于 2023-6-5 02:20
什么叫“周度数据”?如果你的问题是如何将数字201101转化为日期数据(即201101代表的是2011年1月),那么可 ...
201101表示2011年第一周,一年总共52-53周,SAS有没有程序能把这种周度数据从数值型格式转换为日期型格式,因为我在做分位数投资组合检验的时候想用intck函数进行错位匹配,比如intck('week',date1,date2)=1,让数据和数据之间相差一周,但是如果201101是数值型数据的话,跑出来的结果会报错
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-6-5 23:10:43
friend简 发表于 2023-6-5 10:35
201101表示2011年第一周,一年总共52-53周,SAS有没有程序能把这种周度数据从数值型格式转换为日期型格式 ...
感谢进一步的说明。如果是这样,可以使用intnx函数来解决这个问题。基本思路是首先根据输入(例如201101)的前四位数字来确定那一年的元旦,再根据输入的后两位数字来确定从元旦开始的经过的周数,便能得到201101所对应的(默认)日期值(即那一周的周日日期)。代码如下:
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2023-6-6 19:48:38
楼上的思路是可行的。
若借助SAS中特殊的输入格式 WEEKV(链接:https://support.sas.com/document ... nn1r6nm8jbaxxqp.htm),则可以写得更简洁些:
复制代码
结果为:
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群