私は、SASプログラミングにはかなり新しいので、現在進行中のイニシアチブに最も効率的な方法を見つけようとしています。基本的には、SASサーバーに保存されている既存の.csvファイルを変更し、同じサーバー上の自分のフォルダに保存する必要があります。CSVファイル処理 - SAS
修正が必要:
- 使用形式として.CSV保ちます "|"代わりに、区切り文字として「」の
- は、次の出力名を持っている:filename_YYYYMMDDhhmmss.csv
- は、元のファイルからのみ4つの変数
- を保つ私たちはここで
を維持するいくつかの変数は、スクリプトで名前を変更私は現在使用していますが、いくつかの問題がそれであります
PROC IMPORT OUT = libname.original_file (drop=var0)
FILE = "/.../file_on_server.csv"
DBMS = CSV
REPLACE;
RUN;
%PUT date_human = %SYSFUNC(PUTN(%sysevalf(%SYSFUNC(TODAY())-1), datetime20.));
proc export data = libname.original_file (rename= (var1=VAR11 var2=VAR22 Type=VAR33))
outfile = '/.../filename_&date_human..csv' label dbms=csv replace;
delimiter='|';
run;
との競合があるように見えるように名前を変更するとき、私はまた、「タイプ」と呼ばれる変数に問題がありますいくつかのシステムキーワード。日付形式も良くなく、SASフォーラムでは正確な形式を見つけることができませんでした。
このスクリプトをより効率的にするためのアドバイスは非常に高く評価されます。
このような詳細な説明をいただきありがとうございます!必要な新しい変数名を得ることができる理由はありますか?その内容はすべて空ですか? –
PUTがIFブロックの後ろにあることを確認してください。また、データ行が実際にカンマで区切られていることを確認してください。 IFブロックは最初のレコードの値を強制するので、最初の行も空として読み取られている可能性があります。この文を追加すると、最初の5行をダンプします。 '_n_ <= 5 then putlog _infile_;' – Tom
スクリプトを修正しようとしましたが、まだ結果が得られませんでしたが、値は "|"で区切られています。指定された通りです。 –