2011年12月7日水曜日

La toriumi - イタリアンキッチン&ワインバー

2011年12月7日に閉店した私にとって思い出深いイタリアンのお店です。美味しさに加え、住まいから近いこともあって、月に2、3回は通っていました。鳥海シェフの次のお店を知りたい方は、メールアドレスをコメント欄に書いてください。コメントは非表示で削除します。私からメールで連絡いたします。

追記
2013年2月25日時点でお勤めのお店を把握しています。というか、数ヶ月に一度の割合で、シェフを囲んだ飲み会があります。ゴルゴンゾーラのムースが食べられる日を待っているのです。

2011年8月8日月曜日

次のツールを検討中, テストのエビデンスを残す

仕事をしていて、こんなツールあったらいいなというアイディアが浮かびました。SASプログラムを実行するとログが出力されます。このときに、ERROR: WARNING:をチェックして、他に怪しいメッセージがないか確認します。このエビデンスを残すツールが欲しい。
  • チェックしたログファイルをExcelシートに出力
  • チェックして引っ掛かった項目と件数がExcelシートを出力
  • 誰がいつ、どのログファイルをチェックしたかわかる
  • 設定ファイルを変えれば、チェックするキーワードを変更できる
ということで、コードネームEvianとして開発担当にお願いしときます。

2011年6月26日日曜日

PowerShellでSASからユーザ登録

仕事のメモです。とある仕事で、リモートコンソールが使えなくなるということで、SASのリモート実行でユーザ登録、削除を行えるようにしようとしています。まずは、PS1のスクリプトが実行できるようにPowerShellから設定を変更します。
 Set-ExecutionPolicy RemoteSigned
次に、RSUBMITするSASコード
%macro adduser(name, passwd, fullname, desc);


  %let script=%bquote("C:\Documents and Settings\suzuki\desktop\foo1.ps1");
  options noxwait xsync;
  x "powershell.exe -file &script &name %quote(&passwd) %quote(&fullname) %quote(&desc)";
  %if &sysrc=0 %then %do;
  %put INFO: adduser success &name;
  %end;
  %else %do;
  %put INFO: adduser error &name;
  %end;
%mend;


options nomprint nosource;
%adduser(a, Sas4passworddayo!, %str(my name), %str(test desc));
%adduser(b, Sas4passworddayo!, %str(my name), %str(test desc));
%adduser(c, Sas4passworddayo!, %str(my name), %str(test desc));
最後に、ユーザ追加のPS1を示します。
#
# 変数宣言
#
$USER_NAME = $args[0]
$USER_PASSWORD = $args[1]
$USER_FULLNAME = $args[2]
$USER_DESCRIPTION = $args[3]


#
# ローカルユーザー作成
#
$computer = [ADSI]"WinNT://."
$user = $computer.Create("user", $USER_NAME)
$user.SetPassword($USER_PASSWORD)
$user.SetInfo()
$user.FullName = $USER_FULLNAME
$user.Description = $USER_DESCRIPTION
$user.UserFlags = 0x10000 #パスワードを無期限に設定
try {
  $user.SetInfo()
}
catch {
  exit 99
}
exit 0

2011年6月22日水曜日

SAS Option Report, 改良のアイディアメモ

標記のツールを自分の仕事で使っていますが、まずまず使えます。改良のアイディアをメモしておきます。
  • Optionsの値をファイルに保存せずに、そのまま画面に貼り付けたい
  • 2つのOptionsの値を比較して差異を特定できるようにしたい

2011年6月19日日曜日

SAS Log Utility, 1.4.1.1 リリース

Vectorへの公開をストップしていますが、私家版として更新しています。今日は、一括で分析、Excelファイルにエクスポートする機能を追加しました。ログの量が少ないときには、それほど負担に感じませんが、最近は大きなログを掛けることが多いので、一括実行のボタンを追加しました。
  • Elapsed, DataSet, CRUDなどの分析を一括実行するボタンを追加
  • 複数の分析結果を1つのExcelファイルに一括してエクスポートするボタンを追加
  • Windows版でFULLSTIMERのログをパースできるように修整
  • 圧縮のメッセージを間違ってカウントするバグを修整

2011年4月30日土曜日

SRX, 有効期限の設定

