五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆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>
    樓主: playmore
    3557 5

    [程序分享] SAS基礎(chǔ)宏之10:GetDataSetInfoInLib [推廣有獎(jiǎng)]

    • 16關(guān)注
    • 79粉絲

    學(xué)科帶頭人

    2%

    還不是VIP/貴賓

    -

    TA的文庫  其他...

    R相關(guān)

    經(jīng)濟(jì)學(xué)相關(guān)

    金融工程

    威望
    1
    論壇幣
    16330 個(gè)
    通用積分
    8.5797
    學(xué)術(shù)水平
    372 點(diǎn)
    熱心指數(shù)
    394 點(diǎn)
    信用等級
    341 點(diǎn)
    經(jīng)驗(yàn)
    15297 點(diǎn)
    帖子
    1194
    精華
    1
    在線時(shí)間
    1331 小時(shí)
    注冊時(shí)間
    2007-1-11
    最后登錄
    2023-12-15

    初級學(xué)術(shù)勛章 初級熱心勛章 中級熱心勛章

    樓主
    playmore 發(fā)表于 2013-4-20 21:32:56 |只看作者 |壇友微信交流群|倒序 |AI寫論文

    +2 論壇幣
    k人 參與回答

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

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

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

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

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

    感謝您參與論壇問題回答

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

    +2 論壇幣
    得到指定Library里的數(shù)據(jù)集列表
    可以導(dǎo)出至新的數(shù)據(jù)集或指定txt文件

    1. %macro GetDataSetInfoInLib(LibName,Filter,TargetTable,OutFilePath,Detail);

    2. /**********************************************************************/
    3. /* 此宏用于獲得目標(biāo)邏輯庫下所有數(shù)據(jù)集的信息,并將此信息保存至SAS表格 */
    4. /* 或?qū)С鲋羣xt文件中。其中,LibName是指定的邏輯庫;Filter是數(shù)據(jù)集過濾 */
    5. /* 設(shè)置,支持_和%通配符,若需要導(dǎo)出所有數(shù)據(jù)集列表,可以設(shè)置為空; */
    6. /* TargetTable是保存數(shù)據(jù)集信息的SAS表格,若不需要生成,可以設(shè)為空; */
    7. /* OutFilePath是導(dǎo)出txt文件的路徑,若不需要導(dǎo)出,可以設(shè)為空;Detail是 */
    8. /* 標(biāo)記變量,=Yes表示導(dǎo)出數(shù)據(jù)集列表詳情,否則=No。 */
    9. /* */
    10. /* 最終得到的是含有目標(biāo)邏輯庫下所有數(shù)據(jù)集信息的SAS表格和存于指定路徑 */
    11. /* 的txt文件。 */
    12. /* */
    13. /* Created on 2013.2.23 */
    14. /* Modified on 2013.4.3 */
    15. /**********************************************************************/

    16. /* 檢查TargetTable和OutFilePath的非同時(shí)為空性 */
    17. %if &TargetTable EQ %STR() AND &OutFilePath EQ %STR() %then %do;
    18. %put ERROR: The TargetTable and OutFilePath should not be blank simultaneously, please check it again.;
    19. %goto exit;
    20. %end;

    21. %if &TargetTable EQ %STR() %then %let TargetTable=GDSIIL_Temp;

    22. /* 檢查OutFilePath的合法性,若后綴不存在或非TXT,則改為TXT */
    23. %if &OutFilePath NE %STR() %then %do;
    24. %if %SYSFUNC(FIND(&OutFilePath,%STR(.))) EQ 0 %then %do;
    25. %let OutFilePath=%SYSFUNC(CATS(&OutFilePath,%STR(.TXT)));
    26. %end;
    27. %else %if %SYSFUNC(FIND(&OutFilePath,%STR(.))) NE 0 AND %UPCASE(%SCAN(&OutFilePath,-1,%STR(.))) NE TXT %then %do;
    28. %let OutFilePath=%SYSFUNC(CATS(%SUBSTR(&OutFilePath,1,%LENGTH(&OutFilePath)-%LENGTH(%SCAN(&OutFilePath,-1,%STR(.)))),TXT));
    29. %end;
    30. %end;

    31. /* 檢查輸入路徑下是否存在同名文件,若存在則刪除 */
    32. %if &OutFilePath NE %STR() %then %do;
    33. %ChkFile(&OutFilePath);
    34. %end;

    35. /* 檢查Detail的合法性 */
    36. %if &Detail EQ %STR() %then %let Detail=No;

    37. %if %UPCASE(&Detail) NE YES AND %UPCASE(&Detail) NE NO %then %do;
    38. %put ERROR: The Detail should be Yes or No, case insensitive and without quotes.;
    39. %goto exit;
    40. %end;

    41. /* 開始進(jìn)行計(jì)算 */
    42. proc sql noprint;
    43. create table &TargetTable as
    44. select * from SASHELP.VTABLE
    45. where libname EQ UPCASE("&LibName.")
    46. %if %UPCASE(&Filter) NE %STR() %then %do;
    47. and memname like UPCASE("&Filter.");
    48. %end;
    49. %else %do;
    50. ;
    51. %end;
    52. quit;

    53. %if %UPCASE(&Detail) EQ NO %then %do;
    54. data &TargetTable;
    55. set &TargetTable(keep=libname memname);
    56. run;
    57. %end;

    58. %if &OutFilePath NE %STR() %then %do;
    59. %ExportToDelimitedFile(SourceTable=&TargetTable,
    60. Delimiter='09'x,
    61. PutNames=Yes,
    62. OutFilePath=&OutFilePath);
    63. %end;

    64. /* 如需要在SAS的Output窗口中打印文件列表,請取消如下注釋 */
    65. /*proc print data=&TargetTable;*/
    66. /*title1 "Files identified through saved file";*/
    67. /*run;*/

    68. /* 刪除不必要的表格 */
    69. proc datasets lib=work nolist;
    70. delete GDSIIL_:;
    71. quit;

    72. %exit:
    73. %mend;


    74. %macro Demo();

    75. %let LibName=Zheng;
    76. %let Filter=r%; /* 文件過濾設(shè)置,若需要導(dǎo)出所有文件列表,則設(shè)置為空即可,即Filter=; */
    77. %let TargetTable=FileList; /* 若不需要生成包含文件列表的SAS表格,則設(shè)為空,大小寫不敏感 */
    78. %let OutFilePath=d:\Temp\abc.txt; /* 若不需要導(dǎo)出文件列表txt文件,則設(shè)為空,大小寫不敏感 */
    79. %let Detail=Yes; /* =Yes表示在導(dǎo)出文件列表txt文件中包含InDirPath的詳情,否則=No,大小寫不敏感 */
    80. %GetDataSetInfoInLib(&LibName,&Filter,&TargetTable,&OutFilePath,&Detail);

    81. %mend;
    復(fù)制代碼


    二維碼

    掃碼加我 拉你入群

    請注明:姓名-公司-職位

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

    關(guān)鍵詞:dataset DataS sas基礎(chǔ) Data Info 基礎(chǔ)

    已有 2 人評分經(jīng)驗(yàn) 論壇幣 學(xué)術(shù)水平 熱心指數(shù) 信用等級 收起 理由
    rdwalk + 1 + 1 + 1 精彩帖子
    webgu + 100 + 100 + 5 + 5 + 5 我得好好學(xué)習(xí)下。

    總評分: 經(jīng)驗(yàn) + 100  論壇幣 + 100  學(xué)術(shù)水平 + 6  熱心指數(shù) + 6  信用等級 + 6   查看全部評分

    本帖被以下文庫推薦

    playmore邀請您訪問ChinaTeX論壇。!進(jìn)入ChinaTeX論壇
    沙發(fā)
    yger 在職認(rèn)證  發(fā)表于 2013-4-20 21:37:50 |只看作者 |壇友微信交流群
    謝謝!厲害!
    藤椅
    ryuuzt 發(fā)表于 2013-4-24 09:54:54 |只看作者 |壇友微信交流群
    拜讀,收藏,學(xué)習(xí),感謝。
    板凳
    kongqunyu 發(fā)表于 2014-4-3 10:28:52 |只看作者 |壇友微信交流群
    這個(gè)要自己用 要改哪里?
    報(bào)紙
    playmore 發(fā)表于 2014-4-8 14:43:10 |只看作者 |壇友微信交流群
    kongqunyu 發(fā)表于 2014-4-3 10:28
    這個(gè)要自己用 要改哪里?
    直接拿過去用,如果有報(bào)錯(cuò)說有的宏沒有定義
    就去找我其他的貼子,我都貼過了
    playmore邀請您訪問ChinaTeX論壇!!進(jìn)入ChinaTeX論壇
    地板
    yxyg2007 發(fā)表于 2014-4-10 21:41:16 |只看作者 |壇友微信交流群
    學(xué)些了。。。。
    您需要登錄后才可以回帖 登錄 | 我要注冊

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

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

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