第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從SAS數(shù)據(jù)步驟動態(tài)調(diào)用宏

從SAS數(shù)據(jù)步驟動態(tài)調(diào)用宏

呼啦一陣風 2019-11-20 12:35:32
當作為SAS程序運行時,此代碼可以正常執(zhí)行:%MyMacro(foo_val, bar_val, bat_val);我使用以下方法創(chuàng)建了一個表:DATA analyses;   input title : $32. weight : $32. response : $32.;   datalines;foo1 bar1 bat1foo2 bar2 bat2;我想對表的MyMacro每一行執(zhí)行一次analyses。下面的代碼似乎只傳遞字符串值title,weight和response(而不是數(shù)據(jù)值foo1等),以我的宏(通過調(diào)用測試%put命令):DATA _NULL_ ;    set analyses;    %MyMacro(title, weight, response);RUN;analyses在將數(shù)據(jù)值作為參數(shù)傳遞給宏時,如何在表的每個記錄中調(diào)用一次宏?目的是針對大量分析實際運行此操作,因此解決方案必須適當?shù)財U展到analyses表中的更多記錄。
查看完整描述

3 回答

?
慕少森

TA貢獻2019條經(jīng)驗 獲得超9個贊

您可以將變量值放入宏變量,然后%MyMacro使用宏變量作為參數(shù)多次調(diào)用(數(shù)據(jù)集中的obs數(shù)):


資料:


DATA analyses;

   input title : $32. weight : $32. response : $32.;

   datalines;

foo1 bar1 bat1

foo2 bar2 bat2

;

run;

運行宏的代碼:


data _NULL_;

    set analyses end=fine;

    call symput("ARGUMENT"||compress(_N_),catx(",",title,weight,response));

    if fine then call symput("NLOOPS",compress(_N_));

run;

%*PUT &ARGUMENT1;

%*PUT &ARGUMENT2;


%MACRO MAIN;

%DO L=1 %TO &NLOOPS;

    %MyMacro(&&ARGUMENT&L);

%END;

%MEND;

%MAIN;


查看完整回答
反對 回復 2019-11-20
  • 3 回答
  • 0 關注
  • 927 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號