昔、パススルー構文でデータベースに接続するときにユーザ名とパスワードを書くのが管理上困った記憶があります。ふと調べてたらSAS9.3からCONNECT USINGというキーワードが追加され、ユーザ名とパスワードを埋め込まなくても済むことが分かりました。
参照した記事は コチラ です。
調べたのはSAS9.1.3を使っていた頃でかなり昔のことです。お客様に「回避策無しで、PW埋め込んでください」とお願いしなくて済むのが良いです。
SASプログラムとログを解析するユーティリティを開発するための備忘録です。This is a memo to develop utility that analyzes the SAS log.
2017年6月27日火曜日
2017年6月8日木曜日
Data Integration Studio + SVN, SASパッケージとしてアーカイブ
昨日はSVNプラグインの設定、今日はSVNのリポジトリにジョブを登録します。
パッケージ(SPK)の形式でエクスポートするダイアログでるので、そのまま進みます。
そのまま進んでエクスポートの処理が正常終了するのを確認します。
パッケージの一覧の画面が表示されます。表示のフィルターには、いまのジョブの名前が設定されています。
フィルターを外すと、保存されている全てのパッケージが表示されます。なんか、チェックイン/チェックアウトの操作とずれている気がします。バージョン番号は何故か2ずつカウントアップされています。下の図をみるとわかりますが、バージョン番号はパッケージ名ごとに連番で振られていません。全てのパッケージで連番になっています。私がRCSから時間が止まっているせいなのか、なんだか釈然としません。
Assemblaの方から確認すれば、Recent Eventの一覧にアーカイブした操作が記録されていることがわかります。次はアーカイブから取り出す操作です。
1. DIでジョブを作成
ジョブを作成して、実行した後で保存します。
2. SASパッケージとしてアーカイブ
そのまま進んでエクスポートの処理が正常終了するのを確認します。
3. SVNに保存したSASパッケージを確認
ファイルメニューからアーカイブ済みSASパッケージを選択します。パッケージの一覧の画面が表示されます。表示のフィルターには、いまのジョブの名前が設定されています。
フィルターを外すと、保存されている全てのパッケージが表示されます。なんか、チェックイン/チェックアウトの操作とずれている気がします。バージョン番号は何故か2ずつカウントアップされています。下の図をみるとわかりますが、バージョン番号はパッケージ名ごとに連番で振られていません。全てのパッケージで連番になっています。私がRCSから時間が止まっているせいなのか、なんだか釈然としません。
Assemblaの方から確認すれば、Recent Eventの一覧にアーカイブした操作が記録されていることがわかります。次はアーカイブから取り出す操作です。
2017年6月7日水曜日
Data Integration Studio + SVNの設定
DIでSubversionのリポジトリを使う機能がありますが、親切丁寧な日本語の解説がありません。ということで、勉強しながら行った設定手順をメモします。
1. TurtoiseSVNインストール
最初にTurtoiseSVNをインストールしてください。私がインストールしたのは、TotoiseSVN 1.9.5 - 64bit、MSIのインストーラがあるので簡単です。
2. SVNのリポジトリをどこかに作る
私はお試しで Assemblaにユーザ登録しました。ユーザ登録したら、Installed Toolsの下にあるSVNをクリック、First Spaceの画面にある、Checkout URL:をコピーして控えます。
3. DIのSVNプラグインの設定
次に、DIのオプションでSVNプラグインのタブの設定例を示します。プログラムパスには、TurtoiseSVNのフォルダ配下にあるSVN.EXEを設定します。ローカルルートパスは、SVNのローカルのリポジトリのフォルダ、サーバーにはCheckout URLのホスト名の部分を、リポジトリにはChekuout URLのホスト名より後ろのパス、ユーザ名はAssemblaで登録したユーザ名設定します。Checkout URLの意味を知っていれば、ポート番号が443、種類がHTTPSを指定すればよいと分かります。
1. TurtoiseSVNインストール
最初にTurtoiseSVNをインストールしてください。私がインストールしたのは、TotoiseSVN 1.9.5 - 64bit、MSIのインストーラがあるので簡単です。
2. SVNのリポジトリをどこかに作る
私はお試しで Assemblaにユーザ登録しました。ユーザ登録したら、Installed Toolsの下にあるSVNをクリック、First Spaceの画面にある、Checkout URL:をコピーして控えます。
次に、DIのオプションでSVNプラグインのタブの設定例を示します。プログラムパスには、TurtoiseSVNのフォルダ配下にあるSVN.EXEを設定します。ローカルルートパスは、SVNのローカルのリポジトリのフォルダ、サーバーにはCheckout URLのホスト名の部分を、リポジトリにはChekuout URLのホスト名より後ろのパス、ユーザ名はAssemblaで登録したユーザ名設定します。Checkout URLの意味を知っていれば、ポート番号が443、種類がHTTPSを指定すればよいと分かります。
設定後に、接続テストボタンを押すと疎通確認できます。
今日はここまで
2017年5月8日月曜日
SAS Log Utility 1.9.1.3
不具合修正中です。潜在的なバグのパターンを定義する機能に不具合あるので直します。あと、SAS9.4TS1M4に合わせて、キーワードを修正しないといけない。
2017年3月28日火曜日
食洗機RKW-404のサークルラックを交換
検索の駄ネタです。2016年12月に住み替えました。新居に食洗機がついてるのですが、型落ちのモデルで、妻からは使いにくいと酷評されていました。検索で、解決するまでの過程をメモしておきます。リンナイの食器洗い洗浄機 RKW-404で、上かごが使いにくいと思っている方にはお勧めの情報です。
ユーザの不満は「上かごを取り外さないと、下かごに食器をセットしにくい」というものです。まず調べたのは、型番やメーカー名を足がかりとして事例を探します。製品の型番で探すと、取説に書かれているものと異なる食洗機がヒットします。クリナップの取説に書かれている型番は、ZWPP45R14 です。しかし、上かごの名前「サークルラック」で探すと、リンナイのビルトイン食器洗い乾燥機 RKW-404A 2015年2月発売のモデルがヒットします。検索のの情報が多い、RKW-404に検索キーワードを乗り換えて、情報を手繰ります。
ここではたと考え直して、リンナイで後継モデル(RSW-404LP)を探りました。うまくいけば、上かごの構造だけ、改善されている可能性があります。金型は高価なものですから、マイナーチェンジで作り直さないだろうと考えました。
調べるとここ1,2年で上かごが改良されています。以前は、取り外すような作りでしたが、新しいモデルでは庫内で折りたためる仕組みになっています。ショールームで折りたためるサークルラックを実測して注文、無事に取り付けできました。上かご(サークルラック)の型番は、098-4036000です。いまの住まいは集合住宅で、となりも同じモデルの食洗器を使っているはずなので、総会で話のネタにします。
教訓、現状に不満あるなら後継機をしらべましょう。
ユーザの不満は「上かごを取り外さないと、下かごに食器をセットしにくい」というものです。まず調べたのは、型番やメーカー名を足がかりとして事例を探します。製品の型番で探すと、取説に書かれているものと異なる食洗機がヒットします。クリナップの取説に書かれている型番は、ZWPP45R14 です。しかし、上かごの名前「サークルラック」で探すと、リンナイのビルトイン食器洗い乾燥機 RKW-404A 2015年2月発売のモデルがヒットします。検索のの情報が多い、RKW-404に検索キーワードを乗り換えて、情報を手繰ります。
- 同じ不満を抱えていてBlogに書き込んだ人
- なんらかの解決策を見出した人
ここではたと考え直して、リンナイで後継モデル(RSW-404LP)を探りました。うまくいけば、上かごの構造だけ、改善されている可能性があります。金型は高価なものですから、マイナーチェンジで作り直さないだろうと考えました。
調べるとここ1,2年で上かごが改良されています。以前は、取り外すような作りでしたが、新しいモデルでは庫内で折りたためる仕組みになっています。ショールームで折りたためるサークルラックを実測して注文、無事に取り付けできました。上かご(サークルラック)の型番は、098-4036000です。いまの住まいは集合住宅で、となりも同じモデルの食洗器を使っているはずなので、総会で話のネタにします。
![]() |
| 左がRWA-404、右が折りたためるRSW-404LPのサークルラック |
教訓、現状に不満あるなら後継機をしらべましょう。
2017年3月7日火曜日
SAS Log Utility 1.9.1.2
Vectorに新しいバージョンの公開を依頼しました。今回の修正内容は以下のとおりです。
使おうと思ったら有効期限切れていて、弱りました。エクスポートの制限解除するのが面倒なのでロジックをコメントアウトしました。これを使って、あるSASプログラムの構造を解き明かそうと下準備進めています。解析するプログラムはAPM、SASの監査のデータを作る仕組みです。
- EXPORTの機能制限を解除
- 有効期限を2019年12月末に設定
使おうと思ったら有効期限切れていて、弱りました。エクスポートの制限解除するのが面倒なのでロジックをコメントアウトしました。これを使って、あるSASプログラムの構造を解き明かそうと下準備進めています。解析するプログラムはAPM、SASの監査のデータを作る仕組みです。
2017年1月10日火曜日
PROC HTTPでSAS Environment Managerに接続して情報を取得
前回はYahooのサイトから動くサンプルでしたが、今回は特定の環境で動くPROC HTTPのサンプルです。これはSAS Environment Managerに接続して、ユーザ一覧のXMLファイルを出力するサンプルコードです。実行した後に、C:\temp\response.xmlをブラウザで開いて取得されている中味を見てください。
response.xmlをIEで開くとこんな具合に見えます。
AuthorizationのBasic認証のコードは、Environment Managerのログに出力されているものをコピペしました。 同じようにUser-Agent, Connection, Hostの値もログから拾っています。 urlにある、"user/list.hqu" の部分は、vFabric Hyperic Web Services APIらしい。 試しに"user/delete.hqu?name=foo"とやったらユーザを削除できた。 今後、Environment Managerの機能が拡充される気配あるので、ちょっと下準備で触ってみました。 リソースの検索で、APM ETLのパラメータを取得できるようですが、どうやって仕事に使うかはのんびり考えます。
filename response 'c:\temp\response.xml';
proc http
url='http://hogehoge.com:7080/hqu/hqapi1/user/list.hqu'
method="get"
out=response;
headers "Authorization"="Basic c2FzZXZzQHNhc3B3OntzYXMwMDJ9OTdFQ0U0NEIxMDVGNEM5NzNDN0U5MDc1"
"User-Agent"="Apache-HttpClient/4.1.1 (java 1.5)"
"Connection"=" Keep-Alive"
"Host"="hogehoge.com:7080"
;
run;
response.xmlをIEで開くとこんな具合に見えます。
AuthorizationのBasic認証のコードは、Environment Managerのログに出力されているものをコピペしました。 同じようにUser-Agent, Connection, Hostの値もログから拾っています。 urlにある、"user/list.hqu" の部分は、vFabric Hyperic Web Services APIらしい。 試しに"user/delete.hqu?name=foo"とやったらユーザを削除できた。 今後、Environment Managerの機能が拡充される気配あるので、ちょっと下準備で触ってみました。 リソースの検索で、APM ETLのパラメータを取得できるようですが、どうやって仕事に使うかはのんびり考えます。
登録:
投稿
(
Atom
)












