NDBS 23


NDBS No.23 主表をクループ化して分類 c:\grouping.exe 
 データベースを検索してクループ化し、CSV形式のファイルに出力


NDBS23-1 概要
 固定長テキストファイルを定められたキーでグループ別に分類して、
   それぞれ別個の CSVファイルか、固定長テキストファイルを作成します。
   適用情報記述ファイル groupfom.txt の指示により行います。
   絞り込みをして特定のレコードのみをグループ化の対象にできます。
   グループ化数は 20 までです


NDBS23-2 準備とプログラムの起動 
 (1) 準備
  適用情報を記述したテキストファイル groupfom.txt が作業場所の form の下に必要です
    適用情報ファイル名が異なる場合はキーから入力することができます。

  ここでは住所録の主表 D:\tuser\ndbtrain\data\adrsdata の中の、
    女性だけのレコードについて、体重の値を重さにより3っのグループに分け、
    CSV ファイルに出力させてみます。
  教科書例題の住所録の主表では
    性別は 45 バイト目から 1 バイトで、男性は 1 で、女性は 2 で記録されています。
    体重は 177 バイト目から 5 バイトで記録されています。
    作業場所は D:\tuser\ndbtrain とします。

  適用情報を記述したテキストファイル groupfom.txt の作成
    このファイルの名称は別の名前でも構いませんが MS-DOS 形式でなければなりません
      ファイル名は 8 バイト以下、拡張子は 3 バイト以下にして下さい。
      ファイル名は半角英数文字にして下さい。
  このファイルの作成はテキストエディタで次のように記述します。
  このファイルは既に作業場所の form の下に保存されており、下記のように記述されています。
  適用情報を変えたい場合はこのファイルを叩き台に訂正して下さい。


  適用情報記述ファイル groupfom.txt の記述内容
       NDBデモ用個人住所録から体重区分でグループ化
       主データファイルベース名         , data\adrsdata
       主データレコードサイズ バイト       , 320
       出力グループファイル名 Max 6 bytes  , wgtgrp
       区切りコード 0 なし 1 空白 2 カンマ    , 2
       レコード番号付加 0 なし あり 1       , 1
       A:
       グループ数(最大 20) , 3
       取出位置、長、引数(文字列は""で囲む)をグループ数だけ記述
       グループ1  体重 ,177 ,5 ,30 , 49
       グループ2  体重 ,177 ,5 ,50 , 69
       グループ3  体重 ,177 ,5 ,70 ,220
       B:
       条件有無 1 or 0 , 1
       判定式 要素記号 a b c d e f g h i k 論理記号 * and + or
       a
       要素数(最大 10 ) , 1
       要素記号,取出位置,長,値を記述
       a, 45, 1, 2, 2
       C:
       出力グループファイルへの出力項目数, 5
       出力項目名、取り出し位置、バイト数
       氏 名 , 9, 14
       年 齢 , 42, 3
       性 別 , 45, 1
       身 長 , 125, 5
       体 重 , 177, 5

  記述上の注意
      空色の部分だけを訂正して下さい。
      適用情報記述ファイルは改行されたデータから成ります。 余分な改行をしないで下さい。
      文字列の引数と出力項目名以外は 必ず半角文字で入力して下さい。
      文字列の引数は 半角の " で囲んで下さい。
      絞り込み条件 の記述方法は NDBS 18 絞込・任意項目出力 を参照して下さい。


 (2) 起動
  実行プログラムは c:\ndbs\grouping.exe です。
  作業場所に メニューショートカット NDBS3 を作成して、これをダブルクリックし、そのメニュー画面で、
     23 RF をクループ化して分類出力 をダブルクリックして下さい。。
    メニューの組み込み方法は、 NDBS 38 業務実行メニュー を参照して下さい。
  プログラム grouping.exe form\groupfom.txt を引数として呼び出され、
    NDBS23-1図 に示す MS-DOS の黒い画面が現れます。

NDBS23-1図
画像ファイル  が見つかりません




NDBS23-3 使用方法

 NDB Grouping のメッセージが表示されます。
   適用情報記述ファイル名は form\groupfom.txt です。
     このファイル名で良いですか。 【はい】 --> 'Enter'   【いいえ】 --> '0 Enter'
     のメッセージに対しては Enter と入力します。
   適用情報記述ファイルのパス名が form\groupfom.txt と異なる場合は '0 Enter' と入力してから、
     実際の適用情報記述ファイルのパス名を入力します。
   適用情報が NDBS23-1図 に示すように表示されます。
   上記の条件でクループ化を行う 'Return' 中止する '0 Enter'  のメッセージに対しては
     Enter と入力します。
   グループファイル作成中  のメッセージに続いて、
     NDBS23-1図 の後半に示すようなグループ化した結果を示すメッセージが表示されます。
     グループファイル作成作業終了 のメッセージに対して Enter と入力します。
   終了しても画面の下のタスクバーに MS-DOS の窓が残る場合があります。
     このよう場合は強制的に終了させて下さい。
   グループ化されたファイルの一つ wgtgrp01.csv を見ますと次のような結果になりました
     体重が 30 kg から 49 kg (正確には 50 kg 未満)の人の 13 レコードが出力されたことがわかります。
   CSVファイルなので、次のプログラムでhtml文書にするとか、表計算ソフトに読み込んで利用してください。
        NDBS 21 CSV から html 文書を出力
   なお、 wgtgrp00.csv には各グループに所属した全データが出力されます。


   出力例
        1,?? ? , 18,2,161.1,48 , 1
        58,吉田 由?子 , 69,2,144.3, 48.0, 1
        64,伊藤 和?  , 69,2,144.3, 48.0, 1
        66,加藤 淳?  , 68,2,154.7,48 , 1
        71,三田 恵?  , 65,2,141.3, 42.1, 1
        76,岡江 久?子 , 69,2,144.3, 48.0, 1
        79,工藤 喜?子 , 59,2,153.2, 48.0, 1
        92,水谷 洋?  , 24,2,152.8, 45.0, 1
       113,萩野 知?  , 59,2,154.7, 47.8, 1
       143,田口 玲?  , 64,2,141.7, 42.0, 1
       145,佐藤 久?子 , 68,2,154.7,42 , 1
       180,大島 聡?  , 29,2,151.9, 47.9, 1
       197,渡邊 絵?  , 40,2,151.2, 40.8, 1


 RF. 形式ファイルに出力させる場合
  上記の例は CSV形式 で出力しましたが、 固定長RF. すなわち NDBS の主表 の形式で出力する場合は、
    適用情報記述ファイル groupfom.txt 4 行目を次のようにします。
      区切りコード 0 なし 1 空白 2 カンマ , 0
    または
      区切りコード 0 なし 1 空白 2 カンマ , 1
  すなわち区切りコードを 0 1 にしておくと 固定長RF. 形式で出力します。
  レコード長は各出力項目長を自動的に加算し、
    その値を超える数値を入力させメッセージが現れますので、
    その値を超えて、かつ 40, 80, 160 など、切りの良い数値を入力して下さい。