複数のSASプログラムファイルがあり、それぞれにさまざまなマクロ変数があり、Excelファイルで動的に設定する必要があります。私はPythonスクリプト(またはシェルスクリプト)を使ってexcelファイルの値をSASプログラムに渡すことができるかどうか疑問に思っていました。私はSASプログラムごとにパラメータを手動で設定するプロセスを自動化したいと思っています。Pythonスクリプトを使ってSASプログラムのマクロ変数を設定する方法
お勧めします。
複数のSASプログラムファイルがあり、それぞれにさまざまなマクロ変数があり、Excelファイルで動的に設定する必要があります。私はPythonスクリプト(またはシェルスクリプト)を使ってexcelファイルの値をSASプログラムに渡すことができるかどうか疑問に思っていました。私はSASプログラムごとにパラメータを手動で設定するプロセスを自動化したいと思っています。Pythonスクリプトを使ってSASプログラムのマクロ変数を設定する方法
お勧めします。
-sysparm
コマンドラインオプションを使用して文字列をSASに渡すことができます。この文字列は、自動変数&sysparm
としてSASで利用できます。
など。あなたはSASの内側に文字列を解析する必要がある場合(コマンドライン:)
sas myprogram.sas -sysparm myparam
から、%scan()
マクロ機能は、おそらく有用であろう。
だから、私はこの問題を解決する方法を理解しました:
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プログラムに取り込まれます。ありがとうございます。
なぜSASでExcelファイルをインポートしないのですか? – superfluous
私はすべてのsasプログラムの実行を、共通のExcelファイルでパラメータを設定して自動化しようとしています。Excelファイルを読んでいて、プログラム名に基づいてSASの特定のコードファイルのパラメータを設定します。私がSASにインポートしなければならないのであれば、私のために何も自動化しません。 @ superfluous – codemob
@codemobまあ、それをSASに読み込んで、SASジョブの内部にパラメータを設定することはできますか? – Joe