開発の覚書です。今日の作業をメモしておきます。バージョンアップには検証が付き物。検証といえばエビデンス。エビデンスといえば面倒。その面倒なエビデンス作りを楽にするために、機能を追加しました。
  • スプラッシュにバージョン番号を表示する処理を修整
  • スプラッシュに有効期限を表示するように修整
  • 有効期限の制限を追加
  • ホスト名による制限を追加
  • 終了時にテンポラリを削除しないオプションを追加
  • テンポラリフォルダをエクスプローラで開く機能を追加
それと、以下の項目は保留とします。ここまで作れば、実用十分と判断したからです。バックアップファイル作る機能は欲しいのですが、プロジェクトファイル内部のコードタスクと、貼り付けたSASコードの区別が付かないため、今のところ実装しません。
  • プロジェクトファイルのバックアップを作成するか検討
  • プログレスバーを表示できるか検討、スレッド化するか?
ぼちぼち、仕事で使える次のツールを検討します。

2011年4月25日月曜日

SRX, エビデンス保存

開発の覚書です。今日の作業をメモしておきます。バージョンアップには検証が付き物。検証といえばエビデンス。エビデンスといえば面倒。その面倒なエビデンス作りを楽にするために、機能を追加しました。
  • 全てのタブを1つのブックに保存する機能を追加
それと、明日以降の作業をメモしておきます。
  • プロジェクトファイルのバックアップを作成するか検討
  • プログレスバーを表示できるか検討、スレッド化するか?
  • 仕事用に有効期限とホスト名しばりを追加したい
  • 終了時にテンポラリを削除するか確認する機能を検討

2011年4月22日金曜日

SASソフトウェアインストールに必要な権限がありません

SAS9.2(TS2M3)のインストール作業で、タイトルのエラーにぶつかりました。英語のメッセージは、「The user account (domain\user) does not have sufficient rights to install SAS software」です。なんとか解決しましたがが、他に苦しんでいる人もいるかもしれないのでメモしておきます。現象は、既にインストールされているSAS9.2をアンインストールして、再インストールするときに発生しました。
  • 別な誰かがSAS9.2インストール
  • 容量不足でインストール先を変更したいのでアンインストール
  • インストールフォルダを削除(これ大事)
  • 管理者権限のユーザでインストール
  • Deplyment Wizardの途中で何故か必要な権限がないとエラー
  • sdw.log をテクサポに送って調査…
結論としては、Deplyment Wizardを実行するときに -skipadmincheck というオプションをつけて実行します。とある方から教えてもらった方法、経験則なので公式な方法ではないことを書き添えておきます。
  • setup.exe -skipadmincheck
今回のトラブルで不思議だったのは、アンインストールして前のインストールフォルダを削除しても、最初のインストールフォルダの情報がどこかに残っていることです。これは、インストール途中のワークファイルをチェックするとわかります。前のフォルダを参照してエラーとなっているのか??レジストリに中を検索してもそれらしきものは見つからず、どこに隠されているのか謎です。

2011年4月20日水曜日

SRX, ファイル一覧をStringGrideに変更

開発の覚書です。今日の作業をメモしておきます。検索の対象も、検索のパターンも、置換結果も1つのExcelファイルにまとめます。エビデンスとして提出するときに1つのブックだと、まとまりが良いので。
  • プロジェクトファイル一覧をTAdvStringGridに変更し、ExcelIOでインポートとエクスポートを作り直しました。
それと、明日以降の作業をメモしておきます。
  • ファイル一覧、検索ベンチ、置換結果をまとめてExcelに出力
  • プロジェクトファイルのバックアップを作成するか検討
  • プログレスバーを表示できるか検討、スレッド化するか?
  • 仕事用に有効期限とホスト名しばりを追加したい

2011年4月17日日曜日

SRXの概要

SRXの概要を説明します。SAS Enterprise Guideのプロジェクトファイルに含まれるコードタスクを検索、置換するためのツールです。多数のEGPを抱えているユーザに役立つツールです。

なぜSRXを作ったのか?
SAS Enterprise Guideは、ポイント&クリックで簡単にデータを加工、分析できる便利なツールです。しかし、コードタスクで記述したプログラムをまとめて検索、置換する機能がありません。また、一般的な検索と置換のツールは、修整範囲の調査とエビデンスを残すという機能が不足しています。EGプログラム資産を漏れなく調査し、修整を行ったエビデンスを残すために、SRXを開発しました。

