実践!マージとソート〔重複削除と並び替え〕

OrangeLab. 運営チーム
作成日時: - 更新日時:
Avatar

使用ソフトウェア:DataMagic Server for Windows Ver.3.0.0
今回は「DataMagic」を利用したデータファイルの「マージ」と「ソート」についてご説明します。
※Ver.2.2.2のDataMagicについては、次の記事をご参照ください。
 (記事内容に大きな差異はありません。
    Ver.3.0.0のインタフェースに沿った操作手順とスクリーンショットにて、再度ご紹介しています。)
 DataMagic 実践!マージとソート〔重複削除と並び替え〕 (Ver.2.2.2)

はじめに

HULFT OrangeLab.運営チームの佐々木です。

今回用意したサンプルデータは、名簿をイメージしたデータです。
別々の店舗や担当者が管理してる3つのデータを統合し、重複した顧客IDを取り除き、IDでソートしたものを結果として出力します。
商品管理や、費用管理などでもデータの内容や、規模は違いますが似たようなケースはあると思います。 

下記イメージのようにCSVファイルの加工を行います。



準備

まずは、変換元となるCSVのデータを用意します。

サンプルデータ[CSV形式]

格納先は任意ではありますが、今回は以下のフォルダを作成してください。
サンプルデータ格納先
C:\work\SAMPLE\inputdata\
出力データ格納先
C:\work\SAMPLE\outputdata\
準備として「DataMagic」を起動し、任意で作成した接続先に接続してください。

手順

データ変換に必要な定義情報を作成します。
データ変換の流れは大きく分けると以下になります。
  1. 入力ファイル情報の設定
  2. 出力ファイル情報の設定
  3. データ加工情報の設定

Step01

まずは、「1.入力ファイル情報の設定」を行いましょう。

スタートページから「CSV」を選択します。

Step02

操作メニューから「新規作成」をクリックし、CSV情報詳細画面を起動します。
画面が起動したら、下記画面を参考に「ID」と項目情報を設定し、「保存」をクリックして登録します。



項目名 説明
囲み文字 文字列データに付加されている囲み文字を指定します。
今回は【0x00】を設定します。
ID 登録したCSV情報を識別するためのIDを指定します。
今回はIDを【SAMPLE_MARGE_IN】とします。

これで、「1.入力ファイル情報の設定」は完了です。

Step03

次に「2.出力ファイル情報の設定」を行います。

出力定義を作成しますが、入力定義と内容が同じため、今回もコピーを使い作成します。
入力ファイル定義を選択し、操作メニューの「コピー」をクリック後、コピー先IDとして出力ファイル定義名を入力します。



項目名 説明
コピー先ID コピー先のCSV情報を識別するためのIDを指定します。
今回はIDを【SAMPLE_MARGE_OUT】とします。

これで、「2.出力ファイル情報の設定」は完了です。

Step04

次に「3.データ加工情報の設定」を行います。 

スタートページから「データ加工」を選択します。

Step05

操作メニューから「新規作成」をクリックし、データ加工情報設定画面を起動したら、入力ファイルの設定を行います。

オブジェクトパレットから「CSV」を選択し、入力ファイルエリアへドロップします。
ドロップ後、「CSV」アイコンをダブルクリックします。

Step06

入力設定画面のレイアウトタブを設定します。



項目名 説明
ID 入力ファイルのIDを設定します。
Step02で作成した【SAMPLE_MARGE_IN】を設定します。
ファイル名 入力ファイルを指定します。
事前準備で用意した【C:\work\SAMPLE\inputdata\SAMPLE_名簿A_IN】を設定します。
項目数のチェックを行う 項目数のチェックを行うか否か指定します。
今回はチェックボックスをONにします。
ヘッダレコード設定 入力ファイルのヘッダレコード行数を設定します。
今回はチェックボックスをONにし、ヘッダレコードを【1】に設定します。
入力0レコードの扱い 入力データが0レコードだった場合の動作を指定します。
今回は【正常】を設定します。
※ヘッダレコードを設定しない場合、データの編集時に入力データのタイトル行が原因で型不一致となります。

Step07

入力設定画面のレイアウトタブを設定します。
顧客IDでソートしますので、「入力データをソートする」のチェックボックスをONにし、顧客IDを選択します。
※「行追加」をクリックすることで、No.1の行が追加されます。


Step08

入力設定画面のマージタブを設定します。

以下の手順に従い、マージするファイルを追加し、マージキーと重複優先キーを設定します。
  1. 追加ファイルが2つあるので、「追加」を2回クリックします。
  2. マージファイルが2つ追加されますので、それぞれ次の入力ファイル名を割り当てます。
     ●マージファイル1:「C:\work\SAMPLE\inputdata\SAMPLE_名簿B_IN」
     ●マージファイル2:「C:\work\SAMPLE\inputdata\SAMPLE_名簿C_IN」
  3. 「重複行を削除する」のチェックボックスをONにします。
    顧客IDでマージしますので、「マージキー」と「重複優先キー」にそれぞれ顧客IDを選択します。
    ※「行追加」をクリックすることで、No.1の行が追加されます。
入力データの定義情報設定が終わりましたら、「OK」ボタンをクリックします。



これで、入力ファイルの設定は完了です。

Step09

出力ファイルの設定を行います。
 
オブジェクトパレットから「CSV」を選択し、出力ファイルエリアへドロップします。
ドロップ後、「CSV」アイコンをダブルクリックします。

Step10

出力設定画面のレイアウトタブを設定します。



項目名 説明
ID 出力ファイルのIDを設定します。
Step03で作成した【SAMPLE_MARGE_OUT】を設定します。
出力先指定 出力先の指定方法を選択します。今回は、"固定値"を指定します。
ファイル名には、出力ファイルの絶対パスまたは相対パスで設定します。
今回、出力ファイル名は【C:\work\SAMPLE\outputdata\MARGE_out】とします。

これで、出力ファイルの設定は完了です。

Step11

入力ファイル・出力ファイルの項目間のマッピング処理を定義します。

抽出条件と出力条件を結び、マッピングアイコンをダブルクリックします。

Step12

メニューから「同一項目をマッピング」を選択します。
この操作により、入力項目と出力項目がマッピング線で結ばれます。

Step13

任意の「ID」を入力し、データ加工情報設定画面の「適用」をクリックします。



項目名 説明
ID データ加工情報を識別するためのIDを指定します。
今回はIDを【SAMPLE_MARGE】とします。

これで、「3.データ加工情報の設定」は完了です。

Step14

それでは実行してみましょう。データ加工情報設定画面上部の「実行」をクリックし、データ加工実行画面を起動します。
画面が起動したら、そのまま「実行」ボタンをクリックします。

Step15

出力データ格納先として指定した「C:\work\SAMPLE\outputdata\」を確認してください。
「MARGE_out」というファイルが出力されているので、メモ帳などで中身を参照し、マージ結果を確認してください。



重複していたIDは排除されているのがわかると思います。

さいごに

今回のファイルマージですが、この機能はデータファイルの統合時などに役立てることができます。
また対象のファイルが1つだけであっても同様に動作しますので、エクセルなどでよく行う重複データを削除し、リストを作るということもできます。
シンプルですが汎用性は高いので応用編などで運用を考慮したケースを紹介できればと思います。

サンプルデータ

サンプルデータはzip形式での提供となります。解凍してからご利用ください。

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています

コメント