2021年6月10日木曜日

特定文字のunicodeが知りたい話

 βとかαなどギリシア文字に半角用フォントを充てるときや,≧や③といった文字を出力するときにunicodeを直接指定するときがあると思います.βなら^{unicode 2265}だったりする4文字のやつですね.毎度unicodeを検索しなくてもunicodec関数を使用すればsasである程度は表示できるので,その関数の紹介です.

例えば以下の実行結果ですが,上で取り上げたβと≧のunicodeをlogに出しています.

131    data _null_ ;
132      str1 = unicodec("β" ) ;
133      str2 = unicodec("≧" ) ;
134      putlog "β:" str1 "≧:" str2 ;
135    run ;

NOTE: DATAステートメント処理(合計処理時間):
      処理時間           0.00 秒
      CPU時間            0.00 秒

β:\u03B2 ≧:\u2267

他にも③だと以下の通りです.

136    data _null_ ;
137      str1 = unicodec("③" ) ;
138      putlog "③:" str1 ;
139    run ;

NOTE: DATAステートメント処理(合計処理時間):
      処理時間           0.00 秒
      CPU時間            0.00 秒

③:\u2462

分からなくて毎回調べるのが大変だったのでユニコードを出力できるこのunicodec関数は結構助かっています.sasのhelpを見ると「This function reads characters that are in the current SAS session encoding and converts them to Unicode encoding.」とあるので,現在のsasのセッションエンコーディングの文字を読み取って,unicodeに変換する関数のようです.なのでsjisの環境だと上付きの数字などのunicodeを出せないのが残念でならないです…上付きの数字は結構使うので惜しいところです.unicode環境で上付き文字を指定するとunicodeは出せると思います.試してないですが.

ちなみにunocodec関数には第二引数があり出力時のエスケープ文字を変えれるのですが,今回のようなユニコードを調べるだけならデフォルトのままで不都合がないのでそのままにしています.例えば第二引数に"paren"と指定すると<03B2>のようにカッコくくりになります

2021年6月9日水曜日

sas発表会に参加した

 前回延期したのが2020年1月末,実にそこから一年強空いたがsasの発表会に参加した.昨今の情勢もありオンライン開催となったが,会場を提供してくださった方に多大な感謝を.

今回の私の発表はswimmerplotについて…こいついつもグラフ描いてんな,なんてことは言ってはいけない.最近は闇の勢力によってexcelでKM曲線出せだの,excelでforestplot出せだの摩訶不思議なworldに足を踏み入れている.地獄か?最近はやりのspotfire君は早く私を助けてくれ.excelでKM曲線書くときのヒゲをどうするかと言う偉大な問題は人力で解決したが,設定で出せるやろVS設定考えてる暇あったら人力でやってしまえ,どうせこんな話二度とこない.の葛藤の末のことだった.何とか良い感じに処理できるように工夫したいところ.

今回の発表会も奇々怪々,いや失敬,多様な内容だった.複数のグラフを1枚のwordに並べるときによくわからない事象が起きるのはどこも共通のようだった.あと野球のシミュレーションの話がなかなか面白そう.ああいうの見るとちょっとやりたくなりますなります.

次回開催は未定.ユーザー会が秋なので冬にするか,いっそ夏にするか,夏だと発表の準備が間に合わんから冬だったらうれしいなって思う.

2021年のsasユーザー会のアブストの締め切りが7月にあるが,正直気づいてなかったし今年の私の予定がやべーので多分間に合わない.あきらめの境地である.オンライン開催なら有給で潜り込んでもバレへんかな…などと考えているが,やっぱり今年も申請して参加するのだろう.予定が合えばだが.

最後に共有フォルダの設定がポンコツなのは修正しますので少しお待ちください…すみません…