2021年11月26日金曜日

JSONのファイルをPROC HTTPで読み込む

SASでJSONのファイルを読み込むのは面倒かと思っていましたが、JSONエンジンとAUTOMAPオプションを使うと簡単にデータセットとして中身を見ることが出来ます。とりあえず読み込んでから中味を確認して、あとは用途に合わせて表形式に加工します。この例はViyaのジョブフローのスケジューリングの情報を取ってきます。
  1. /* ジョブスケジューリングのJSONファイルとマップのファイルを定義 */  
  2. filename folders temp;  
  3. filename jsonmap temp;  
  4.   
  5. /* JSONファイルを取得 */  
  6. proc http   
  7.         url="https://henteko.azure.com/jobFlowScheduling/flows"   
  8.         out=flows oauth_bearer=sas_services;  
  9.     headers 'Accept'='application/vnd.sas.collection+json';  
  10. run;  
  11.   
  12. /* JSONファイルの先頭をログに出力して確認するだけ */  
  13. data _null_;  
  14.     infile flows;  
  15.     length buf $4096;  
  16.     input buf 1-4096;  
  17.     put _all_;  
  18. run;  
  19.   
  20. /* JSONエンジンで読み込ませて、マップは生成 */  
  21. libname flows json fileref=folders map=jsonmap automap=replace;  
  22.   
  23. /* 後はライブラリ参照名から要素と中身を見る */  
  24. proc print data=flows.items;  
  25. run;  
自分でマップファイルを作らなくても、JSONエンジン任せで構造を読み解いて参照できるのはすごく楽です。下はJSONファイルを読み込んだ例で、もちろん中身の定義で見え方は異なります。

2021年11月14日日曜日

HHKB キーマップを vi に近づけて設定

去年ぐらいから英語版のキーボードを使っている。
  • FILCO Majestouchを10年超使う
  • Mistel BAROCCO MD770 で英語版で左右分離を8か月ぐらい
  • HHKB Professional 日本語 思った以上にキーが多くて使いこなせず 1週間で諦め
  • HHKB Professional Hybridが現在
vi歴は20年以上なので、キーマップを変更してHJKLにカーソルキーを映した。通常は左側にあるWindowsキーを右側にCommandを左側に移している。スラッシュとバックスラッシュの位置はまだ調整の余地あり。本当はX+Commandで1文字削除したかったが、HHKBの仕様で割り当てできない。代わりにD+Commandにしたがこれが思ったよりも使いやすい。左手で2つのキーを同時に押しやすいから。