2022年3月14日月曜日

マクロ変数にURLのパラメータを設定する例

 SASでREST APIを使うときにアンパサンドのエスケープでしばし悩んだのメモしておきます。URLの後ろにクエリパラメータを書くときに必要になります。&はマクロ変数を展開するときの目印であるので、これが展開されないように工夫します。で、いろいろ試したのですが1回で代入ではなく、2回の代入と関数の組み合わせで動きました。1回の代入でとも思いますが、通常URLはベースの部分とパラメータの部分に分かれるので、変数を分けた方が可読性が良いです。

%nrstrで変数Yに割り当ててから、%strでもう一度変数Zに代入しています。


追記: クエリのパラメータは PROC HTTPのオプションの機能を使う方がスマートだと判りました。以下の記事を参照してください。
http://sasutility.blogspot.com/2022/10/proc-http.html