■Windows版Perlの細道・けもの道

■ナビゲータ

[南北館(最初のメニュー)]

  1. [Windows版Perlの細道・けもの道]
    1. [1.準備編]
    2. [2.基本編]
      1. [2-1.基本処理]
      2. [2-2.キーブレイク処理]
      3. [2-3.マッチング(照合)処理]
        1. [2-3-1.マッチング(照合)処理の概要]
        2. [2-3-2.1対1マッチング(照合)]
        3. [2-3-3.マージ処理]
        4. [2-3-4.1対nマッチング(照合)]
        5. [2-3-5.ハッシュを使った1対1マッチング(照合)]
        6. [2-3-6.ハッシュを使ったマージ処理]
        7. [2-3-7.ハッシュを使った1対nマッチング(照合)]
      4. [2-4.ソート処理]
      5. [2-5.パターンマッチ処理]
    3. [3.応用編]
    4. [スクリプトと入力データのサンプル]

2.基本編

2-3.マッチング(照合)処理

2-3-1.マッチング(照合)処理の概要

マッチング(照合)処理は、キーとして指定した項目を元に2つのファイルの照合を行うプログラムです。マッチング(照合)処理が実際にどのように行われているか、サンプルを示しました。例示した2つの入力ファイルを見ながら、下記の図を見てください。

図では、5つの列があり、左端の列が繰り返し処理のなかの繰り返し回数を表しています。左から2列目と3列目が「マスタファイル」のキーと「トランザクションファイル」のキーを例示しています。それぞれの大小関係によって、4列目の出力するファイルや5列目の出力内容が変わっていることに注目してください。

キーの大小関係を比較するだけで2つのファイルの照合ができていることがわかると思いますが、特に2列目の「マスタファイル」の最後の行が「最大値」になっていることが重要なポイントです。入力データがなくなった場合、比較するキー項目に最大値をセットしておくことで、マッチング(照合)処理が破綻することなく実行できます。

【入力データ:マスタファイル(master.txt)】
01,11111   
02,22222
03,33333
05,44444
07,77777
08,88888
09,99999
   
【入力データ:トランザクションファイル(transaction.txt)】
01,100   
02,200
04,400
06,600
07,700
08,800
09,900
10,1000
   
【マッチング(照合)処理の入力データと出力データの対応関係】
マッチング(照合)処理の入力データと出力データの対応関係



Copyright (c) 2004-2013 Mitsuo Minagawa, All rights reserved.