五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    樓主: Undernatural
    2216 8

    [實(shí)際應(yīng)用] SAS 日期宏變量 宏 [推廣有獎(jiǎng)]

    • 1關(guān)注
    • 0粉絲

    本科生

    76%

    還不是VIP/貴賓

    -

    威望
    0 級(jí)
    論壇幣
    256 個(gè)
    通用積分
    2.8669
    學(xué)術(shù)水平
    0 點(diǎn)
    熱心指數(shù)
    0 點(diǎn)
    信用等級(jí)
    0 點(diǎn)
    經(jīng)驗(yàn)
    422 點(diǎn)
    帖子
    36
    精華
    0
    在線(xiàn)時(shí)間
    162 小時(shí)
    注冊(cè)時(shí)間
    2019-7-10
    最后登錄
    2024-7-23

    相似文件 換一批

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專(zhuān)屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個(gè)全額獎(jiǎng)學(xué)金名額~ !

    感謝您參與論壇問(wèn)題回答

    經(jīng)管之家送您兩個(gè)論壇幣!

    +2 論壇幣
    將生成的日期生成為宏變量,再將日期宏變量插入數(shù)據(jù)集,但是插入日期失敗,
    1. option spool;
    2. %macro a;
    3. data _null_;
    4.         call symput('mon',intck("month",'01dec2020'd,(today())));
    5. run;
    6. data sub_obs_mon;
    7.         do i=1 to &mon.;
    8.                 today=today();
    9.                 obs_dt=intnx('month','01dec2020'd,i,"end");
    10.                 format obs_dt today yymmdd10.;
    11.                 y=year(obs_dt);
    12.                 m=month(obs_dt);
    13.                 d=day(obs_dt);
    14.                 output;
    15.         end;
    16.         keep obs_dt y m d;
    17. run;
    18. data _null_;
    19.         set sub_obs_mon nobs=n;
    20.         call symput('n',n);
    21.         call symput('dt_'||left(_n_),compress(obs_dt));
    22.         call symput('y_'||left(_n_),compress(y));
    23.         call symput('m_'||left(_n_),compress(m));
    24.         call symput('d_'||left(_n_),compress(d));
    25. run;
    26. %do i=1 %to &n.;
    27.         %local tjyf_&i. dt_&i  y_&i. m_&i. d_&i.;
    28.         %let obs_dt=%sysfunc(mdy(%sysfunc(inputn(&&m_&i,best12.)),%sysfunc(inputn(&&d_&i,best12.)),%sysfunc(inputn(&&y_&i,best12.))));
    29. %end;
    30. %do i=1 %to &n.;
    31.         data a_&i.;
    32.                 date=&obs_dt;
    33.                 dt=%sysfunc(inputn(&&dt_&i,yymmdd10.));
    34.                 format date dt yymmdd10.;
    35.         run;
    36. %end;
    37. %mend;
    38. %a;
    復(fù)制代碼
    生成的a_1,a_2里的date、dt都為空值,調(diào)試了好久都無(wú)法實(shí)現(xiàn),不知道錯(cuò)在哪里,請(qǐng)大神指教一下!!著急。。!
    1612491952(1).jpg
    二維碼

    掃碼加我 拉你入群

    請(qǐng)注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:compress sysfunc symput format Option

    沙發(fā)
    孤單的我們 發(fā)表于 2021-2-5 11:22:03 |只看作者 |壇友微信交流群
    1. option spool mprint ;
    2. options symbolgen;
    3. %macro a;
    4. data _null_;
    5.         call symput('mon',intck("month",'01dec2020'd,(today())));
    6. run;
    7. data sub_obs_mon;
    8.         do i=1 to &mon.;
    9.                 today=today();
    10.                 obs_dt=intnx('month','01dec2020'd,i,"end");
    11.                 format obs_dt today yymmdd10.;
    12.                 y=year(obs_dt);
    13.                 m=month(obs_dt);
    14.                 d=day(obs_dt);
    15.                 output;
    16.         end;
    17.         keep obs_dt y m d;
    18. run;
    19. data _null_;
    20.         set sub_obs_mon nobs=n;
    21.         call symput('n',n);
    22.         call symput('dt_'||left(_n_),compress(obs_dt));
    23.         call symput('y_'||left(_n_),compress(y));
    24.         call symput('m_'||left(_n_),compress(m));
    25.         call symput('d_'||left(_n_),compress(d));
    26. run;


    27. %do i=1 %to &n.;
    28.         %*local tjyf_&i. dt_&i  y_&i. m_&i. d_&i.;
    29.         %let obs_dt=%sysfunc(catx(-,&&y_&i.,&&m_&i.,&&d_&i.));
    30. %end;
    31. %do i=1 %to &n.;
    32.         data a_&i.;
    33.                 date=input("&obs_dt",anydtdte20.);
    34.                 format date yymmdd10.;
    35.         run;
    36. %end;
    37. %mend;
    38. %a;
    復(fù)制代碼


    不太清楚你這個(gè)循環(huán)的意義,不過(guò)您既然這么寫(xiě)了,我就這么將就著改吧。顯然這個(gè)需求有更好的實(shí)現(xiàn)思路
    藤椅
    Undernatural 發(fā)表于 2021-2-5 13:12:21 |只看作者 |壇友微信交流群
    孤單的我們 發(fā)表于 2021-2-5 11:22
    不太清楚你這個(gè)循環(huán)的意義,不過(guò)您既然這么寫(xiě)了,我就這么將就著改吧。顯然這個(gè)需求有更好的實(shí)現(xiàn)思路
    我這個(gè)循環(huán)是要把sub_obs_mon里的每一個(gè)obs_dt日期值取出來(lái),插入后面的數(shù)據(jù)集循環(huán)使用;
    我的疑惑是賦值的時(shí)間宏變量,插入循環(huán)中的數(shù)據(jù)集總是失敗,不能繼續(xù)時(shí)與其他時(shí)間值進(jìn)行計(jì)算;
    你修改后的宏我運(yùn)行之后還是報(bào)錯(cuò),生成的a_1,a_2d里的時(shí)間還是空值
    [img][/img]
    板凳
    Undernatural 發(fā)表于 2021-2-5 13:19:25 |只看作者 |壇友微信交流群
    孤單的我們 發(fā)表于 2021-2-5 11:22
    不太清楚你這個(gè)循環(huán)的意義,不過(guò)您既然這么寫(xiě)了,我就這么將就著改吧。顯然這個(gè)需求有更好的實(shí)現(xiàn)思路
    我的需求就是將sub_obs_mon里的每一個(gè)obs_dt取出作為宏變量,在插入到循環(huán)當(dāng)中,與其他時(shí)間值進(jìn)行計(jì)算,我的代碼存在問(wèn)題,插入的時(shí)間obs_dt都是空置;
    你的代碼我執(zhí)行后,生成的a_1,a_2里的obs_dt也是空值,問(wèn)題出在哪里呢?一時(shí)也想不明白?
    提示如下圖:

    1612501818(1).jpg 1612501837(1).jpg

    報(bào)紙
    Undernatural 發(fā)表于 2021-2-5 13:20:25 |只看作者 |壇友微信交流群
    [img]C:\Users\dell\Desktop\1612501837(1).jpg
    [/img]
    地板
    Undernatural 發(fā)表于 2021-2-5 13:34:46 |只看作者 |壇友微信交流群
    Undernatural 發(fā)表于 2021-2-5 13:12
    我這個(gè)循環(huán)是要把sub_obs_mon里的每一個(gè)obs_dt日期值取出來(lái),插入后面的數(shù)據(jù)集循環(huán)使用;
    我的疑惑是賦值 ...
    日志如下:

    1612501818(1).jpg
    1612501837(1).jpg
    7
    Undernatural 發(fā)表于 2021-2-5 17:39:47 |只看作者 |壇友微信交流群
    孤單的我們 發(fā)表于 2021-2-5 11:22
    不太清楚你這個(gè)循環(huán)的意義,不過(guò)您既然這么寫(xiě)了,我就這么將就著改吧。顯然這個(gè)需求有更好的實(shí)現(xiàn)思路
    我更改了一下,執(zhí)行之后沒(méi)有問(wèn)題
    1. option spool mprint ;
    2. options symbolgen;
    3. %macro a;
    4. data _null_;
    5.         call symput('mon',intck("month",'01dec2020'd,(today())));
    6. run;
    7. data sub_obs_mon;
    8.         do i=1 to &mon.;
    9.         today=today();
    10.         obs_dt=intnx('month','01dec2020'd,i,"end");
    11.         output;
    12.         end;
    13. run;
    14. proc sql noprint;
    15.         select count(*) into : n from sub_obs_mon;
    16.         %do i=1 %to &n.;
    17.                 %local dt_&i;
    18.                 select obs_dt into : dt_&i from sub_obs_mon where i=&i;
    19.         %end;
    20. quit;
    21. %do i=1 %to &n.;
    22.         data a_&i.;
    23.                 date=&&dt_&i;
    24.                 format date yymmdd10.;
    25.         run;
    26. %end;
    27. %mend;
    28. %a;
    復(fù)制代碼

    8
    孤單的我們 發(fā)表于 2021-2-7 09:30:37 |只看作者 |壇友微信交流群
    Undernatural 發(fā)表于 2021-2-5 17:39
    我更改了一下,執(zhí)行之后沒(méi)有問(wèn)題
    完全不必循環(huán),不過(guò)既然你已達(dá)到你的目的就不說(shuō)什么了
    9
    Undernatural 發(fā)表于 2021-2-8 13:40:33 |只看作者 |壇友微信交流群
    孤單的我們 發(fā)表于 2021-2-7 09:30
    完全不必循環(huán),不過(guò)既然你已達(dá)到你的目的就不說(shuō)什么了
    目前我只想到這種方式,不過(guò)還是感謝!

    本版微信群
    加好友,備注cda
    拉您進(jìn)交流群

    京ICP備16021002-2號(hào) 京B2-20170662號(hào) 京公網(wǎng)安備 11010802022788號(hào) 論壇法律顧問(wèn):王進(jìn)律師 知識(shí)產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2024-12-23 17:36