2017-01-31 4 views
-1

SASからExcel 2013へのデータセットを.csvファイルとしてエクスポートする必要があります。しかし、私は動的であるためにファイル名が必要です。カスタムファイル名でSASからExcelにデータをエクスポート

文字列は、「in_C000000_」は、文字列定数のまま「013117_」当日の日付になり、文字列は「65201」はなり
in_C000000_013117_65201.csv 

:この場合、私はそれのように見える必要がありますデータセット自体の行数。

ご協力いただければ幸いです。

ありがとうございます!

答えて

0

ここでは、あなたが求めているものとほぼ同じことを過去に書いた修正されたマクロがあります。ご希望の形式の日付とsysdateを交換したい場合は、それは同様に行うことが簡単です。

%let path = [[desired destination]]; 

%macro exporter(dataset); 

    proc sql noprint; 
     select count(*) into: obs 
     from &dataset.; 
    quit; 

    data temp; 
     format date mmddyy6.; 
     date = today(); 
    run; 

    proc sql noprint; 
     select date format mmddyy6. into: date_formatted 
     from temp; 
    quit; 

    proc export data = &dataset. 
     file = "&path.in_C000000_&date_formatted._%sysfunc(compress(&obs.)).csv" 
     dbms = csv replace; 
    run; 

%mend exporter; 

%exporter(your_dataset_here); 

はフォーマットでデータセットを生成します:in_C000000_020117_50000.csv

+0

'PATH'は、マクロへのパラメータではありませんする必要がありますグローバル変数。また、 'into'は自動的に処理する必要があるので、' compress'は必要ありません(少なくとも9.3+、9.1や9.2にはないかもしれませんが、私は思い出しません)。 – Joe

+0

ありがとう! これはこれまで私のために働いているようです。 31JAN17ではなく、013117として日付を表示するには、どのような変更を行う必要がありますか? –

+0

日付変数の書式設定が必要です。編集したものよりも短いフォーマット方法があるかもしれませんが、上記はうまくいきます。 – superfluous

関連する問題