簡體   English   中英

如何在PROC SQL中使用CATS引用SAS變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM