楼主: O(∩_∩)O~!
7057 11

请教SAS月份转季度的问题? [推广有奖]

  • 0关注
  • 1粉丝

已卖:8份资源

讲师

18%

还不是VIP/贵宾

-

威望
0
论坛币
3994 个
通用积分
13.4290
学术水平
6 点
热心指数
16 点
信用等级
5 点
经验
8886 点
帖子
276
精华
0
在线时间
333 小时
注册时间
2010-8-5
最后登录
2022-8-16

楼主
O(∩_∩)O~! 发表于 2012-6-11 15:47:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好!
    我有一个数据集,从时间来看里面有27个月的数据,时间记录格式是类似于 201001 这样的,导到SAS后格式是BEST12.,不是日期格式,现在需要根据月度值计算出相应的季度,直接用QTR()函数,结果是错误的,请问是为什么?该如何解决,多谢
二维码

扫码加我 拉你入群

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

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

关键词:Best Est 大家好 数据集 记录 如何

沙发
mymine 发表于 2012-6-11 16:19:31
假设原表中的时间字段为time

data a;
set a;
t1=qtr(mdy(substr(left(time),5,2),'01',substr(left(time),1,4)));
run;

藤椅
O(∩_∩)O~! 发表于 2012-6-11 17:00:57
mymine 发表于 2012-6-11 16:19
假设原表中的时间字段为time

data a;
这样能实现,非常感谢,只是我不知道为什么是这样?能否指点一下?直接用qtr函数出来的时间不对。

板凳
mymine 发表于 2012-6-11 22:08:55
qtr计算季度的变量的类型应该是日期型,mdy函数是将三个字段转换为日期型
substr(left(time),5,2)是月
'01'自己添加的日
substr(left(time),1,4)是年
已有 1 人评分学术水平 热心指数 收起 理由
O(∩_∩)O~! + 1 + 1 分析的有道理

总评分: 学术水平 + 1  热心指数 + 1   查看全部评分

报纸
O(∩_∩)O~! 发表于 2012-6-13 08:07:48
mymine 发表于 2012-6-11 22:08
qtr计算季度的变量的类型应该是日期型,mdy函数是将三个字段转换为日期型
substr(left(time),5,2)是月
'0 ...
又学了一招,谢谢

地板
yuwenhuajiayou 学生认证  发表于 2013-1-17 14:00:45
谢谢,学习了!

7
gougou11 发表于 2013-1-24 09:41:59
学习了
泰山石敢当

8
henryyhl 发表于 2013-1-24 16:33:33
data one;  **示例数据;
input time;
cards;
201001
196001
201210
;
run;
data two;
set one;
q0=put(time,6.);  ***将time转换为字符型变量q0;
***q=input(left(time),yymmn6.);
q=input(q0,yymmn6.);  **将原来数值型的time改为表示sas时间的q;
qt=qtr(q);  **qt即为所求的季度;
drop q0;
run;
It's not going to be easy, but it is going to be worth it.

9
oneoneagain 发表于 2013-1-25 00:04:50
转换成时间格式,就行了,就是八楼那样的,学习了!

10
fromsummer 发表于 2013-8-14 14:51:11
涨姿势了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 04:11