![](/img/trans.png)
[英]How to count a specific variable between a range in SAS using proc sql?
[英]How to reference SAS variable with CATS in PROC SQL?
我似乎無法弄清的最基本的東西。 特定表中的列是在其前面帶有下划線的數字,我在宏變量中存儲了一個數字,並且我要使用的列的名稱是帶下划線的該數字。 假設數字是9,當我編寫以下代碼時,我得到了一個列,其中每個觀察值都是_9而不是該數據集中的_9列。
proc sql;
create table TM1 as
select cats("_",&rat_as_num) from default_data;
quit;
CATS返回字符串,而不是變量名。 因此,變量名無關緊要,您將獲得一個帶有_RAT_AS_NUM_VALUE的字符串。
要返回變量名稱,請改用%SYSFUNC(),
data test;
_9 = 4;
run;
%let rat_as_num=9;
proc sql;
create table test2 as
select %sysfunc(cats(_, &rat_as_num)) from test;
quit;
proc print data=test2;
run;
根據@Richards的評論,這也可以:
proc sql;
create table test2 as
select _&rat_as_nun from test;
quit;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.