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

■ナビゲータ

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

  1. [Windows版Rubyの細道・けもの道]
    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.