$ export ACCESS_TOKEN=$(cat ~/.sas/credentials.json | jq -r '.Default."access-token"')
$ export URL=https://viya4.example.com/jobExecution/jobs
$ curl -k "${URL}?limit=1000&filter=and(ge(creationTimeStamp,2022-04-07),ne(state,"completed"))&orderby=endTimeStamp" -H "Authorization: Bearer $ACCESS_TOKEN" | jq -r '.items[] | [.state, .id, .jobRequest.name, .endTimeStamp, .creationTimeStamp, .modifiedTimeStamp, .elapsedTime, .createdBy, .modifiedBy, .error.message, .error.errorCode ]'
SASプログラムとログを解析するユーティリティを開発するための備忘録です。This is a memo to develop utility that analyzes the SAS log.
2022年4月8日金曜日
REST APIでViya4でジョブのステータス一覧を取得する
2022年3月14日月曜日
マクロ変数にURLのパラメータを設定する例
SASでREST APIを使うときにアンパサンドのエスケープでしばし悩んだのメモしておきます。URLの後ろにクエリパラメータを書くときに必要になります。&はマクロ変数を展開するときの目印であるので、これが展開されないように工夫します。で、いろいろ試したのですが1回で代入ではなく、2回の代入と関数の組み合わせで動きました。1回の代入でとも思いますが、通常URLはベースの部分とパラメータの部分に分かれるので、変数を分けた方が可読性が良いです。
追記: クエリのパラメータは PROC HTTPのオプションの機能を使う方がスマートだと判りました。以下の記事を参照してください。
http://sasutility.blogspot.com/2022/10/proc-http.html
2021年12月10日金曜日
Windows SAS9.4のサービス起動/停止のスクリプト using PowerShell
UNIXだとsas.serversありますがWindowsにはありません。なかなか使い勝手の良いスクリプトが無かったのですが、PowerShellで書かれているサービス起動/停止のスクリプトがありました。このスクリプト、特に設定は無しでGet-ServiceでSASのサービスを探して、起動順序に従って処理してくれます。
Start/Stop all SAS Services in Windows using PowreShell
2021年11月26日金曜日
JSONのファイルをPROC HTTPで読み込む
/* ジョブスケジューリングのJSONファイルとマップのファイルを定義 */ filename folders temp; filename jsonmap temp; /* JSONファイルを取得 */ proc http url="https://henteko.azure.com/jobFlowScheduling/flows" out=flows oauth_bearer=sas_services; headers 'Accept'='application/vnd.sas.collection+json'; run; /* JSONファイルの先頭をログに出力して確認するだけ */ data _null_; infile flows; length buf $4096; input buf 1-4096; put _all_; run; /* JSONエンジンで読み込ませて、マップは生成 */ libname flows json fileref=folders map=jsonmap automap=replace; /* 後はライブラリ参照名から要素と中身を見る */ proc print data=flows.items; run;
2021年11月14日日曜日
HHKB キーマップを vi に近づけて設定
- FILCO Majestouchを10年超使う
- Mistel BAROCCO MD770 で英語版で左右分離を8か月ぐらい
- HHKB Professional 日本語 思った以上にキーが多くて使いこなせず 1週間で諦め
- HHKB Professional Hybridが現在
2021年10月28日木曜日
SAS9.4 どこでシステムオプションが設定をされているか調べる
私が良く使うけど、意外と認識されていないのが PROC OPTIONSのオプションVALUEです。このVALUEオプションを付けると、SASシステムオプションの設定がどこで行われたか判ります。引数、特定のコンフィグファイルが一目瞭然です。
proc option value=encoding value;
run;
2021年9月3日金曜日
SAS9.4 インストール十戒
SAS9.4のインストール・構成は、手順書が合っても失敗することが多く、改善が必要と感じる。マニュアルには説明あるが、勘所として役立つオプションは埋もれている。ということで、私が独断で選んだベストプラクティスを挙げてみる。
- インストール、構成とHOTFIX適用には必ず応答ファイルを使うこと
- コンソールモードを使い実行のログ、応答ファイルをエビデンスとして保存
- -console と -partialprompt の利用を推奨
- Depotはお客様のDepotとライセンスを使い、サイト番号を合わせる
- 必要なパッケージやカーネルパラメータの確認はスクリプト化する
- 細かすぎる手順はオペミスを誘発するのでスクリプト化を検討
- HOTFIXをどのタイミング、どのツールで取得するか決める
- Planファイル作成ツールでどのようにプランを作ったか記録を残す
- パラメータの根拠となる資料のリンクを事前準備チェックシートに残す
- Planファイル作成ツールで作ったファイルに誤りがある場合がある
- 包括的なシステムの検証を行うならばSAS Environment Managerを使う