SASバージョンアップにおいて面倒なのが、書き換える部分を探しながら置換のパターンを定義する作業です。私はこれまでUNIX上にコードを落として、grep(1)でパターンを洗い出しては、置換のパターンを作っています。SRXは、検索して置換のパターンを作る作業、エビデンスを残す作業を連続して行えるようにしています。

SRXの機能
SRXの機能を以下に列挙します。
  • EGPに含まれるコードタスクの文字列を検索、置換
  • 複数の.EGP, .SASを指定
  • 正規表現を使って、コードタスク中の文字列を検索、置換
  • 検索した結果をExcelファイルに出力
  • 置換した結果をExcelファイルに出力
  • コードタスクを確認しながら正規表現を定義
  • 置換した結果をDF.EXEで事前に確認
操作手順
操作手順を図示して説明します。


プロジェクトファイル又は.SASのファイルをドロップで指定します。

コードを抽出し、置換したい部分を右クリックメニューで正規表現のタブにコピーします。

正規表現タブで、パターンを編集します。

マッチングタブで置換した部分を確認します。

DF.EXEでコード全体を比較します。

今の時点では、SRXをVectorに登録しません。広いニーズがあるツールではないので、自分の仕事にだけ使う予定です。

SRX, SASファイルも処理できるように修正

開発の覚書です。今日の作業をメモしておきます。今日までの作業で安定したコードになってきました。後は、リクエストに応じて微調整を入れます。

  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • ステータスバーに操作の情報を表示
  • EGを起動するタイミングを変更
  • 関数、プロシージャを整理
それと、明日以降の作業をメモしておきます。
  • プロジェクトファイルのバックアップを作成するか検討
  • プログレスバーを表示できるか検討、スレッド化するか?
  • 仕事用に有効期限とホスト名しばりを追加したい

2011年4月13日水曜日

SRX, レジストリを参照してオブジェクト名を取得

開発の覚書です。今日の作業をメモしておきます。

  • EGのOLEオブジェクトを定数から、GetRegStringValueで取得するように変更
それと、明日以降の作業をメモしておきます。
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • ステータスバーに表示する情報をさらに検討
  • プログレスバーを表示できるか検討、スレッド化するか?

2011年4月12日火曜日

SAS Enterprise Guide 4.3, コードのフォーマットを試す。

新しいEG4.3を入手できたので、コードの整形機能を試しました。目が痛くなるような過去のコードを投入して、どんなインデントになるか調べてみます。

Before
After

2011年4月10日日曜日

SRX, DF.EXEの起動

開発の覚書です。今日の作業をメモしておきます。
  • コードをエクスポートして、置換前後のコードをDF.EXEで比較する機能を検討
それと、明日以降の作業をメモしておきます。
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • ステータスバーに表示する情報をさらに検討
  • プログレスバーを表示できるか検討、スレッド化するか?
DF.EXEで置換した結果を比較できます。

2011年4月8日金曜日

SRX, 正規表現の整理

開発の覚書です。今日の作業をメモしておきます。
  • Regular Exp.タブの入力項目を整理する機能(Refresh)を追加
  • 検索ベンチ、正規表現、マッチングのStringGirdに検索フッタを追加
  • AdvExcelIOの属性を変更して、Cellの書式をインポートしないように変更
それと、明日以降の作業をメモしておきます。
  • コードをエクスポートして、置換前後のコードをDF.EXEで比較する機能を検討
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • ステータスバーに表示する情報をさらに検討

SRX, 砂時計

開発の覚書です。今日の作業をメモしておきます。
  • 処理中のマウスポインタを砂時計に変更
それと、明日以降の作業をメモしておきます。
  • Regular Exp.タブの入力項目を整理する機能が欲しい
  • コードをエクスポートして、置換前後のコードをDF.EXEで比較する機能を検討
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • ステータスバーに表示する情報をさらに検討

2011年4月6日水曜日

SRX, 検索パターンをコピー

開発の覚書です。今日の作業をメモしておきます。
  • 検索ベンチのText列を右クリックメニューで、正規表現のタブにコピーする機能を検討
  • 検索ベンチをExcelにエクスポートする機能を追加
  • ステータスバーにプロジェクトファイルの件数表示を追加
それと、明日以降の作業をメモしておきます。
  • 処理中のマウスポインタを砂時計に変更
  • Regular Exp.タブの入力項目を整理する機能が欲しい
  • コードをエクスポートして、置換前後のコードをDF.EXEで比較する機能を検討
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • ステータスバーに表示する情報をさらに検討
Search Benchの右クリックメニューから、Regular Exp.へフィード

