0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

powershellからSAS EGを操作する

Posted at

SAS Enterprise Guideをいちいち開くのが面倒

SASで記述された定例の処理を実行するのが面倒だなと思い、調べていたところ次の内容を見つけました。

ここで記述されているのは、Visual Basicの様子なので、PowerShellでComObjectを利用して、実行できる様にしてみました。

コード

**[ほにゃらら]**の部分を自分の環境やファイルに合わせて使用します。


# https://blogs.sas.com/content/sasdummy/2011/05/03/using-sas-enterprise-guide-to-run-programs-in-batch/

$sasApp = New-Object -ComObject "SASEGObjectModel.Application.[VERSION]"

# プロファイル: [PROFILE NAME]を設定する。Local Serverの場合は"Null Provider"
$sasApp.SetActiveProfile("[PROFILE NAME]")

# 出力の設定
$sasApp.GenListing = $True
$sasApp.GenSasReport = $False
$sasApp.GenHTML = $False

# 新規プロジェクト
$project = $sasApp.New()

# 新規プロジェクトにコードを追加する
$sasProgram = $project.CodeCollection.Add()

# SAS Server名: [SAS SERVER]を設定する
$sasProgram.Server = "[SAS SERVER]"

# [PROGRAM FILE PATH]に用意したSASのプログラムをGet-Contentで読み込み
# $sasProgramのTextに渡す
$text = Get-Content "[PROGRAM FILE PATH]"
$sasProgram.Text = $text

# Codeを実行する
$sasProgram.Run()

# [LOG FILE PATH]にSASのログを出力する
$logFileName = "[LOG FILE PATH]"
$sasProgram.Log.SaveAs($logFileName)

# SAS EGを終了する。
$sasApp.Quit()
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?