h**s 发帖数: 6 | 1 我想把变量 a,b,c 作不同的label,分别是aaa,bbb,ccc。该怎么label呢?实际上我有
很多变量需要label,所以想要用macro。下面是数据的一部分,多谢多谢。
我现在只能想出如何一次作同样的label,比如a,b,c,都成aaa.但这不是我想要的,多
谢。
DATA cars1;
INPUT a b c;
CARDS;
22 2930 4099
17 3350 4749
22 2640 3799
20 3250 4816
15 4080 7827
;
RUN; | h**h 发帖数: 488 | 2 Don't quite get it. If just lable the variables, you can use proc format to
give names to the desired variables.
【在 h**s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我想把变量 a,b,c 作不同的label,分别是aaa,bbb,ccc。该怎么label呢?实际上我有 : 很多变量需要label,所以想要用macro。下面是数据的一部分,多谢多谢。 : 我现在只能想出如何一次作同样的label,比如a,b,c,都成aaa.但这不是我想要的,多 : 谢。 : DATA cars1; : INPUT a b c; : CARDS; : 22 2930 4099 : 17 3350 4749 : 22 2640 3799
| c********s 发帖数: 483 | 3 Do you mean label for variable name?
If you do not know how many variables on dataset
You may use 1>. sashelp to get variable name,
2>. Proc sql select into: to get macro list
3>. proc sql select n() to get count macro
4>. Using do loop or array to label variable using your label
rule.
| f********m 发帖数: 197 | 4 Is it possible that you define two arrays, one store variable name, one
store newlabel,say
...
array varname{3} $ ('a' 'b' 'c');
array label_of_var{3} $ ('aaa','bbb','ccc');
...
Then you define the macro as
%macro labels (var_to_label=, label_of_var=);
...
label &var_to_label = &label_of_var;
...
%mend;
do i=1 to 3;
%labels(var_to_label=varname{i}, label_of_var=newlabel{i});
end;
May worth a shot. But I'm not sure if it will work. :)
【在 h**s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我想把变量 a,b,c 作不同的label,分别是aaa,bbb,ccc。该怎么label呢?实际上我有 : 很多变量需要label,所以想要用macro。下面是数据的一部分,多谢多谢。 : 我现在只能想出如何一次作同样的label,比如a,b,c,都成aaa.但这不是我想要的,多 : 谢。 : DATA cars1; : INPUT a b c; : CARDS; : 22 2930 4099 : 17 3350 4749 : 22 2640 3799
| n********6 发帖数: 1511 | 5 Thank you for your comments. It also reminds me the dictionary table.
【在 c********s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Do you mean label for variable name? : If you do not know how many variables on dataset : You may use 1>. sashelp to get variable name, : 2>. Proc sql select into: to get macro list : 3>. proc sql select n() to get count macro : 4>. Using do loop or array to label variable using your label : rule. :
|
|