SRX, 検索ベンチの実装

開発の覚書です。今日の作業をメモしておきます。
  • 検索ベンチのコード抽出機能を実装
  • 検索ベンチのタブ順番を変更
  • 検索ベンチのText列をコードに合わせて幅調整
  • コードが改行で終わっていないときの処理を追加
それと、明日以降の作業をメモしておきます。
  • 検索ベンチのText列を右クリックメニューで、正規表現のタブにコピーする機能を検討
  • 検索ベンチをExcelにエクスポートする機能を追加
  • コードをエクスポートして、置換前後のコードをDF.EXEで比較する機能を検討
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • ステータスバーに表示する情報を検討

2011年4月4日月曜日

SRX, 検索ベンチの検討

パターンマッチングの正規表現を定義する前に、コードを確認したいと考えました。そこで、Search Benchというタブを設けて、この中でコードを検索できるように検討しています。
Search Footerでコードを検索

今日の作業をメモしておきます。
  • プロジェクトファイルを保存する処理を追加
  • 検索ベンチのタブを実装着手
それと、明日以降の作業をメモしておきます。

  • 検索ベンチのコード抽出機能を実装
  • コードをエクスポートして、置換前後のコードをDF.EXEで比較する機能を検討
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • コードが改行で終わっていないときの処理を追加
  • ステータスバーに表示する情報を検討

 

2011年3月31日木曜日

SRX, スプラッシュ画面

今夜の作業は、スプラッシュの画面を実装です。
  • 起動時のスプラッシュ画面を表
  • 置換の機能を実装
  • 検索と置換のコードを共通化して整理
それと、明日以降の作業をメモしておきます。
  • コードを表示し実験的な検索ができる機能を検討
  • コードをエクスポートして、置換前後のコードをDF.EXEで比較する機能を検討
  • プロジェクトファイルを保存する処理を追加(今は、Saveしていない)
  • プロジェクトファイルのバックアップを作成するか検討
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • コードが改行で終わっていないときの処理を追加
  • ステータスバーに表示する情報を検討
スプラッシュ画面

2011年3月29日火曜日

SRX, 画面イメージ(2)

今夜もSRXの開発で、コードを叩いています。TMS SoftwareのAdvStringGridを導入いたおかげで、開発のスピードが上がっています。個人的な記録のため、今夜、実装した機能をメモしておきます。

  • Matching Testの画面にPopupMenuを実装
  • Matching Testの結果をExcelに出力する機能を実装
  • Replaceのタブを追加し、AdvStringGridを配置
  • Replaceタブに、PopupMenuとボタンを配置
  • ReplaceタブのグリッドをExcelに出力する機能を実装
  • ReplaceタブのPopupMenuにクリアの機能を実装

それと、明日以降の作業をメモしておきます。
  • 置換の機能を実装
  • EGPだけでなく、.SASのファイルも処理できるように機能追加
  • コードが改行で終わっていないときの処理を追加
  • 検索と置換のコードを共通化して整理
  • 起動時のスプラッシュ画面を表示
  • ステータスバーに表示する情報を検討
置換のタブにポップアップメニューを実装




SRX, 画面イメージ

新しいツールSRXを開発中です。週末、作りかけの画面とコードを捨てて新しくコードを書き直しました。次にやることをメモしておきます。

 
  • Matching Testの画面にPopupMenuを実装
  • Matchingの結果をExcelに出力する機能を実装
  • 置換を実行するタブを追加
  • 置換の実行と結果を確認するビューを実装
  • 置換の画面にPopupMenuを実装
  • 置換の結果をExcelに出力する機能を実装
  • EGPだけでなく、.SASのファイルも処理できるように機能追加

 
SRX 開発中の画面イメージ

2011年3月11日金曜日

WARNING: 入力データセットによって、変数 VAR に複数の長さが指定されました。

SAS8.2からSAS9.2(TS2M3)へのバージョンアップを行っていますが、タイトルの警告が出るようになりました。調べてみると、9.2からの新しい機能です。メッセージを抑制するには、以下のオプションを指定してください。
options varlenchk=nowarn;
警告を再現するには、以下のコードを実行してください。
data foo;
format name $7.;
set sashelp.class;
run;
SAS Notes:
http://support.sas.com/kb/37/102.html

