楼主: lonely830
1601 11

[有偿编程] 求sas大神帮忙 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

60%

还不是VIP/贵宾

-

威望
0
论坛币
612 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1761 点
帖子
179
精华
0
在线时间
132 小时
注册时间
2013-1-5
最后登录
2022-5-2

50论坛币

我想抓出例如2012年最后一天的前后20天的资料,一共41笔的资料。
请问sas程式该怎么写?

最佳答案

sxbaby 查看完整内容

如果是SQL的话,是否可以这样呢: proc sql noprint; create table aa as select * from rawdata where ('13May2015'd - 20)
关键词:资料

回帖推荐

sxbaby 发表于6楼  查看完整内容

我SAS学习的时间也不长,希望能帮到你吧,有什么地方不对的话请指出,互相学习. 如果单纯只能用data step来做的话,便捷性上面可能就不如宏来得方便了. 这是我的参考程度,把宏变量给替换掉去了. data change; set rawdata; fdt = intnx('day',"13May2015"d,-20); ldt = intnx('day',"13May2015"d,20); if fdt
沙发
sxbaby 发表于 2015-5-12 23:34:58 |只看作者 |坛友微信交流群
lonely830 发表于 2015-5-13 16:33
也是剛學sas,最多就運用到了sort和print。我有问过其他人,他们说sql就能直接跑出来。老师的意思,是想让 ...
如果是SQL的话,是否可以这样呢:
proc sql noprint;
  create table  aa as
  select * from rawdata
  where ('13May2015'd - 20) <= date <= ('13May2015'd +20);
quit;
没测试过,你看下是否可以?


使用道具

藤椅
andykingkong 发表于 2015-5-12 23:49:06 |只看作者 |坛友微信交流群

使用道具

板凳
sxbaby 发表于 2015-5-13 10:23:48 |只看作者 |坛友微信交流群
我这里有一个简单的思路,希望能够帮到你.
%macro aa(date=,int=);
        %let fdt = intnx('day',"&date"d,-&int);
        %let ldt = intnx('day',"&date"d,&int);
        data change;
                set rawdata;
                if &fdt <= rawdate <= &ldt;
        run;
%mend aa;

%aa(date=13May2015,int=20);

使用道具

报纸
lonely830 发表于 2015-5-13 15:48:13 |只看作者 |坛友微信交流群
sxbaby 发表于 2015-5-13 10:23
我这里有一个简单的思路,希望能够帮到你.
%macro aa(date=,int=);
        %let fdt = intnx('day',"&date"d,-&i ...
大神你好!請問你有qq嗎?因為老師要求只能用data step來做

使用道具

地板
lonely830 发表于 2015-5-13 16:28:20 |只看作者 |坛友微信交流群
- -。求大神

使用道具

7
sxbaby 发表于 2015-5-13 16:28:27 |只看作者 |坛友微信交流群
lonely830 发表于 2015-5-13 15:48
大神你好!請問你有qq嗎?因為老師要求只能用data step來做
我SAS学习的时间也不长,希望能帮到你吧,有什么地方不对的话请指出,互相学习.
如果单纯只能用data step来做的话,便捷性上面可能就不如宏来得方便了.
这是我的参考程度,把宏变量给替换掉去了.

data change;
        set rawdata;
        fdt = intnx('day',"13May2015"d,-20);
        ldt = intnx('day',"13May2015"d,20);
        if fdt <= rawdate <= ldt;
run;

使用道具

8
sxbaby 发表于 2015-5-13 16:29:41 |只看作者 |坛友微信交流群
lonely830 发表于 2015-5-13 15:48
大神你好!請問你有qq嗎?因為老師要求只能用data step來做
参照这个程序,我估计老师的要求程度应该不会这样生硬的,是否还有其他条件你没说呢?

使用道具

9
lonely830 发表于 2015-5-13 16:33:46 |只看作者 |坛友微信交流群
sxbaby 发表于 2015-5-13 16:29
参照这个程序,我估计老师的要求程度应该不会这样生硬的,是否还有其他条件你没说呢?
也是剛學sas,最多就運用到了sort和print。我有问过其他人,他们说sql就能直接跑出来。老师的意思,是想让我们用最基础的程式把这个资料抓出来。

使用道具

10
lonely830 发表于 2015-5-13 18:22:40 |只看作者 |坛友微信交流群
sxbaby 发表于 2015-5-13 16:43
如果是SQL的话,是否可以这样呢:
proc sql noprint;
  create table  aa as
能否加你的qq?

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 01:24