SPSSデータファイル・リーダ 1.2



《主たる機能》
SPSSのデータファイルを読み込み,各種情報を表示します。

《バージョンアップ》
1.2 ( 1998/9/26)
(1)string の場合表示できなかったバグを潰す。
(2)date 型の変数も1990/10/13 というタイプで表示するようにする。

1.1
フォームの二重起動をしない方法がわかったので,value label のフォーム以外は閉じないようにした。value label のフォーム以外はOKボタンで元のフォームをアクティブにする。この結果,データをファイルに保存したときにデータ表示画面が勝手に終了することがなくなった。
《こんな利用者を想定してます》
(a)spssユーザではないけど,spssデータファイルを送りつけてくる変人が研究仲間にいる。
(b)spssを起動するのが憂鬱だが,データの中身を確認したい。
(c)spss利用中に変数ラベルなど一度に確認したい。
(d)spssのデータ書き出しのフォーマットの指定が面倒だ。
(e)昔のデータはどんなラベルになっていたか知りたい。
(f)Delphi でSPSSのデータファイルを処理したい。
(g)spss データファイルを送りたいが相手がSPSSを持っていない。

《限定》
(a)SPSSのマトリックスで作られたものは,各種情報は取得できますが,データの表示はできません。依存しているDLLの制限によるものです。新しいDLLつまりspss 8.0に付属しているspssio32.dll の場合、表示できるようです。
(b)windows95(確認済み),WindowsNTでしか使えません。


《用意するもの。使い方》
(a)http://www.spss.com/Tech/Utilities/UT-032596-01.html
にあるspssio.exe をダウンロードする。自動解凍してでてきた,SPSSio32.dll をWindowsのsystemのフォルダーに入れる。
(b)spssファイルリーダー本体 (spssfio.exe) を適当なフォルダーにいれておき,
 起動させてください。

《提示する情報》
(1)基本情報
--------------------------------------------
Original System: MS WINDOWS Release 6.1
作成日時: 30 Sep 96 12:35:29
ケース数: 474
変数の数: 11
File label: No Label
圧縮: Yes
重みづけ: No
sysmis= -1.79769313486231552E308
--------------------------------------------

(2)変数について
変数名,
タイプ 数値か文字か
値ラベル ついているかついていないか
欠損値(missing value)の指定があるかないか
変数ラベル

(3)value label 等
一つの変数について ((2)で変数をダブルクリックする
変数ラベル
値ラベル
欠損値の値

(4)データ
SPSSの出力形式のデータ表示
sysmis は 「.」で表示。

この表をクリックすると(3)
(2)も表示

(5)データ出力
(a)画面表示形式
(b)SPSS内部データ形式(倍精度の浮動小数点)欠損値はマイナスの極小値

《その他》
http://www.spss.com/Tech/Utilities/UT-032596-01.html
ftp://ftp.spss.com/pub/web/SYSTEM/)
にある,ほかのファイルもダウンロードしたほうがいい。C言語用マニュアルとVB用に細くされたことを説明している。
 CやVBにできることならDelphi にもできるのではないかということで作ったのがこのソフトです。Delphi学習用にはもってこいの材料でした。まだ未解決の部分がいくつかありますが,プログラムを参考にしていただければ,spssデータファイルを自由に読み書きするソフトをつくることも可能でしょう。今回は,読むだけに焦点をあてました。書き込む方はさらに慎重さが必要でしょうから時間がかかりすぎることを心配しました。
 プログラムには,今回使った部分については,ヘッダーが正しく動くようにしていますが,それ以外は,熊木 光一(NEC・シスマイ(事)製品技術部)氏のH to Pas Conveter(0.04β)( [Delphi-ML:10218] Re: DLLに引数の変換について)で変換したものに,VB用についていた,...を付け加えたものです。delphiでその他の機能を使うとき少しは役立つでしょう。

> int spssGetVarNValueLabels
> (int handle, const char *varName, double **values, char ***labels,
> int *numLabels)
のdelphi での処理は T. Kawanishi 氏(nifty:FDELPHI/MES/6/11465)に教えていただきました。

《参考文献》
SPSS Data File Input/Output DLL http://www.spss.com/Tech/Utilities/UT-032596-01.html ioapi.exe (ftp://ftp.spss.com/pub/web/SYSTEM/ioapi.exe)
spss 8.0 の cd-rom \Developer\IO_DLL\ioapi.pdf

Delphi 3 Object Pascal 言語ガイド
Fdelphi/mes/6/
Fdelphi/mes/15/
村上宣寛(1997)やさしいDelphi 日刊工業新聞社
塚越一雄(1995)はじめてのDelphi 技術評論社
塚越一雄(1997)Delphi2.0ハンドブック ナツメ社
塚越一雄(1997)Delphi−オブジェクト指向プログラミング 技術評論社
著作権は堀 啓造にあります。改変は自由ですが,元著者への言及をすること。
連絡先hori@ec.kagawa-u.ac.jp