s*****r 发帖数: 223 | 1 刚学sas不久, 需要写macro 输出指定var 的最大值或最小值的obs(可能不只一个)。
exampledata
obs var1 var2
1 3 2
2 9 9
3 4 6
4 9 2
我知道可以
* sort to find the max or min;
proc sort data = exampledata out = sortedexampledata ;
by ascending/descending var1/var2;
run;
*determine how many obs to keep in the data set;
data sortedexampledata;
set sortedexampledata ( obs = N);
run;
现在的问题我不知道怎么coding 找到 这个 N, 我知道 N 就是 var1 or var 2 的
最大值或者最小值的 frequency, 怎么 输出这个frequency 然后传递给 N。
谢谢 |
s*****r 发帖数: 223 | 2 刚学sas不久, 需要写macro 输出指定var 的最大值或最小值的obs(可能不只一个)。
exampledata
obs var1 var2
1 3 2
2 9 9
3 4 6
4 9 2
我知道可以
* sort to find the max or min;
proc sort data = exampledata out = sortedexampledata ;
by ascending/descending var1/var2;
run;
*determine how many obs to keep in the data set;
data sortedexampledata;
set sortedexampledata ( obs = N);
run;
现在的问题我不知道怎么coding 找到 这个 N, 我知道 N 就是 var1 or var 2 的
最大值或者最小值的 frequency, 怎么 输出这个frequency 然后传递给 N。
谢谢 |
d*********d 发帖数: 239 | 3 不知道有没有理解对你的意思。
%MACRO Test();
PROC SQL;
SELECT * FROM
A
HAVING Var1 = MIN(Var1) OR Var1 = MAX(Var1);
QUIT;
%MEND Test;
%Test;
)。
【在 s*****r 的大作中提到】 : 刚学sas不久, 需要写macro 输出指定var 的最大值或最小值的obs(可能不只一个)。 : exampledata : obs var1 var2 : 1 3 2 : 2 9 9 : 3 4 6 : 4 9 2 : 我知道可以 : * sort to find the max or min; : proc sort data = exampledata out = sortedexampledata ;
|