むしろ奇妙な問題です。私はSASで次のコードを実行しています。SASで%%を使用しているデータラインは含まれていません
data manual_input;
infile datalines dlm=',';
length name $ 32 ;
input name $ varlist_no ;
datalines;
K0002,1
B0000,1
;
run;
私たちのUnixサーバ上のエンタープライズ・ガイドの私の強化のエディタで正常にこれを実行すると、それが正常に動作し、何の問題。次のように
私は%を通してそれを実行し、文を含めない:
filename ds_code "/wload/something/something/foo/bar";
%include ds_code ("varlist_input_test.sas") /source2;
コードは、もはや機能します。次のようなエラーが表示されます。
NOTE: Invalid data for varlist_no in line 24 7-80.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
24 CHAR K0002,1.
ZONE 43333230222222222222222222222222222222222222222222222222222222222222222222222222
NUMR B0002C1D000000000000000000000000000000000000000000000000000000000000000000000000
name=K0002 varlist_no=. _ERROR_=1 _N_=1
NOTE: Invalid data for varlist_no in line 25 7-80.
25 CHAR B0000,1.
ZONE 43333230222222222222222222222222222222222222222222222222222222222222222222222222
NUMR 20000C1D000000000000000000000000000000000000000000000000000000000000000000000000
name=B0000 varlist_no=. _ERROR_=1 _N_=2
NOTE: The data set WORK.MANUAL_INPUT has 2 observations and 2 variables.
NOTE: Compressing data set WORK.MANUAL_INPUT increased size by 100.00 percent.
Compressed is 2 pages; un-compressed would require 1 pages.
何がありますか?カンマ区切りの入力を指定しました。また、なぜデータラインがマクロ内で動作しないのか理解しています。なぜ静的なデータセット入力を繰り返し実行する必要がありますか?しかし、私はカード/データラインを使用するコードを呼び出すためにインクルードステートメントを使用することは完全に受け入れられると信じています。
誰もが考えている?
あなたはに 'TERMSTR ='オプションを追加することができます'%INCLUDE'文です。 – Tom
良い点が追加されました。 – Joe