2011年3月6日日曜日

SASコードをキックするLauncher

とある仕事で開発したくなったものメモしておきます。
  • SASコードをバッチ実行するランチャー
  • 実行後にログを検査して、ERROR、WARNINGをカウントしてくれる。
  • 実行前にダイアログを表示して、入力パラメータを指定できる。
  • エラーが起きた場合はログを表示する。
  • 入力パラメータで指定できるのはマクロ変数、FILENAMEステートメント
  • 入力パラメータは可変、設定で変更できる
DMSの画面って、分析者はともかく、事務の人には使いにくいのです。

原文参照の機能を検討中

前からSAS Log Utilityに原文参照の機能が欲しいと思っていました。試しに習作のコードを書いて、RichTextに表示させています。
原文参照のサンプル

2011年3月1日火曜日

アプリケーションのルートフォルダ指定には環境変数を使う

SASを使ったとあるシステムの移行を準備していますが、ルートフォルダの指定には環境変数を使うと移行しやすいです。良くあるパターンが、マクロでアプリケーションやデータのルートを指定する方法。これが良くない。マクロを使ってルートフォルダを指定する方法は、シングルクォートでは展開されないという欠点があります。

options set=DATROOT 'G:\data';
libname mylib '!DATAROOT\mylib';

こんな具合に書く方が、分かりやすく、直しやすいです。5年前に書いたコードを別システムに移行していますが、あっさりと動いて満足です。

2011年2月27日日曜日

SAS 9.2 Hot Fix Analysis, Download and Deployment Tool

SASのシステム管理者に役立つ情報です。HotFixを探して漏れなくパッチを適用するのは面倒な作業です。そんな、HotFixを探してダウンロードしてくれるツールが9.2からあります。

SAS92HFADD Ver 1.0

これ以前は、UNIX上でスクリプトを書いて片っ端からダウンロードしていましたが、次からはこれを使います。ただし、インストールする前には実行できないのが難点です。予行演習でインストールしたときに、ダウンロードできます。

追記 - 2011/02/27
実際に環境構築の準備作業で使ってみました。一言で云うと使えるツールです。Deploymentregistry.txtを作る部分が連携できていないのが惜しいですが、簡単に必要なHotFixをダウンロードできます。SAS9.2からHotFixの体系が変わったので、このツールがないと漏れなくHotFixを探すのが難しいとも言えます。

後、日本語に関する部分は手動でダウンロードする必要があります。それも、AnalysisReport\SAS_92_Hot_Fix_Report_Win_*.html を開けば、一覧に並んでいるので楽チンです。

2011年2月16日水曜日

SAS Enterprise Guide 4.3 の便利な新機能, インデント

SASから送られてくるレターの中で、EG4.3の新機能の記事がありました。その中でも評価したいのが、コードを整形、インデントしてくれる機能です。これ、作りたいなと思っていたので、嬉しいような、先を越されて悔しいような気持ちです。マクロの部分がどのようになるのか評価したいです。

SAS Programmer's Paradise: New Goodies in SAS® Enterprise Guide 4.3

他にも、コーディング途中で入力の候補を出してくれる機能があります。ポイント&クリックが売りなのに、こういう部分を強化してくるということは、ハードコードする人のニーズがあるのでしょう。

2011年2月13日日曜日

LOGPARSEマクロ, Parse SAS Logs to Extract Performance and Timing Information

私の備忘録もかねて、SAS Log Utilityに近いソフトウェアを、ひとつずつ紹介します。LOGPARSEマクロは、英語版のSASログを解析してFULLSTIMERで出力される情報を集計してくれるマクロです。マクロなので、引数にログファイル名、集計結果のデータセット名を渡すだけのシンプルな仕組みです。LOGPARSEの特徴を列挙します。

  • 指定できるログファイルは1つだけ
  • 日本語版のログは読み取れない
  • FULLSTIMERの出力を捕捉したデータセットが出来ます
  • 数値項目の合計、平均、最大、最小を計算はSASの機能を使います
  • データセット名、マクロ名は捕捉できません
Savian SAS Log AnalyserもLOGPARSEも、日本語のログを扱えないのが痛いです。データセット名、マクロ名を捕捉できないと、ボトルネック解析のツールとしては弱いです。
 
サンプルのログを解析し、結果をデータセット化した例


2011年2月12日土曜日

