2016-07-26 5 views
0

複数のSASプログラムファイルがあり、それぞれにさまざまなマクロ変数があり、Excelファイルで動的に設定する必要があります。私はPythonスクリプト(またはシェルスクリプト)を使ってexcelファイルの値をSASプログラムに渡すことができるかどうか疑問に思っていました。私はSASプログラムごとにパラメータを手動で設定するプロセスを自動化したいと思っています。Pythonスクリプトを使ってSASプログラムのマクロ変数を設定する方法

お勧めします。

+0

なぜSASでExcelファイルをインポートしないのですか? – superfluous

+0

私はすべてのsasプログラムの実行を、共通のExcelファイルでパラメータを設定して自動化しようとしています。Excelファイルを読んでいて、プログラム名に基づいてSASの特定のコードファイルのパラメータを設定します。私がSASにインポートしなければならないのであれば、私のために何も自動化しません。 @ superfluous – codemob

+1

@codemobまあ、それをSASに読み込んで、SASジョブの内部にパラメータを設定することはできますか? – Joe

答えて

0

-sysparmコマンドラインオプションを使用して文字列をSASに渡すことができます。この文字列は、自動変数&sysparmとしてSASで利用できます。

など。あなたはSASの内側に文字列を解析する必要がある場合(コマンドライン:)

sas myprogram.sas -sysparm myparam

から、%scan()マクロ機能は、おそらく有用であろう。

0

だから、私はこの問題を解決する方法を理解しました:

 subprocess.call(['C:\\Program Files\\SASHome\\SASFoundation\\9.4\\sas.exe', '-config', config_path, '-autoexec', autoexec_path,'-sasinitialfolder',sasinitialfolder,'-sysin', sas_script_path,'-log',ori_log]) 

私はバッシュでそれを実行するのpythonからサブプロセスの呼び出しを行ったと私はSASプログラムに関して、この呼び出しに異なるパラメータを送信しています電話しています。サブプロセス呼び出しから渡すパラメータは、%sysgetコマンドによってSASプログラムに取り込まれます。ありがとうございます。

関連する問題