2009年6月28日日曜日

バグ修正

データセット単位の処理時間集計で、カウントが0回となるバグを修正しました。

OBS数が0のときに、プロシージャの入力データセット名が空白になる問題を修正しました。SASログのメッセージが、データがあるときと、無いときでは異なっていました。

複数のログファイルに対応






複数のログファイルに対応するように修正しました。これまでは、1ファイルしか解析できませんでしたが、Log Fileのタブシートからファイルを選択して並び順を指定することができます。下は、新しく追加したログファイルの指定画面です。



CRUD表には、ファイル名の列を追加しました。



Elapsed Timeのタブにもログファイルの列を追加しました。データセット単位の処理時間集計については、ファイル名で分けずに集計しています。

英語版のログ対応

SAS 9.1.3(英語版)のログを読み取れるように修正しました。英語版SASのログを取るために、一度SAS9.1.3を再インストールしましたが、IKERNEL.EXEが止まって難儀しました。



日本語版のログ





SAS Log Utilityで解析するとこんな表になります。




2009年6月27日土曜日

データセット名の変更に対応

PROC DATASETSのCHANGEステートメントのログを拾えるように修正しました。CRUD表上では、名前を変更されたデータセットは削除して、新たに作成されるように見えます。下の図では、No2 Line 47の部分がデータセット名の変更にあたります。

英語版のメッセージ対応も進行中です。Windows 9.1.3のロケールを切り替える方法を探していますが、まだ見つかっていません。UNIX版でログを取ってテストすべきか思案中。


2009年6月25日木曜日

Vectorへの登録が完了

思ったよりも素早くVectorに登録されました。次のリリースまでに何を改良するか検討します。

http://www.vector.co.jp/soft/winnt/business/se476976.html

2009年6月21日日曜日

入出力ファイル名のバグ修正

入出力ファイル名が正しく拾えていない問題を修正しました。実装で悩んだのが、ファイル参照名を実ファイル名として表示するかどうかです。入力ファイルがワイルドカードで複数のファイルから構成されるときには、 実体のファイル名が多くなって見づらいかもしれません。テキストファイルへの出力がそれほど多くないため、ファイル参照名で表示するように決定しました。



テストに使ったログを貼り付けておきます。

184 filename myfile 'c:\temp\name.txt';185186 data _null_;187
set sashelp.class;188 file myfile;189 put name;190 run;
NOTE: 出力ファイル MYFILE
: ファイル名=c:\temp\name.txt, レコードフォーマット=V,論理レコード長=256
NOTE: 19 レコードを出力ファイル
MYFILE に書き込みました。 最小レコード長は 4 です。 最大レコード長は 7 です。NOTE: データセット SASHELP.CLASS から 19
オブザベーションを読み込みました。NOTE: DATA ステートメント 処理 (合計処理時間): 処理時間 0.03 秒 CPU 時間 0.00 秒
191192 data _null_;193 set sashelp.class;194 file "c:\temp\name2.txt";195
put name;196 run;
NOTE: 出力ファイル "c:\temp\name2.txt" :
ファイル名=c:\temp\name2.txt, レコードフォーマット=V,論理レコード長=256
NOTE: 19 レコードを出力ファイル
"c:\temp\name2.txt" に書き込みました。 最小レコード長は 4 です。 最大レコード長は 7 です。NOTE: データセット
SASHELP.CLASS から 19 オブザベーションを読み込みました。NOTE: DATA ステートメント 処理 (合計処理時間): 処理時間 0.03 秒
CPU 時間 0.00 秒
197198 data x;199 infile myfile;200 input name $ ;201 run;
NOTE: 入力ファイル MYFILE : ファイル名=c:\temp\name.txt, レコードフォーマット=V,論理レコード長=256
NOTE: 19 レコードを入力ファイル MYFILE から読み込みました。 最小レコード長は 4 です。 最大レコード長は 7 です。NOTE:
データセット WORK.X は 19 オブザベーション、 1 変数です。NOTE: DATA ステートメント 処理 (合計処理時間): 処理時間 0.01 秒
CPU 時間 0.00 秒
202203 data y;204 infile "c:\temp\name2.txt";205 input name
$;206 run;
NOTE: 入力ファイル "c:\temp\name2.txt" : ファイル名=c:\temp\name2.txt,
レコードフォーマット=V,論理レコード長=256
NOTE: 19 レコードを入力ファイル "c:\temp\name2.txt" から読み込みました。
最小レコード長は 4 です。 最大レコード長は 7 です。NOTE: データセット WORK.Y は 19 オブザベーション、 1 変数です。NOTE:
DATA ステートメント 処理 (合計処理時間): 処理時間 0.01 秒 CPU 時間 0.00 秒
207208 proc datasets
lib=work nolist;209 delete x y;210 quit;
NOTE: WORK.X (memtype=DATA)
を削除します。NOTE: WORK.Y (memtype=DATA) を削除します。NOTE: PROCEDURE DATASETS 処理 (合計処理時間):
処理時間 0.01 秒 CPU 時間 0.00 秒

2009年6月20日土曜日

データセットの削除をCRUD表に追加

CRUD表と言いながらも、データセットの削除が捕捉できていませんでした。"NOTE: WORK.FOO (memtype=DATA) を削除します。"というメッセージを捉えて、CRUD表に"d"と表示するようにしました。

Vectorに登録を申請

ようやく、最初のバージョンをVectorに登録申請しました。
Vectorの審査が済んで、公開されるまで2~3週間は掛かりそうです。

2009年6月18日木曜日

SHARP 液晶TV LC-37DS5

家電製品のメモです。