Elvis SAS Log Analyserのレビュー

私の備忘録もかねて、SAS Log Utilityに近いソフトウェアを、ひとつずつ紹介します。Elvis SAS Log Analyserは、英語版のSASログを解析するためのビュワーです。ログを集計する機能は無く、エラー、ワーニングの箇所を特定して素早くログを表示してくれます。

  • 指定できるログファイルは1つだけ
  • NOTE:, WARNING:, ERROR:の行にジャンプできる
  • 任意のタグ(SPECIAL:)を定義して、ジャンプできる
  • 日本語版のログは文字化けする
  • Savian、SAS Log Utilityのような実行時間の集計はできません

 
10分だけ触った感想を書きます。まず、良いところは、エラー、ワーニングに素早く移動できることです。特定の文字列を指定しても、前に後ろに検索できます。私が試したのはトライアル版で、ライセンス登録しないと、起動/終了時にメッセージがでて、5秒ほど静止します。

物足りないのは、実行時間を集計する機能が無いので、ボトルネック解析ができないことです。なぜか、SAS日付を整数で表示してくれる機能があります。SAS日付を整数に変換するために、Elvisを起動しようとは思いません。

サンプルのログを開いた画面

SAS日付を整数に変換してくれる機能

  

2011年2月11日金曜日

Savian Log Analyser for SASのレビュー

私の備忘録もかねて、SAS Log Utilityに近いソフトウェアを、ひとつずつ紹介します。Savian Log Analyser for SASは、英語版のSASログを解析してFULLSTIMERで出力される情報を集計してくれるツールです。Savian Log Analyser for SASの特徴を列挙します。

  • 指定できるログファイルは1つだけ
  • 日本語版のログは読み取れない
  • FULLSTIMERの出力を捕捉できる
  • 集計項目を選択して、数値項目の合計、平均、最大、最小を計算できる
  • Excel、XML、HTMLへの出力機能がある
  • 印刷機能有り
  • 行番号から原文のSASログに移動する機能がある(原文参照)
  • 処理時間をグラフ表示する機能がある
10分だけ触った感想を書きます。まず、良いところは、捕捉できる項目が多いのと、原文参照の機能がありがたいです。この原文参照はテキストマイニングでは割と良くある機能なので、SAS Log Utilityにも組み込みたいと思っているところです。
私が使いにくいと感じたところは、日本語のSASログを読めない、処理時間をグラフ化する機能は、フィルタの機能と連携していない、複数のログファイルを解析できない点です。ボトルネック解析をするためには、マクロ名やデータセット名まで含めて捕捉して欲しいです。

プロシージャの名前で分類して、数値項目を集計した画面

グラフ化の機能は集計と連動していないので、使い勝手はいまひとつ
Excelへのエクスポート機能は美しい!

2011年2月7日月曜日

SAS Log Utilityに近い機能を持った製品

久しぶりにSASログを分析する他のツールを、探してみました。

%LOGPARSE
LOGPARSEは、SAS9.1.3以降のログを分析して、データセット化してくれるマクロです。でも、日本語のログはサポートしていません。それと、データセット名が取れません。行数とか、変数の数はとれます。FULLSTIMERの情報も拾えます。

Elvis SAS Log Analyser
こちらは、ログをハイライトしたり、エラーの箇所にジャンプしてくれるビュワーです。DEMOをざっと見ただけで未評価です。

Savian Log Analyser for SAS
SAS Log Utilityに近いソフトウェア製品があります。グラフを描画する機能がありますが、数百ステップもあると、見づらいのが難点。これも日本語のログは不可。データセット名は拾えません。
SaviLog Real Timeのレポート

2011年1月23日日曜日

SAS Log Utlity 1.3.1.8 リリース

すみません、先日リリースした1.3.1.7はビルドのミスがありました。ランタイム不足で動かないことがあります。今日、Vectorに新しくビルドしたバージョンを登録申請しました。

2011年1月21日金曜日

万年筆とペンシース

ペリカンの子供用万年筆を使ってみたら、意外と良かったのでLAMYの万年筆にステップアップしました。ペン先に気持ちを集中させないといけない書けないのが良いです。それにあわせて、万年筆のシースをネットを探し出して購入しました。シンプルだけどデザイン性があって非常に良いです。

ぴたっと収まりながらも、被せがないので取り出しやすいです。
シースの制作は、こちら「カンダミサコ」さんです。