SAS Viya
- Viya4でViya内からViyaのAPIを呼ぶ方法
- [Intelligent Decisioning] MASへパブリッシュしたAPIを実行する
- [Intelligent Decisioning] ルックアップテーブルの内容をまるごと取得する
- SAS Studioでルールセットを実行する
- ログに変数を出力する(DS2言語)
- 変数を定義する(DS2言語)
- methodステートメントで定義した関数の返り値を設定する(DS2言語)
- 文字列YYYYMMDDをSAS日付値に変換する
- データグリッド変数を使う
Viya4でViya内からViyaのAPIを呼ぶ方法
自身のサーバ名やlocalhostを指定してもうまくいかないが、Kubernetesのコンテナ名を指定するとうまく呼ぶことができる。
| マイクロサービス名 | サーバアドレスの代わりに指定する値 | 例 |
|---|---|---|
| microanalyticScore | sas-microanalytic-score |
https://サーバアドレス/microanalyticScore/modules/steps/execute → https://sas-microanalytic-score/microanalyticScore/modules/steps/execute |
基本的には、頭にsas-をつけた上で、マイクロサービス名をハイフンつなぎに変えるとうまくいく。
[Intelligent Decisioning] MASへパブリッシュしたAPIを実行する
https://{サーバアドレス}/microanalyticScore/modules/{パブリッシュ名}/steps/executeに対し、POSTする
https://developer.sas.com/rest-apis/microanalyticScore/createStepExecution
[Intelligent Decisioning] ルックアップテーブルの内容をまるごと取得する
https://サーバアドレス/referenceData/domains/{ドメインID}/contents/{コンテンツID}/entriesに対し、GETすると、"items"にリスト形式で格納されているものが取得できる。
/referenceData/{ドメインID}/contents/{コンテンツID}は、ルックアップテーブルの「プロパティ」タブから、オブジェクトURIとして確認できる。
https://developer.sas.com/rest-apis/referenceData/getReferenceDataDomainEntries
SAS Studioでルールセットを実行する
%DCM_EXECUTE_RULESET(
URI = ルールセットのオブジェクトURI,
INPUTTABLE = 入力するCASテーブル,
OUTPUTTABLE = 実行結果を格納するCASテーブル
)
https://go.documentation.sas.com/doc/jp/edmcdc/v_056/edmmacro/n1qm5ur1pz8bn6n1kq0frf3n111d.htm
ログに変数を出力する(DS2言語)
put variable_name=;
https://go.documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n1b5ndvbk83gctn1b0rjx7bokrip.htm
変数を定義する(DS2言語)
declear varchar(100) variable_name;
dcl varchar(100) variable_name2;
https://go.documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n1c15oj6g6nak3n12tx7t7j3kj8e.htm
Intelligent DecisioningのDS2コードファイルなどで記述する場合、具体的な処理の記述よりも前にdeclareステートメントを記述する必要がある。
methodステートメントで定義した関数の返り値を設定する(DS2言語)
return 'return_value';
https://go.documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n0i3wjydjq18nsn10zyap1n6cp4i.htm
文字列YYYYMMDDをSAS日付値に変換する
date_sasvalue = inputn('20250831', 'yymmdd8.');
https://go.documentation.sas.com/doc/ja/pgmsascdc/v_061/ds2ref/n0l4p5obkjy2ygn1o7h5a6p602zm.htm
データグリッド変数を使う
- 変数タブでデータグリッド変数が定義されていれば、コード上で
dg_name = _new_ datagrid()などでコンストラクタを実行する必要がない。