ノ
f ーソナル・コンビュータからのファイル転送と
茂男 統計処理ノ ‑ e ' ; I ケージ iANALYSTJ の使用法
*2 夕美子,日野
* 1 由樹,中根 吉原
=
t::I1.緒
2 . 処理概要
用更 設てけ使変 聞い付のの 成のつりドヘ 構ンに割ント のヨ換のマツ
ア シ 変 ト コ セ エ ツ ド ツ
E タ
ウセ一セ
V 一 ド S
コ タ
O デ
送 一
S 部
一 M 分 転 ハ T 内デ
F 区 レ イ
1 2 3 4 5 6
ア
フ
3 3 3 3 3 3 3 .
力 法 録 入 用 登 タ 使 の 一 の ヘ デ タ ク 素 て イ ン の い デ パ クに語一 へつエタ ン 能 本 デ
パ法機日 T タ成ロ
D S 一 作 ク F Y デ の マ
PL
T ロ A S ク
1 2 N
Y マ
. .
・ A1 2
Tμti‑‑A
N 4 4 A 4 4 4 .
A コ マ I N ン E ド コ マ ン
ピ ーM BN I 結 0 0
連
C J の タ 12
デ 55
5 .
ドド
・
ン マ コ T A T
Q U
出
算 ) ) の ド か 量 ン ほ 計 マ ) ド ) 統コドンド 本 S ン マ ン
基 S
マ コ マ と O コ S コ 理 RRCT 処 CEIU 型 MTHP 話 (CPT 会成 AAU の作 FRO T の
( G (
S 表析(力 Y 計分成出 L
集 性 作 ル
力 A
ス 分 フ イ 出 N ロ 子 ラ ア
と A ク因グフ 理 処
1 2 3 4 5
計・ 統
6 6 6 6 6
n h U
Y レ 出 呼 の
VI Vl
ン ン マ マ コ コ ド S プ ド ン
S サ
ン マ
TP
マ コ の
L コドブで N T ンサドの S マ T
一 で Y コ S モ ド LTIT 一 ARLS モ NEMY ク A V L
イ な
N T
用 A フ
O E N v
フ 有 CSA グ の 他
1 2 3 4
の そ
7 7 7 7 7 .
その他の有用な TSS コ τ ンド
(SORP 、 DSPRINT 、 DSPOPER コマンド)
8 .
呈五 回ロ
1 O . 参考文献
9 . 結
Y o s h i k i Y O S H I H A R A ; 長崎大学医学部学生 4 年
* 1
Y u m i k o N A K A N E ; 長崎大学医学部学生 4 年 S i g e o H I N O ;長崎大学医学部細菌学教室助教授
‑53‑
* 2
* 3
1 . 緒 言
近年、コンビュータの発達により、個人情報の電子ファイル化が進み、金融機関の信用調査 などで効果を上げていると聞く。また"名簿業 H なる新商売も登場し、 NTT は全国の職業別 電話帳を数枚の C D (コンパクト・ディスク)に入力し、近々一般にも販売溢れるという。
このように至るところで幾種類もの個人データのファイルが蓄積されてくると、それらを 1 inkage し、複合的な新しいファイルを作る動きがでてくるであろう。
医学の分野においてもその例外ではない。特に公衆衛生学などの分野では、ある疾患につい て、年齢、性別、職業などの諸国子がどの様な影響を及ぼしているかという研究が盛んになさ れている。その様な研究においては、ファイルの連結によって医学情報を編集することは極め て重要な作業である。学会誌においても、コンピューターによるファイルの自動連結について の方法論などが散見される様になってきた(文献1)、 2 ) 、 3 ) 、 4 ) ) 。
今回私どもはパーソナルコンビュータのファイルを情報処理センターのコンピュータシステ ム .FACOM M‑360 (以下、ホストとする。)へファイル転送し、富士通提供の統計 処理パッケージ ANALYST (Vl OLl 0 ) を用いて、転送したファイルの自動連結(以 下 、 re C 0 r d 1 i n k a g e とする。)を行うことで、個人検診データペースの構築が できた。そして、そのデータペースをANAL.YST コマンドを用いて種々の統計分析するこ とで、二次的医学情報を得るという体験ができた。ここに処理内容を紹介したい。
2 . 処理概要
今回の Study の処理概要を以下に説明する。使用したファイルは 3 つあり、その内容は 以下の様になっている。
( 1 ) File ①・・・・住所録ファイル 00.555 件)
ある町の住民票をもとにした氏名、性別、生年月日、部落、家族番号、続柄などのデー タ。これは約 3 年前のもので、転出者、死亡者などの記載はないものが多い。
但 ) F i 1 e ②・・・・住民検診ファイル ( 3 . 130 件)
この町で 20 年近くにわたって、毎年行われている住民検診のデータで、毎年約 100 0 人が受診する。受診カルテ番号、氏名、性別、生年月日、検査データが入っている。
大量のデータを 5 インチのフロッピィディスクに入れるため、できるだけ枚数が少なく なる様に binary で記述している。
( 3 ) F i 1 e ③・・・・アンケートファイル 0.637 件)
F i 1 e ①の内容を補うために、筆者らが同町で行った家系調査アンケートによって得 られたデータである。氏名、性別、生年月日、既応歴、輸血歴、出生体重、母乳栄養の 有無などが記述されている。
一 日
日
File('J (J0555n) 3834KB Fi le
( 2 )
(3130件 S45KBF
i1 e
ゆ ( l637件〉ヲ 主 ー ー タ 一 一
σ
〉 祈E 才 工
本データー
(RECFM=FB. LRECL=255.
BLKSIZE=3060)
FACOM
M ‑3 6 01 r(i>TOMAS.OATA(AOI.A02.
…
.AU) 自響力ップラ IOOH.問 A川剛
.kl'ATLAS.OA則 的 I.A02.•.• .AH)
1200BPS ¥、‑‑‑‑‑.
主JEHQU.DATA
•
OATAコ‑cr'./r
I│ 【 S l e
pI I】
来データーのデーター│
バンクへの入
J J l
ANALYSTヂーターバンク/ー一一‑‑‑...(RECFM‑VBS.LRECL‑6140
I~、ー~I
BLKSIZE=61(4)1 OSH.ABAHK.OATA I """
n .
山 │ 也 、MOI.M02.…
.MH│日開
=BAHK Iにこ~..‑"'j
②
AO 1. A02…
AH・
∞
MB'::J‑crンド @JALLENQコードの縦(ケース
) 1
↓ 【 S
te p 町 一 l 】
モデム 1200BPS
方向への迎紡 V ド
‑ 一
日 日 制
=AHA附RKI'PUT"コマンド│
WMOI+M02・・・・ +M44
②
AO 1 +A02+..・+AHデータ パンクへの入力
l
I~ーーー---
1 OSH=ABAHK.OATAl
① 札
LMElBO@ALL
日
ATA• J
OIHコ7
ン ド ー ー で ‑レコードの槌(変数)↓
rStepill‑2J
:JiI;~の迎結/"'"ーエ----こ
rALLMElBO+ALLOATA ALLEHQ+ALLOATA 'PUT'コマンド
日
SH=ABAHK.OATA JOIHI (①+②) ENQJOIH (③+⑨)/\~
'OUTP
唱 γ
コ 匂y
ド ・ーー・/" l il ' .l 二 ] . . . . . ,
~〆ドv
主L
、、 作業領域への1 1
1)]7 7 イル百万 1
ヒ = ‑ ‑ . . y 【 S
t巴pl V 】
↓
統計、クラ7111
力 ト一一一一る
「 ¥1 N L P 1 1
/ノ
~
グラ7
{ック・図 1
Vh
スプレイ‑55 ‑
尚 、 Fi 1 e ① 、 Fi 1 e ②は富士通 FM‑8 で 、 Fi 1 e ③は日本電気 PC‑9801 で 、 それぞれ 5 インチ 2 D ' D フロッピィに記入されている。
次 i こ各 St e p とそれに伴うデータの流れを図 l に示す。そして各 Step の処理内容を簡 単に説明する。
( 1 ) [ S t e p 1 】
3 つのファイル (Fi 1 e ① 、 Fi 1 e ② 、 Fi 1 e ③)を全て AS C 1 1 コードに変換し て、アスキーセーブファイルとしてホストへファイル転送する。
( 2 ) 【 StepII 】
転送されたファイルを ANALYST で処理するためには、 ANALYST のデータパンク として登録する必要がある。 3 つのファイルをそれぞれ、 ANALYST データバンクに登録 する。
( 3 ) 【 Step l l I 】
ANALYST のコマンド (J 01 N 、 COMBA1 N) によって、自動的に re C 0 r d 1 inkage し 、 Fi 1 e ① + F i 1 e ②、あるいは Fi 1 e ② + F i 1 e ③という新しい ANALYST データパンクを作成する。
仏)【 Step ! V 】
この新しい ANALYST データパンクを ANALYST コマンドで処理することによって、
統計処理、グラフ作成、因子分析等が可能となった。
3 . ファイル転送 【 S t e p 1 】
FM‑8 及び PC‑9801 の 5 インチフロッピィ上の Fi 1 e ① 、 Fi 1 e ② 、 Fi 1 e
③を ANALYST のデータパンクに登録するためには、ファイルをホストへ転送する必要が ある。 PC‑9801 からの転送の実際は文献 5 ) に詳しいので省略し、ここでは FM‑8 か
らのファイル転送について説明する。
3 . 1 ハードウェアの構成
FM‑8 本体、 5 インチフロッピィ、ディスプレイ、音響カップラー、 RS‑232C ケー プルと構内電話を用意する。音響カップラーは 12 0 0 b p s のものをセンターから借用した。
音響カップラーの RS‑232C コネクターは EIA 規格 25 ピンであるが、 FM‑8 側は平 行 26 ピンのエッジコネクタであるため、 RS‑232C ケーブルは自作することにした。し
‑56 ‑
かし、 FM‑8 のマニュアルにコネクタのピン番号の記載がなく、ケープル 1 個作るのに大変 苦労した。 FM‑8 の RS‑232C のピン番号を図 2 に示しておしなお、自作する場合、
コネクタ上面にハンダゴテを使って溝を 2 本掘っておかないと、コネクタがうまくかみ合わな いので注意する。なお、 FM‑8 のピン番号と RS232C のピン番号の対応表は FM‑8 添 付のマニュアルを参照されたい(文献 6 ) ) 。
26 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑642
1 z
‑ a
巴
3
回 且 ロ
S
﹃ ロ ロ
一 一
Eg
‑ ‑ ロ ロ 一 ‑ ロ ロ 一 一 ロ ロ 一 ‑ ロ
S
. ‑ ロ 四
一 目 ロ ロ
・ 田 ロ ロ . ‑ e a
ぉ ︑
g ロ
(ケーブル側より見る)
を 甲 ア
コ ダ
︒ ン る ハ 掘 に 本
面 2
上 を タ 溝 ク て ネ つ コ 使
︐
k
い グ
図 2 3 . 2 セッションの開設
FM‑8 をセンターの TSS 端末として使用し、アァイル転送するためには、通信機能を含 んだ端末プログラムが必要である。市販されているのもあるが、今回の端末フ.ログラムは文献 7) を使用した。これは、九大大型計算機センターで開発された端末プログラムで、ファイル 転送は端末フ.ログラムの中で FMOVE コマンドを起動して、 ASCII セーブのシーケンシ ャルファイルをホストにアップロード、あるいはホストからダウンロードするものである。な お、この端末フ・ログラムには "!F" と入力して起動するファイル転送犠能もサポートされて おり、アップロードには EDIT コマンド、ダウンロードには LIST コマンドを用いている。
しかし、"! TR" で起動されるファイル転送機能の FMOVE コマンドの方がファイル転送 速度が速いとのことであったので、後者の方を用いた。
操作手順は次の通りである。
① 音響カップラ一、パーソナルコンビュータの電源を入れる。
②端末プログラムをロードして、 runさせる。
③ センターの音響カップラー用 0200bps) の内線番号 8‑3610 をダイヤルし、
発信音を確認し、受話器をカップラーに差し込む。但し、 FM‑8 の時、カップラーの 場合はここでブレーク操作をする必要はないが、 EPSON の SR120AT や AIW
A PV‑A1200 などのモデムの場合は、ここで一度ブレークキー (PF 1)を押 下する必要がある。
‑57‑
④ "LOGON TSS F9999/ パスワード S (3000) "と入力する。
F 9 999 は利用者の課題番号である。 S (3000) は使用する TSS リージョンサ イズである。今後、 PFD 日本語エディタや ANALYST などを使う時、大きいリー ジョン (ANALYST は 3000KB 程度)が必要である。これらの準備ができれば もうこれでパソコン FM‑8 はセンターの TSS 端末として使用できる。ただし、 FM
‑8 では PFD やフルスクリーンエディタは利用できない。
3 . 3 内部コード変換について (AS C 1 1モードからカナモードに変更)
パソコンを TSS 端末としてセッションを開設し、ファイル転送をする場合、端末の内部コ ードに注意する必要がある。転送ファイルのデータにカタカナが混在するときは、カナモード をサポートできるように READY モードで" S E T C 0 D E 1 (K A N A) D (J 1 S)
H と入力しモード変換しなければならない。なぜなら、ファイル転送するとカナ文字が化けて 転送されるからである。モード変換の確認は、 "SETCODE LIST" と入力すれば、
現在のモードを示すメッセージが出力されるので確認できる。但し、この場合英字の大小の区 別は認識されない。
この転送フーログラムでアップロードした内容を確かめる場合(ディスクにセーブする必要の ない時)は、 LIST コマンドの方がよい。例えば、 SETCODE コマンドによるカナモー
ドへの変更を忘れてパソコンからホストへアップロードした後、再度この転送プログラムの FMOVE コマンドでホストからパソコンヘダウンロードすると、画面上ではあたかも正しく 転送されている様に見える。しかし、これを LIST コマンドで見ると、カナコードは
A S C 1 1コード表において r1 2 8 J ずれるため、 「ア」は rlj 、 「イ」は r2J などと 内容が異なって表示される。このような理由から、 LIST コマンドで確認する方がよい。
3 . 4 データセットの割り当て
パソコンよりホストへファイル転送する FMOVE コマンドは新規データセットを作成する 機能がある。この時のデータセット属性は、内容識別修飾子が DATA の場合、レコード長
8 0 バイト、ブロック長 31 2 0 バイト、レコード形式 FB である。今回私どもが取り扱うデ ータセットのレコード長は 255 バイト必要なので転送するファイルをあらかじめホスト側に 準備する必要がある。ホスト側の直接アクセス装置(磁気ディスク)上に転送するデータセッ トの領域を確保することをデータセットの割り当てという。データセットを割り当てるには以 下の 3 つの方法がある。
( 1 ) E D 1 T コマンドを用いる。
‑58‑
く 例 >
READY
ι
NEW BLKSIZE(3060) LRECL(255)
TOMAS.DATA EDIT
INPUT
G
00010 EDIT
ι s
END
EMPTY SET 1S
DATA SAVED , BUT
KEQS2S531 READY
( . j J . :ENTERキ一入力を示す。〉
レコード長とブロック この時、
DATAは転送先のデータセット名である。
TOMAS.
このときブロック長はレコード長の整数倍とする。指定を省略すると内容識 長も指定する。
別子が DATAの場合、ディフォルト値(省略値)としてレコード長 80 バイト、ブロック レコード長が 80 バイト以上のデータを転送するとデー 長 31 2 0 バイトがとられるため、
タが端折られる。またこの方法は領域拡張の増分値の指定はできないので、大量のデータの ときは増分値が足りずエラーとなることがあるので別の方法が望ましい。
ATTRIBおよびALLOCATEコマンドを用いる。
< 例 >
( 2 )
ι
REC(F , B) DS(PS)
BL(3060) LR(2SS)
ATTR DCB
ι
US(DCB) SP(SO 25)
DA <T OMAS.DATA) ALLOC
( . j J . :ENTERキー入力を示す。〉
:領域の初期割り当てと増分量で、単位はトラック単位である。
2 5 ) ( 5 0
SP
PFD ( P r o g r a m m i n g F a c i l i t y f o r D i s p l a y U s e r s :プログラム開発支援機能)のデータ ( 3 )
2 3 .
"PFD PFDの起動は READYモードで、
セットの割り当て機能を用いる。
"と入力すると rDATASETユーティリティ」画面が表示される(図 3 ) 。
OATASET ユ テ ィ )ティ 1 〉幽噂唱ーーーーーーー唱ー ーーーーーーーーー・
4・ーーーーーーーー‑‑‑‑ーー〈
才
7 " ション===> A
A
‑ 新 デ ー タ セ ッ ト を 事l
り当てる。D司 デ ー タ セ
y
トを削除する。R ‑ デ ー タ セ ッ ト 名 を 変 更 す る 。
図 3
るす
︒ る
︒ ず 一 市
るグ表すロを
グタ性 ロカ属 タンの カアト
ををツトトセ
ツ
y々 ノ
セ セ 一 タタデ
デ 一 一デ
‑
: 白
c u
空
.. 伺 . ヲ ︐
e
. 向噌 ヲ ︐
A肉
A.
肉円
│ 向
9 v
例 T ︐
9 0 A tFTD
セ﹀﹀﹀ y
= =
= d d A J
= 孟 = 一 ‑ = 一 ‑ ‑ 孟
2
デ名リト名
‑ フ ク リ
ブエラ名 イジブプ ラロイイ D プラタ
p a D a
〈カタログされていない場合〉
〈 パ ス ワ ー ド 保 護 さ れ て い る 場 合 》
‑59 ‑
PFD
ラ イ ブ ラ リ 以 外 の デ ー タ セ ッ ト .データセット名::z==>
ボ リ ュ ー ム 通 番 = = = >
ノマヌワード===>
画面のオプション==>のところに rrA" を入力し、 PFD ライブラリデータセットのプロジ ェクト名に課題番号、ライブラリ名にデータセット名、タイプ名に内容識別修飾子を入力し、
ENTER キーを押す。すると「新データセット割り当てメニュー」画面(図 4 ) に変わり、
スペース単位、初期量、増分量、ディレクトリブロック数、レコード形式、レコード長、ブロ ック長をそれぞれ指定する。
一一一一一一一一一一〈
新 デ ー タ セ ッ ト 割 当 て メ ニ ュ ー〉一一一一一一一一ーー一一一司
+・・咽ーー・ー・・『・・司『ー・ーーーーーーーーーーーーーーー・司司ーーーーーーーーーーーー舗司声明鴫ー・ーーーーーーー・ーー‑‑‑‑ーーーーーー・・・・
4トT.,ー タ セ ッ ト 名 F9999.TOMAS. DA TA
+ーーーーーーーー・・・・・・・‑‑‑暢司ーーーーーーーーーーーーーーー・・ー・司ーー‑‑‑ーーーーーーー・・・司唱明司司司ーーーー‑‑ー・ー・ーーーーー+
! ボ リ ュ ー ム 通 し 番 号 = = = > 空 白 時 に は 省 略 値 が 採 ら れ ま す
1:7.ペース単位 目 的 TRKS <BLKSIγRKS/CYLSを 指 定 し て 下 さ い )1
l
初 期 婁 ,.:::1)50
上 記 の ス ペ ー ス 単l
i7が翠争れます)1
i増分量 =""=>
30
上 記 の ス ペ ー ス 単 位 が 採 り れ ま す )1 l
デ ィ レ ク ト リ ブ ロ ッ ク 数 = = = >0 ( 0
を 指 定 す る と 順 編 成 に な り ま す )1 l
レ コ ー ド 形 式 ===>FB
1
レ コ ー ド 長 ===>255
1
ブ ロ ッ ク 長 ===>3060
+・・・ー・・・『司ー司ーーーーーーーーーーー舗・・・・・・ーーーーーーーーーーーー・唱・・司司ーーーーーーー・・・・ー・・ーーーー・ーー・.司・・ーーー+
図 4
ボリューム通し番号は空白を入力する。ディレクトリブロック数は r r 1 "で約 20 個のメン バーを登録できるので、 1‑3 ぐらいで充分であるう。なお、 r0 r "を指定するとデータ編成 は順データセットになる。指定後 ENTER キーを押して、割り当てが成功すれば、 「割り当 て成功」とメッセージが画面の右上に出力される。
PFD を終了するには END キー (PF 3 ) や 、 RETURN キー (PF 1 4 ) を押してい くと READY モードまで戻る。
3 . 5 FMOVE コマンドの使用
端末プログラムを実行し、 FM‑8 がセンターの端末として使用できる状態で、 "!TR"
とキー入力すると、画面に次のメッセージが表示される。
1 HOST ・ = = = > FM‑8
2 FM ・ ・ 8 ===> HOST 3 !TR COMMND END
"2" の FM
由8 ===> HOST を選択すると、
"FM‑8 FILE DISCRIPTOR?"
と尋ねてくるので、転送元の FM‑8 のフロッピィ上のファイル名を入力すればよい。更に、
"HOST DATA SET NAME?"
と尋ねてくるので、転送先、つまりホスト側のデータセット名を入力すればよい。そうすると FMOVE コマンド起動され、パソコンからホストへファイルを転送し始める。この時ホスト 側のデータセットのデータセット編成は順データセットでなければならない。ただし、ダウン
ロードの時は区分データセットも可能である。このようにして、 Fi 1 e ① 、 Fi 1 e ②を順
‑60 ‑
次転送した(操作の詳細は、九大大型計算機センター広報 Vo l . 15 No. 5 198 2 を窓照されたし)。
3 . 6 区分データセットへの変更
F i 1 e ① 、 F i 1 e ②にはそれぞれ 5 0 音順に 44 個のファイルに分けて保存してあった ので、ホスト側には 88 個の順データセットができたことになる。このままでは、ディスク領 域を浪費するばかりでなく、 ANALYST に入力するのにも不便である。すべてを
Append し、ひとつの順データセットにまとめても良いが、今後の検診でデータが増えた 場合不便であるので F i 1 e ①と F i 1 e ②をそれぞれ区分データセットに編成し直した。こ れで、 F i 1 e ①は 3834KB 、 F i 1 e ②は 945KB のデータ量となった。
4 . ANALYST のデータパンクへの素データ入力【 Steplll
ANALYST は統計処理を行う際に、ユーザファイルを直接アクセスするのではなく、そ れを素データとして所定のデータパンクに入力したものをアクセスする。そのため ANALY
ST で処理をするためには、素データをデータパンクに入力しておかねばならない。作成され たデータパンクそのものはコマンド等で直接覗くこどはできない。
素データは、縦方向にケース、横方向に変数をとった行列で、転送したファイルをそのまま 使用できる。 Fi 1 e ① 、 F i 1 e ②の合計 88 個のファイルは、データパンクに入力される ことにより、 dd 名 rBANKJ に割り付けられたデータパンクのメンパとなる。なお、デー タパンクのデータセット属性は、レコード長 6 140 バイト、ブロック長 6 144 バイト、レ コード形式 VBS の区分データセットである。
F i 1 e ① 、 F i 1 e ②をそれぞれ ANALYST データパンクに入力するためにはマクロ 機能(必要なコマンド、サブコマンド、オペランドを並べた一種のフ。ログラム)を利用する方 が便利である。この処理をパッチ処理によって行った。
4 . 1 マクロの作成法
4 . 1 . 1 マクロ機能について
ANALYST では、利用者がコマンドを入力する手続きを簡略化出来るように、コマンド のマクロ化の機能を備えている。
マクロとは、任意のコマンドの並びをひとまとめにしたもので、マクロライブラリに登録し ておけば、以降ANALYST の中ではそのメンバ名をひとつのコマンドの棟に使うことがで きる。マクロライブラリは区分データセットで、 dd 名 rMACROJ に割り付けて使用すれ
‑61 ‑
l まよい。
以下にマクロの例を図 5 に示す。なお、このマクロは F9999. AMACRO. DATA
のメンバ名 PUTBKJ31として登録されている。
VAR NB(1:5) lDOU SEX2 BIRT1 BIRT2 BURAKU2 QQ ① A6 N02 N03 ATL(68:99) HBV(68:99)
F
問T FIXED='(2A4 , 2X , 2A4 , A2 , A1 , I1 , 2(lX , 14) , 13 , lX , A1 , F4.0 , 216 , 64A1ド・・・② TR lDO=l;IF(lDOU='>' OR IDOU=
川')IDO=2;NA3=NB(3)…・…・・‑…・…③
TYPE NA3=A… … … ・ . . . ・
H・ ・ ・ ④
JLL IDO=' 移動, (1 =富江内庁=富江外〉・...…...・
H・ ‑ ⑤ JLL SEX2=' 性別, (0= 男 /1= 女〉
JLL BIRT1=' 生年'
JLL BIRT2=' 月日'
JLL QQ=' 肝臓検診番号が不明'ド*'= 新 ら し い 蕃 号 /
・?' = あ っ て る か ど う か わ か ん ね え 〉
JLL A6=' 肝 臓 検 診 番 号 ・
TR AGE=1986‑BIRT1
NCODE AGEX= AGE > RANGE(0 , 5 , 10 , 15 , 20 , 25 , 30 , 35 , 40 , 45 , 50 , 肩 、
55 , 60 , 65 , 70 , 75 , 80 , 85 , 90 , 95 , 100 , 150) TR AT=0;ATSUM=0;ATISUM=0;ATl1=0;YA=1968;TESTYA=0
REPEAT P=ATL(68:99)/V=ATY(68:99)… … … ⑦ TR M=CONV(P);V=O・・・………‑…...・⑧
TYPE 阿=0・
u・ … … . . . ・
H・ . . . . . ・
H・ . . . . ・
H・‑・…⑨ TR IF(M.NE.O) AT=l;
IF(M.NE.O) V=l ;
IF(M.NE.O) TESTYA=YA‑BIRT1;YA 三 YA+1i…………⑪
!F(阿 =1) ATl1=1 TR ATSUM=ATSUM+AT TR AT=O
TR ATISUM=ATISU阿 + 阿 ・ ・
H・
H・ . . . . . … ⑪
TR IF (ATSUM.NE.O) ATIMEAN=AT1SUM/ATSU阿 … ・ ・ ・ ‑ … . . . . . .⑫ TR IF (ATSUM=O) ADATA=l
TR 1F (AT1MEAN 1) ADATA 2
TR 1F (ATl1 1 AND ATIMEAN > 1) ADATA 3 TR IF (AT11 <> 1 AND ATIMEAN > 1) ADATA 4 TER
阿INATE
JLL ATSUM='ATL 検 査 回 数 '
REPEAT 11 0 , 1 , 5 , 10 , 201 12 1 , 5 , 10 , 20 , 331 13 1:5
TR 1F(ATSUM.GE.l1 & ATSUM.LT.12) ATCODE=I3 TERMINATE
JLL ATCODE=
﹀
nu
句
ζ
4よ︐ ︐
nu nu EJ nu
︐ 4 ム
R J '' 特 定
J'ny nu'
t u
マn
v
' o '
R J '
73r
コ
' a u
3o
nu''RU
R J F2 5 ' ヲ '
nu'
吋
ζ
円U' ヲ
r
cJ' 44rコ
' t o
nu'
句品
' '
n uO
R J ' 'E J
0 5
J
︿FE FU
一
・
N
y n U A
門
コ ' タ
= R 数 リ / / 上 一 リ 刊
﹀ 回 定
r リ
r
以 デ 定 リ リ り 引
A 査測図的叫団体測性転性百円
+ 京
512OL
凡↑ 木会 耳目
4勿旦担
s
t f
一勺ノ︿︿︿
2 ι t ‑ Y H V H r ‑
ト
R
ー ﹄
' ' ' ' ' ' ' ' ' ' l
γ '
=
=
=
=
= A H
=
=
=
=
A 1 2 3 4 5 L 1 2 3 4
﹀
=
︐ ︐ ︑
T1
︐ ︑
nu vA
A門
‑‑ AH
' M H V
︐
= H U T
‑ A H F a F 3
T T E
A H A H T l nu
︐ ︑
A H F r
﹁E
74 nu
l ﹂
nu ' L E H F
‑ w
J T N
図 5
円/u
p
h u
① DATA コマンドの VARIABLE サブコマンドである。 DATA コマンドの入力 は、このマクロを呼び出すジョブ制御文(後述 4 . 2 参照)においてなされる。
② 変数の読み方を指定する。 A 形式(文字型)はどんな文字でも読み込めるが 4 バイト 以内で演算はできない。
③ TRANS 文を 1 行に 2 つ記述する時 r;J で区切る。論理記号で変数と文字を結ぶ 時は文字を r ' ' J で囲む。
④ 変数 NA3 が文字型であることを宣言している。
⑤ 日本語ラベルをつけ、かつカテゴリ変数であることを宣言する。カテゴリを区切るの は r / (スラッシュ) J である。
⑥ 変数 AGE を ( )内の数字で区切ってその区間ごとのカテゴリ変数を設定する。
⑦ REPEAT から TERMINATE は FORTRAN の DO ルーフ.と同じように使 われる。繰り返しの数は ATL (68) から ATL (99) までが順に変数 P に読ま れる回数 ( 32 回)である。
⑧ 変数 MI こは変数 P を以下のような変換したものを読み込む。すなわち P が O から 9 ま での数字であれば M=P 、 P が A から Z までの英字であれば M は 10 から 35 までの 数字、それ以外であれば M=50 である。
⑨ 変数 M が小数点以下 O 桁の数字型変数であることを指定する。
⑮ 変数 TESTYA は最近の検査時の年齢である。
⑪ 変数 ATISUM は抗体価の合計である。
⑫ 変数 ATIMEAN は平均抗体価である。
コマンド、サプコマンド、およびオペランドの記述の仕方は、文献 8) を審照されたいが、
特に継続行の記述法は注意が必要で L 継続記号としての r+J 、 「一」の使い分けが重要であ る。詳細は文献 8 ) ANALYST/BASE コマンド説明書の P29‑P35 を参照された
し
、
。
4 . 1 . 2 PFD 日本語エディタの使用法
ANALYST は強力な日本語処理機能をサポートしており、これが他の統計処理ノ守ッケー ジ ( SA S 、 BMDP など)より有利な点である。データ項目のラベルを日本語で記述する場 合は、 PFD の日本語エディタを使用してマクロを作成すればよい。 PFD は使い慣れると大 変便利な U t t Y であるが、最初は大変苦労した。
‑63 ‑
( 1 ) 起動方法
READY状態から "PFD"と入力すると図 6 の rPFDプライマリオプションメニュー」
画面が表示される。そして、番号
rr2 "を選択すると rED1 Tデータセットメニュー」画面 ( 図 7)になる。データセット名を入力し ENTERキーを押せばよい。この場合指定するデ ータセットはあらかじめ割り当てされていなければならない。また日本語データを取り扱うの で日本語データ指定を "YES"としておく必要がある。
ーーーーーーーーーーーー<P F Dプ ラ イ マ
1 )
" プ ソ ョ ン メ ニ コ ー 〉ーーーーーーーーーー ーーーーーーーーー オ7"ション"''''=)ユ ー ザ
10 ‑ F9999一 一 一 一 一 一 ‑ ‑ ‑ ‑ ‑ ‑ ‑ ‑ 一 一 一 一 一 一 一 一 一 ‑ ‑ ‑ ‑ ‑ ‑ ‑ 一 ー
時 刻ー
19:22o
ATTRIBUTES ‑P F D 腐 1 ' 1
及 び 端 末 判1 ' 1
を定花守る。 端A ‑
F6650BROWSE デ ー タ セ ッ ト の 内 容 を 表 不 / 検 索 す る 。
P
F'キー ‑24ED 1 1 ー デ ー タ セ ソ ト の 内 容 を 編 集 す る の カ す 機 梢 宇 あ り
UTILITY 各
m
コ テ ィ リ テ ィ を 実 行 ず る 。FOREGROUNO ‑ コ ン パ イ ル 、 リ ン ク エ デ ィ ッ ト を 行 う コ マ ン ド を 実 行 す る 。 BACKGROUND ‑ コ ン パ イ ル 、 リ ン ク ヱ デ ィ ァ ト を 行 う パ ッ チ ジ ョ ブ を 起 動 す る0
6 TSS ‑
T S S
コ マ ン ド 及 び コ マ ン ド プ ロ ゾ ジ ャ を 実 行 す る 。 TEST メ ニ ュ ー 、 メ ッ セ ー ジ 、 プ ロ グ ラ ム を す ス f ずる。HELP ‑l'
r
[)の岐川}jI)、を).i.' t
、する。EXIT ‑
l' F Dを 斡 r ‑ 4 品。
P ド D終了時、 PF'D終 了 メ ニ ュ を 表 示 す る 場 合 は 、 ENOキ ー を 押 し て Fきい。
図 6
ュ
︐F
'
トリ ︐ ︐
セ
n
﹀タ い 日
一 点
︑ 事
‑ 7
︐
tf o
‑‑29nR
J
9 E A
T‑‑nvA7 I
同μ ﹂''MA D
酒"
' F A D
E
指 セ
﹀
﹀
﹀
﹀
︿を 夕日 目一 一一 日
一ト一
= Z 2 2
一 ッ デ 名 一セリト名 一 タ ラ ク リ 一一プェヲ名名一デイジブプパ一るラロイイン
一 す
D
プラタメ一集
F
一 一 樹
P
〉 ーー"ーー一一ーーー句ーーーーーーーーーーーーー
===>
"'0:::::)〈 符 略 手 る と メ ン パ 名 選 択 リ ス ト 表 示 》
︑
A
﹀︐
一口
日場
︑
b な︑ b
て令'
t
々 c
万 ノ
口
o
夕J y 白 司iJ︿トy セ
タ'
e
ア
の
﹀
﹀
i ‑
‑ s
タ==
以= R
リ名蕃ラト通
プァム
イセ 一
ラタユ
D
一リ
F デポ
Pバ ス ワ ー ド
===>
《パスワ ド 保 護 さ れ て い る 場 合 〉《 何 も 指 定 し な い と タ イ プ 名 が 省 略 値 》 プ ロ フ ィ ル 名 ' 日 時
H本 語 デ ー タ
===>
YES (YES文は問〉図 7
ANALYSTの会話型処理途中において、マクロの編集が必要となった場合は、 ANALY STのモードのままで直接 PFDの日本語エディタを呼び出すことも出来る。捜作方法は次の ようにすればよい。
ANALYST̲ MACRO
~問 ACRO̲ JEDIT マクロ名 ι
<<PFD エディタによる編集を行う。>>
終了 :<PF3> を押下。
MACRO̲ ι 〈空行入力〉
ANALYST CANALYST モードへの復帰〉
〈 ♀ :ENTER キ一入力を示す。〉
‑64 ‑
( 3 ) P F D 日本語エディタの日本語変換機能
PFD日本語エディタの日本語変換機能は CONVERTコマンドによってコントロールで きる。プログラムの英数字の部分を入力する場合は、エディタの編集画面が出てきた時、第 1 行のコマンド入力行に "CONVERT OFF"と入力し、日本語変換機能を一時的に停止
させて英数字を入力すればよい。これをしておかないと、コマンドの英字 (EBCD1 Cコー ド)が無意味なカナや JEF漢字に変換される。すべてのプログラムの英数字の部分を入力し 終ったら、一度 ENTERキーを押したのち、コマンド入力行に "CONVERT ON" と 入力し、日本語変換機能を再開し日本語を入力すればよい。
CONVERT O Nモードでは、以下の 4 つの場合に日本語変換される。
① 行番号が、、、、、となっている新規入力行
② Vn行コマンド又は VV‑VV行コマンドが入力されている行
③ WORK‑TRANSFERコマンドによる場合
④ CHANGEコマンドによる場合
①、②の場合、 BOUNDS行コマンドで表示されている"く"、">"で固まれているカラ ムの範囲が日本語変換される。マクロの作成には③の方法が便利であるので、この方法につい て述べる。④の方法は文献 10 ) の P164‑P1li5 に詳しいので省略する。この方法は閉
じ単語がたくさん出てくる場合に便利である。
< WORK‑TRANSFERコ マ ン ド に よ る 日 本 語 変 換 > 文 献 11))
① コマンド入力行に "WORK"と入力すると、コマンド入力行の下に作業域が確保され る 。
② 作業域に漢字に変換したい文字列をローマ字読みで入力し、 ENTERキーを押すと漢 字に変換される。 ENTERキーを押すごとに、次候補の漢字に変換されていく。
③ 目的の漢字に変換されたら、変換された文字が 1 字であればその文字を"<>"で、 2
文字以上であれば、文字列の最初の文字を"<<"で、最後の文字を">>"で上書き して、カーソルをコマンド入力行に移して "TRANSFER"と入力し ENTERキ ーを押す。
④ 画面の右肩に rTRANSFERコマンド保留中」というメッセージがでるので、カー ソルを目的とする場所に移動し、" A ( a f t e r ) "若しくは" B ( b e f o r e ) " を入力し ENTERキーを押す。すると作業域の文字列が移動する。これを繰り返して、マクロ の日本語部分を入力すればよい。
⑤入力が全て終ったら、 ENDキー (PF 3) を押すと、自動的に SAVEされる。
CANCELコマンドを入力すれば SAVEせずに EDITを終了することができる。
‑65 ‑ ‑ : ‑
( 4 ) ファンクションキー (PF キー)の割り付けと使用方法
PFD のファンクション、コマンド、行コマンドなどのうち頻用するものは、 PF キーに割 り付けておくと、アルファベット入力の手間や、カーソルをコマンド入力行などに動かす手聞 が省けて、大変便利である。 PF キーの割り付けは以下の様に行う。
iPFD プライマリオプションメニュー」画面で r t 0
rrを選択し、次の画面で
rr3 "を選択す ると「ファンクションキ一定義」画面(図 8 ) なる。ここで必要なファンクション、 EDIT /BROWSE のコマンドを定義すればよい。なお、定義するときファンクションは先頭にな にも要らないが、コマンドの場合はコマンドの前 i にこ">
ればいけない。図 8 の例では PF 1 3 に TS ( T e x t S p l i t ) 行コマンド、 PF14 に PRINT ファンクション、 PF 241 こ TRANS コマンドをファンクションキーに定義している。
TRANSFER コマンドを PF キーに割り付けてから、 ( 3 ) の方法による日本語入力は移動 対象文字列を"<<"、">>"で上書きしたあと、カーソルは作業域に置いたままで、 PF キーを押せば、処理してくれるので入力スピードが向上した。
TS 行コマンドは、 SAVE しようとした時、溢れ行と表示されて SAVE できなくなった 時などに、行を分割するコマンドである。
PRINT ファンクションは、 PFD 画面の情報を iPFD リストデータセット」に抽出す る機能がある。 PFD の iPFD 終了メニュー画面 J ( 図 9 ) でリストデータセットの出力先 を指定し、..J "もしくは "L" を入力して PFD を終了すれば、プリンタに出力することが 出来る。この方法を用いて、 PFD の操作方法を記述してある HELP 画面を抽出印刷すれば
PFD の簡易マニュアルを作ることもできる。
一一一一ー一一一一一一一ー〈
フ ァ ン ク シ ョ ン キ の 定 義〉一一一一一一一一一一一‑
F9526/F6650端 末 に お け るPFキ の 機 能 を 定 義 し て
F
さい。rFl ==> HELP PF2 ==> SPLlT PF3 ==> ENO PF4 ==> REτURN PF5 ==> FINO PF6 ==> CHANGE PF7 ==> UP Pf8 ==> OOWN PF9 ==> SWAP PF1D ==> LEFT P
‑ r
l1 02""> RIGHT P!=12 三 雲 >CURSORPF13 ==> :TS PF14 ==> PRINT PF15 ==> ENO PF16 ==> RETURN Pf17 ==> FINO PF18 ==> CHANGE PF19 ==> UP Pf20 ==> OOWN PF21 ..=) SWAP PF22 ==> lEFT PF23 ==> RIGHT PF24 ==> >TRANS
ファンクションの種鮪空白にすれば省時 II ,~の怖がとられます》
HELP SPLIT ENO RETURN FINO CHANGE
UP DOWN SWAP LEFT RIGHT CURSOR
NOP PRINT PRINT‑HI
又は
EDIT/BROWSEの コ マ ン ド を 定 売 し て ド さ い 。>C
阿
0...コマンド (~I: PF10 ==> >CAPS ON : C阿
0... (EDIT行コマント')伊 ' 1 :
PF 11戸 > :
0図 8
pn u pn u
一 一 一 一 一 司 一 一 ー 一 一 ー 一 一 ー r ド l 】 終 「 メ ニ ュ ー 〉 一 一 ー 一 一 一 一 一 ‑ ‑‑ 一 一 一 ー ー ー リ ス ト デ ー タ セ ソ ト の 処 置 を 指 定 し て ド さ b 、 。
+ーーーーーーー ーーーーー一一一一一+一一一ーーーーーーーーー ー‑‑‑‑ー +一一一ーーーーーーーーーーー司 ーーーーーー+
)~ラメタ
1 ログテー タ セ ソ ト
!リスト手.ータセット t +ーーーーーーーーーーーーーーーーーーーーー+ー‑‑回ー一一一一ーーーーーーーーーーーーー+ーーーー‑一一一一ーーーーーーーー ー+
{ 処 置 オ プ シ ョ ン I
===> JI SYSOUT
ク ラ ス
1未 使 用
I==z::>
A1 口ーカ )u フ.リンタ 10
掌 担 雪+ーー一回一一ーーーーーーーーーーーーーーー+ーーーー一一一一一一一一一ーーーーーーーーー+ーーーーー一一一一一ーーーーーーー + 処 罰 1 プ シ ョ ン
2J ‑
SYSOUTに 出 力 し 削 除 す る パ ッ チ ジ ョ ブ を 起 動 4 る。
K‑ 出 力 せ ず に 保 存 す る 。
L‑ ロ ー カ ル プ リ ン タ に 出 J J し削除する。 。 出 力 せ ず に 削 除 す る 。 rFD を 終 了 す る 頃 合 は
ENTERキ ー を 押 し て 下 さ い 。
PFD プ ラ イ マ リ 請 プ シ ョ ン メ ニ ュ ー を 表 示 す る 場 作 は
ENOキ ー を 押 し て F さい o 処 問 1 プ シ ヲ ン が
'J'の場合、
J08文 を 指 定 し 亡 下 さ い 。
===> IIF9999A J08
,
CLASS=A===>
11*
===>
11
奪怠==> 11 ・
図 9
4 . 2 ANALYST データパンクへの登録
図 5 に示したマクロを使って、素データを ANALYST データパンクに登録するジョブ制 御文の例を図 10 に示す。なお、会話型リモートパッチについてはセンタ一発行の「利用の手 引き」第 2 版 TSS 利用編の P38‑P41 を参照されたい。
//F9999A JOB , CLASS=F , REGION=3000K... ・・・……… … . . . . . ・
H・ ‑ ・ ①
I I EXEC ANALYST ………...②
IIMYDATA DD DSN=F9999.ATLAS.DAIA , DISP=SHR … ③
/IBANK DD DSN=F9999.ABANK.DATA , D I S P = S H R . . . . . . . . . . . . . ( 4 ' j
IIMACRO DD DSN=F9999.AMACRO.DATA , DISP=SHR ・ . . . . . . . . る
IISYSIN DD * … ・ ・ m SET MODE(JEF). … ・ … ⑦
SET JCONVERT(N C>……・…・
H・
H・ . . . . . . . . ⑧
DATA …・…・…・・…・…‑…・⑨
INPUT USER (A0 1>……⑪
PUTBKJ31 … ・ ・ . . . ・
H・‑………・⑪
PUT A l . . ・
H・ . . . ・
M・ " ⑫
D P . T A
INPUT USER(A02) ……⑬
PUTBKJ31 PUT A2
DATA
INPUT USER(A33) PUT A33 …
H・
H・ ‑ … . . . . ・
H・ . . ⑪ 1* ………・…・・ ⑪ //
図 10
① JOB 文で課題番号、クラス、リージョンサイズ等を指定する。
② カタログドプロシジャ ANALYST を呼び出す。
‑67 ‑
③ ATLAS. DATA は素データであって dd 名 iMYDATAJ に割り付ける。
④ BANK. DATA はデータパンクで dd 名 iBANKJ に割り付ける。
⑤ AMACRO. DATA はマクロライブラリで dd 名 iMACROJ に割り付ける。
⑥ 入力データがこのあとに続くことを示す。
⑦ ANALYST の処理で環境設定で日本語処理を行うことを宣言する。
@標準日本語変換キーを設定する。
⑨素データをデータパンクに入力するコマンド。
⑩ DATA コマンドのサブコマンドで、入力データの媒体やファイルの種類を指定する。
この場合はユーザファイルの F9999. ATLAS. DATA のメンバ名 AOl から の入力することを示している。
⑪ マクロライブラリ F9999. AMACRO. DATA のメンバ PUTBKJ31 とい うマクロを呼び出し、実行させる。 PUTBKJ31 の内容は図 5 を参照。マクロが呼 び出されると、マクロの一行自の VAR . . .は、前行の INPUT USER に続く
DATA コマンドのサブコマンドとして扱われる。
⑫ ANALYST データパンク F9999. BAN K . DATA にメンパ名 Al として登 録する。但し、このジョブ制御文は AN.ALYST データパンクがあらかじめ作成して あったものとして説明している。
⑬ 今 度 は F9999. ATLAS. DATA のメンバー A02 から入力することを示す。
⑭ この時点でパンク F9999. BBANK. DATA には AOl 、 A02 、 . . . . .
A33 の 33 個のメンパができていることになる。これらを後に述べる COMBINE コマン ドで連結する。
⑮入力データの終わりを示す。
5 . データの連結 (COMB1 NE 、 JOIN コマンド)
ANALYST ではデーターパンクのメンバをマニュアルでは「データ」と呼んでいる。
ANALYST では、データパンク内のデータを連結や併合して、新しいデータを作成する ことができ、データを連結するには COMBAIN コマンド、キー付データの併合には
JOIN コマンドを用いればよい。
5.1 COMBINE コマンド【 Stepill‑l 】
このコマンドは、同じ変数を持ったケースを順次、加えていく働きをする。オペランドにデ ータ名を指定するが、一度にいくつ指定しでもよい。その概念図を図 11 に示す。
‑68‑
変数 AIA2A3
戸
ケース
lケース 2
連 結 入 力 さ れ た 新 デ ー タ
.
連 結.
qu 1B IB li o‑
‑l jq u1 Il li t‑
A ﹂
‑一 一
A ‑
一
生l
‑ l
‑ 2
‑ 2
‑
‑
mu 一 x 一
+ A
一 x 一+
S A
‑
‑
司A
‑
‑
Ar111111'LAr‑111111l
1 2
川
1 2 d
ス ス ス ス ス ス‑ ‑
‑ ‑
‑ ‑
ケ ケ ケ ケ ケ ケ
ケース
N内︽u
・
t︐
a B EB E E
‑ ‑
︐
. ︐
B B E E
‑ A
一
‑
B 2
‑ 9
‑
↓A
一 x 一
ー :
Alli‑‑
卜
‑L n4 州 礼 町
ス ス ス
一 一
‑
ケ ケ ケ
( N = n l + n 2 + n 3 + ・ ・ ・ ・ + n 9 )
図 11
データ連結をパッチ処理で行うジョブ制御文の例を限 12 に示す。
③
・ + + "
4 ︐
auAU
n U 4
ム 句 ︐
﹄
H
4 A A H A H A
円7 5 3
0 ' 4
ム コ
﹄
﹃
d
A
円A
門RHAH
IIF9999A JOB , CLASS=F , RE6ION=3000K 11 EXEC ANALYST
//BANK DD DSN=F9999.ABANK.DATA , DISP=SHR I/MACRO DD DSN=F9999.AMACRO.DATA , DISP=SHR IISYSIN DD *
SET I 可 ODE(JEF) … ・ . . . ・
H・‑…
H・
H・‑………① SET JCONVERT(N C>……...・
H・ . . . . . ・
H・‑…② COMBINE Al A2 A3 A4 A5 A6 A7 A8
All A12 A13 A14 A15 A16 A19 A20 A21 A22 A23 A24 A27 A28 A29 A30 A31 A32
S 0 R T A S E N D ( H 6 ) . . . ・
H・ ‑ … . . . . . . . . . . . ・
H・‑……③ PUT ALLDATA … . . . . ・
H・ ‑ … . . . . ・
H・ . . . . . ・
H・ . . . . . ・
H・ ‑ ⑤ 1*
11
図 12
ANALYSTの処理で表示モードを JEFモードとする。処理結果を日本語中心に表
①
示させる。
標準日本語変換キーを設定する。
②
2 のジョブ制御文⑬で作成したデータ Al から COMBINE コマンドで前節 4 .
③
A33 までをケース方向に連結する。
連結されたデータを H6 という項目で昇順に並びかえる。
ALLDATAのメンバ名で、データパンクに登録する。
一行 9 ‑
④
⑤
5.2 JOIN コマンド【 StepIII‑2 】
このコマンドは、データパンクの 2 つのデータを、両者に共通に存在する変数をキーとして、
対応するレコードを連結するものである。この時、一方にない変数に対しては欠側値が埋めら れる。その概念図を図 13 に示す。なお、キー変数が文字型のときは、そのキーの降順に、数 字型のときは昇順にデータを並びかえる(ソート)必要がある。
データ 1 データ 2
A B C A D
A キー変数
キー付併合 . .
A
BC
Dケース 1
1.0 B I C I 01 ケース 2 2 . 0
持02 ケース 3 3 . 0 B 2 C 2 ケース 4 4 . 0
す03 ケース 5 5 . 0 B 3 C 3
注)本印は欠測値を示す。
図 13
データのキー付併合をノも y チ処理で行うジョブ制御文の例を図 14 に示す。
IIF9999A JOB , CLASS=F , REGION=3000K II EXEC ANALYST
IIANALYST.ANADATAl DD UNIT=WORK , SPACE=(6144 , (200 , 100)) … … ① IIANALYST.ANADATA2 DD UNIT=WORK , SPACE=(6144 , (200 , 100)) ・…‑・・②
IIBANK DD DSN=F9999.ABANK.DATA , DISP=SHR IIMACRO DD DSN=F9999.A
例ACRO.DATA , DISP=SHR
IISYSIN DD *
GET ALL 州 E1 B O . . . . . . . ・
H・ ‑ ・ …
H・
H・ . . … ・ ・ …
H・
H・ ‑ ・ ・ …
H・
H・‑…③ SORT ASEND(H6) ・・・…・" ・ … . . . . . . . . . . . . … ・ ・ ・ ・ ・ … ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ④ PUT MEIBOSOT ・ ・ ・ ・
u・ ・ ・ … ・ ・ ・ ・ ・ ・ … ・ ・ … ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ … … ‑ … . . . . ⑤ GET ALLDATA ……・・ ……・…・…....・
H・ ‑ … … … ・⑥ SORT ASEND(H6) ・ ・……・…・…...…...・ ・
H・ . . . . . ・
H・ . . . . ⑦ PUT DATASOT …‑…・…一……・……
H・
H・ . . . . . . . . . . . . . . ・
H・ . . ⑧ JOIN MEIBOSOT DATASOT H6 … … … ‑ … … ー … ⑨ PUT JOINl …ー・・……・……....・
H・..…・……・…....・
H・‑⑪ 1*
1/
図 14
‑70 ‑
① カタログドプロシジャ ANALYST のステップ名 ANADATA1 のWORK 領域が 不足のため、置き換え処理をする。
② 同様にステップ名 ANADATA2 の置き換え処理をした。①と②の処置は大量データ を処理する場合、指定を必要とすることがある。
③ パンクよりデータ名 ALLMEIBO を呼び出す。
④ 変数名 H6 で昇順に並びかえる。
⑤ 並びかえた結果のデータをメンバ名 MEIBOSOT としてパンクに登録する。
⑥ パンクよりデータ名 ALLDATA を呼び出す。
⑦ 変 数 H6 で昇順に並びかえる。
⑧ メンバ名 DATASOT としてパンクに登録する。
⑨ H6 をキ一項目としてMEIBOSOT とDATASOT を併合する。
⑬ 併合されたデータをメンバ名 JOIN1 として登録する。
今回の Study ではキ一変数として①カルテ番号、②生年月日として、 F i 1 e ①と F i 1 e ②の連結を行った。
カルテ番号は、 Fi 1 e ②の全ケースについて登録されている。 F i 1 e ①については、パ ソコンでこのファイルを作成した時に、一部のケースには F i 1 e ②に対応するカルテ番号が 入力されている。
① まず、このカルテ番号をキ一変数として Fi 1 e ①と Fi 1 e ②の re C 0 r d Iinkage をした。
② ついで、カルテ番号で Iinkage されなかったものについて生年月日で
1 inkage した。生年月日で 1inkage すると、婚姻などで姓が変わった人も 1 inkage できる。
マニュアルによれば、キー変数は文字型でも数値型でも良いことになっている。また、文字 型は 4 バイトという制限があるが、数字型については制限はない様である。
しかし、実際の処理の途中で次のような問題が発生した。生年月日をキ一項目として、
JOIN する時、生年月日を(西暦年) x 10000+ (月日)という 8 バイトの整数で JOIN コマンドを実行すると、下 l 桁が評価されず、結局整数 7 バイトとして、 JOIN したため、
うまくいかなかった。そこで、対処として、生年月日を(西暦年一 1 0 0 0 ) X 10000+ (月日) として生年月日を評価して、生年月日の西暦の千の位の数字を無視した整数 7 バイトとして
JOIN することで、うまく、ファイルの連結ができた。キー変数に 1 つの変数しか指定でき ないので氏名によって 1
inkage することはできないtJ~, 極めて有用なコマンドであ忍との感を強くした。
ヴi
6 . 統計処理と出力 【 Step ! V 】
6 . 1 ANALYST の会話型処理と基本統計量の算出 (STAT コマンド)
ANALYST は会話型処理でもパッチ処理でも利用できる。オペランドが長い場合や漢字 を使ったりする場合はパッチの方が便利であるが、簡単なコマンドによる処理や、テ'ィスプレ イにグラフなどを出力する場合には会話型の方が便利な場合もある。
本節では TSS の READY モードからの ANALYST の起動と STAT コマンドの使用 法について述べる。
まず TSS セションそ開設する。
LOGON TSS F9999 S(2048)
~PASSWORD ?
パスワードの入力 G
<<システムからのメッセージが表示される。>>
READY (これで準備完了〉
%ANALYST BANK(ABANK.DATA) 阿 ACRO(AMACRO.DATA)ι ANALYST DATABANK ・・・・・・・・・・・・ ABANK.DATA ANALYST MACRO LIBRARY. • • • • • • • A 阿 ACRO.DATA ANALYST START V10/L10 01/14/86 14:15:16
〈 ♀ :ENTER キー入力を示す。〉
システムからメッセージが表示され、端末は ANALYST モードになる。このときモード 表示は rANALYST ー」である。
まず、 ANALYST データノインク F9999. ABANK. DATA から、データ ALLDATA をとりだす。
ANALYST GET ALLDATA
~DATA(ALLDATA) HAS BEEN GOT FROM DATA BANK ANALYST
〈 品 :ENTER キー入力を示す。〉
これで ANALYST を使う準備ができ、 STAT コマンドで基本的な統計量の計算を行う ことができる。
STAT コマンドで、計算できる統計量としては、和、平均、最小値、最大値、レンジ、標
‑72 ‑
準偏差、分散、標準誤差、尖度、査度、幾何平均、調和平均などである。
項目 AGE についてすべての統計量を計算し、出力結果を図 1 5 に示す。
ANALYST̲ STAT AGE ι STAT̲ OPTION ALL
~STAT̲ ~
〈 ι:ENTER キー入力を示す。〉
WHOLE CASES VALID CASES SUM
MEAN MINIMUM MAXIMUM RANGE
STD. DEVIATION VARIANCE
STD. ERROR KURTOSIS SKEWNESS
POSITIVE CASES GEOMETRIC MEAN HAR 阿 ONIC MEAN
車 掌 京
AGE
3130 3130 191600.00
6 1. 21 10.00 119.00 109.00 17.13 293.43 0.31 2.93 0.01 3130
58.44 55.29
図 15
WHOLE CASES: 総ケース数 VALID CASES: 有効ケース数 SUM: 平 1 1
MEAN: 'fí.~ヨ
MINI 門 U 門:波小値 MAXIMUM: 履大値 RANGE: レンゾ
STD.DEVIATION: 槻 t . I U { 間差
VARIANCE: 練'l~ lU差KURTOSIS: 尖度 SKEWNESS: 涯皮
POSITIVE CASES: 正の値をもっケース数 GEOMETORIC MEAN: 幾何平均
HARMONIC MEAN: 制和司 I I 句
なお、出力結果をプリンタに出力したい場合はハードコピーでも良いが、 CHGLIST コ マンドで出力先をディスプレイからプリンタに切り替えて出力すればよい。出力を日本語表示 とするため JEF モードにし、プリンタは NLP と指定すればセンター 1 階のラインプリンタ 装置が出力先となる。その方法を以下に示し、出力結果を図 16 に示す。
ANALIST̲SET MODE(JEF) PR(NLP)ι ANALIST̲CHGLIST
~{出力が画面からプリンタに切り替えられたというメッセージが表示される。}
ANALIST̲STAT ADATA ATCODE
~STAT̲OPT ALL
~STAT̲ι
( { j . :ENTER キー入力を示す。〉
内句