2

これはマクロの一部です:

  %let mvTableName = "MyTable";

  proc append base = &mvTableName data = TEMP_TABLE;
  run;

そして、私はWORKでテーブルを見つけることができません:\

その後、テーブルの作成を確認します。

  data &mvTableName; 
  run;

そして、ログで参照してください:Dataset MyTable ...

しかし、文字列を変更すると%let mvTableName=MyTable;

このログが表示されます:Dataset WORK.MyTable ..

どのように説明できますか?

4

1 に答える 1

3

DATA =オプションの入力としてmvTableNameを使用する場合は、二重引用符を含めないでください。

MyTableとTemp_tableがWORKライブラリのSASデータセットであると仮定すると...これは機能するはずです。

%Let mvTableName=MyTable;
Proc Append base=&mvTableName data=temp_table;
run;

また、

Data &mvTableName;
Run;

空のデータセットを作成します...したがって、mvTableNameは空のデータセットで上書きされます。

于 2012-05-14T12:23:24.687 に答える