2019年9月15日日曜日

sasユーザー会2019に行ってきました


SASユーザー会2019に行ってきた
去年の台風が思い起こされるも今年は無事晴れ,雨の無い移動はなんと楽なんだろうか.会場が例年と違って赤坂見附とわれても会場の最寄り駅までは何とかなるので大した違いがない.問題は駅から会場までの間である.東京駅から地下鉄に乗っ1本,非常にアクセスがよい赤坂見附.会場は大学のキャンパスのようだがこれがまた田舎者には気後れするほどのオサレ会場.惜しむらくは建物内にご飯食べるところがあるにも関わらず「館内イベントのため休業」せっかくのカフェテリアが泣いてるぞ.私の初日のお昼は天下一品になりました.
今年のユーザー会の目玉は何といってもods excelとマクロクォーティングか.マクロクォーティングなんて正直関数を適当に当てはめて意図通りに行ってればokみたいなとこあるので,あれだけきれいにまとまった資料を見ると浅はかな自分が悲しくなる.あんないい感じの資料を公開してくれるのはありがたい話である.
ods excelも気になる.excel2016でddeが怪しいという噂を幾つか聞くので,新しいexcel操作方法は大変気になるところ.実際に使う使わないは別にしてもしもに備えるためにも知るくらいはしといたほうが良いんじゃなかろうか.word2016でデフォルトフォントが変わったおかげでrtf出力でゴタゴタしたと思ったら今度はexcel.officeの更新は影響範囲がとても大きい.
1日目がスムーズに終わったのでホテルに帰って発表練習.日頃から30分も話すことなんてないので口が回らないがなんとか話し終えれるくらいには準備して2日目の発表に備えて早めにお休みする.当日は30分枠のうち25分ほど使って話してしまう.ちょっとギリギリまで話しすぎたせいで質問が中途半端になった.次の機会には少し控えめに構成してみようか.なにせ30分発表なぞこれまでの中でやったことがあまりないので機微がわからない.こればかりは慣れかなあ...
今年のユーザー会も無事終わって何より.来年のめどが何も立っていないが果たして来年はどうなるか,ネタがまにあうのだろうか.

2019年9月1日日曜日

streamプロシジャでマクロ変数を出力する

最近proc streamに凝っていますが、なかなか思うように扱えないですね。悲しい。
引っかかって解決したところを時々こうやって取り上げていければと思います。

今回はstreamプロシジャでマクロ変数を出力する話です。普通に書けばそのマクロ変数は展開されてしまいますが、クォートすれば展開させずにマクロ変数そのものを出力できます。


たとえば以下のように実行すると、マクロ変数hogeを展開して_outに出力します。当然マクロ変数hogeを作っていないと展開できない旨のerrorが返ります。

filename _out hogehoge\piyo.sas ;
proc stream outfile=_out resetdelim="rd" noabsscmt ;
begin
&hoge
;;;;


以下のように&をクオートするとマクロ変数hogeは展開されず、&hogeという文字列が_outに出力できます。あくまで文字列としてマクロ変数名を出すだけなのでマクロ変数hogeを事前に作っていなくてもerrorは返りません。

filename _out hogehoge\piyo.sas ;
proc stream outfile=_out resetdelim="rd" noabsscmt ;
begin
%str(&)hoge
;;;;

よく考えるとクオートすればいい話なのですがだいぶと難儀しました。まだまだstreamプロシジャと良い関係になれません。