楼主: sasjunior
3211 6

请教SAS宏循环求和的问题!!!! [推广有奖]

  • 2关注
  • 0粉丝

本科生

66%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1640 点
帖子
91
精华
0
在线时间
68 小时
注册时间
2014-11-6
最后登录
2018-7-23

楼主
sasjunior 发表于 2016-10-18 14:32:57 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

各位大牛我这个问题很简单,就是想写个宏把变量a1-a100求和,但我运行之后结果为0,相当于循环没有进行,麻烦请教各位我是哪里写错了,谢谢了!



data a;
input c a1 m a2-a100;
datalines;
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
1 1        2 2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18        19        20        21        22        23        24        25        26        27        28        29        30        31        32        33        34        35        36        37        38        39        40        41        42        43        44        45        46        47        48        49        50        51        52        53        54        55        56        57        58        59        60        61        62        63        64        65        66        67        68        69        70        71        72        73        74        75        76        77        78        79        80        81        82        83        84        85        86        87        88        89        90        91        92        93        94        95        96        97        98        99        100
;
run;




/*如何用do实现?*/
%macro sum(infile=,outfile=);
data &outfile;
set &infile;
sum=0;
%do i=1 %to i=100;
        sum=sum+a&i;
%end;
run;

proc sql outobs=1;
select sum
from &outfile;
%mend sum;


%sum(infile=a,outfile=x);


二维码

扫码加我 拉你入群

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

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

关键词:SAS宏 宏循环 proc sql infile Select SAS SAS数据分析方法 lSAS SAS统计分析 SASBASE

回帖推荐

dogmamongo 发表于3楼  查看完整内容

我以为 sum=sum(of a1-a100); 就是a1加到a100 目前的作法是 100*a1+99*a2+98*a3+.....2*a99+a100;

沙发
fyp198744 发表于 2016-10-18 14:49:53
%do i=1 %to i=100;
        sum=sum+a&i;
%end;
把第二个“i=”去掉;
%do i=1 %to 100;
        sum=sum+a&i;
%end;

藤椅
dogmamongo 发表于 2016-10-19 13:30:53
我以为

sum=sum(of a1-a100);
就是a1加到a100


目前的作法是
100*a1+99*a2+98*a3+.....2*a99+a100;

板凳
sasjunior 发表于 2016-10-21 08:28:54
fyp198744 发表于 2016-10-18 14:49
%do i=1 %to i=100;
        sum=sum+a&i;
%end;
非常感谢!去掉了就可以了。

报纸
sasjunior 发表于 2016-10-21 08:30:54
dogmamongo 发表于 2016-10-19 13:30
我以为

sum=sum(of a1-a100);
恩,用您写的那个方法也可以,我写这个宏循环主要是为了练习写循环,所以写了一个简答的问题。目前的结果就是从a1+...+a100。您写的那个100*a1+...+a100我不太明白是什么意思?

地板
dogmamongo 发表于 2016-10-21 10:49:19
我不小心弄错了  不好意思
但是利用sum的功能即可

7
sasjunior 发表于 2016-10-21 14:53:37
dogmamongo 发表于 2016-10-21 10:49
我不小心弄错了  不好意思
但是利用sum的功能即可
哦,嗯,是的,谢啦!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 05:55