0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【DataMagic】データ加工やってみた!入力データをマッチングしてみた

Last updated at Posted at 2025-11-21

はじめに

DataMagic は、色々な機能を備えています。

機能・概要一覧
機能  概要
マッチング 入力ファイルのレコードと、共通する項目名をキーにした複数のマッチングファイルのレコードを結合し、一つのデータセットとして出力する
マージ 入力ファイルとマージファイルを連結して、入力マージデータとして取り扱えます。入力マージデータに対しては、データ加工前に重複行の削除やソートする
出力先振り分け 抽出条件に沿って、出力ファイルを振り分ける
数値項目演算 出力項目が数値タイプの場合、入力項目同士や任意の値との演算式を指定し、その演算結果を出力項目の値として出力する
データ抽出 入力データから、指定した条件に合致したデータのみを抽出する
項目入替 入力データの項目を入れ替えて、別のフォーマットで出力する
項目結合 複数の項目を結合して、1つの項目として出力する
項目分割 単一項目を分割して、複数の項目として出力する
全角半角 「カナ」「英数字」および「記号」を、半角から全角、全角から半角へ変換する
出力フォーマット指定 日付型、数字文字列型の入力項目を出力する際に、フォーマットを指定する
入力ソート 入力ファイルの形式がCSV、フォーマット、Excelの場合は、データ加工の前にソートする
属性変換 入力データを出力データに変換する際に、数値タイプを任意の数値タイプへ変換する
日付項目演算 日付データに対して、演算や西暦⇔和暦の変換を指定し、その結果を出力項目の値として出力する
関数 入力項目の値を関数で処理し、その処理結果を出力項目の値として出力する
マッピング 入力ファイルから出力ファイルへのデータの流れや加工、変換ルールを定義し、異なるデータ形式間での項目の対応関係を設定する
動的指定 データ加工の実行時にコマンドの引数に指定した数値や文字列を、条件や出力情報に使用できる
ユーザ出口変換 データを加工するときに、項目単位で独自の変換を設定するために、ユーザ出口プログラムを独自に作成できる
データ挿入 レコード内の任意の項目にユーザ指定の任意の値を挿入できる
仕様書出力 データ加工の処理と設定内容を仕様書としてExcelファイルに出力できる
チュートリアル データ加工の設定を対話的に実行して、DataMagicの基本的な操作方法を習得できる
カスタムエラー カスタムエラー条件を使用すると、データの形式は問題ないが、意図しないデータ(例 別の事業所のデータ)を検出したときにデータ加工をエラーにできる
ステップ実行 入力ファイルの読み込み、抽出、およびデータ変換時に発生した、設定とデータの整合性が取れていないことに起因するエラー(システムエラーや設定値不正ではないもの)をスキップする
コード変換 1バイトコード間、または2バイトコード間で、文字コードを変換する

今回の課題

【DataMagic】データ加工やってみた!データ抽出〔変数を添えて〕 では〝品目〟のコードテーブル。【DataMagic】データ加工やってみた!入力データをマージしてみた では〝産地〟のコードテーブルを作ってみたので、これらのコードテーブルと、日別調査データ(名称なし)ファイルをマッチングさせて、日別調査データ(名称あり)ファイルを作ってみます。

入力データ

まず、今回の入力ファイル「日別調査データ(名称なし)」は、どこにも無いので自力で作成する必要があります。

【DataMagic】データ加工やってみた!データ抽出〔変数を添えて〕 で使用した主要卸売市場計データをインプットにして、以下のようにマッピング情報設定をすれば作成できます。

Qiita_014-01.jpg

なお、入力データは〝囲み文字なし〟なので、出力設定でも〝囲み文字なし〟になるように!

出力結果はこんな感じ :arrow_heading_down: になっていれば :ok_hand: です。

Qiita_014-03.jpg

レイアウト情報

入力ファイルとマッチングファイルは任意で。ちなみに私はID省略で。

出力ファイルは、【DataMagic】データ加工やってみた!データ抽出〔変数を添えて〕 の入力設定で使用したCSVレイアウトのIDと同じになります。

データ加工

1.入力ファイルエリアの編集

まず、入力ファイル は上記の「入力データ」で加工した出力結果を指定し、下図のようにレイアウトを設定します(他タブの値は初期値で)。

Qiita_014-10.jpg


次に、入力ファイルのアイコンに マッチングするファイル のアイコンを連結させます。
まずは下図のように、入力ファイルアイコンを右クリックして、品目のコードテーブルと産地のコードテーブル用にCSVのアイコンを2つ追加してください。

Qiita_014-02.jpg

続いて、マッチングファイルの設定をします。

説明の便宜上、マッチング(1)では〝品目〟。マッチング(2)では〝産地〟を設定します。

マッチングアイコンをダブルクリックして「マッチング設定」画面を開きます。

なお、以下で説明する項目以外の設定は、初期値を採用します。

レイアウト

ID:
「省略」にチェック :heavy_check_mark:

ファイル名:
・ マッチング(1)の場合 = 品目のコードテーブルを指定
・ マッチング(2)の場合 = 産地のコードテーブルを指定

ヘッダレコード設定:
チェック :heavy_check_mark: を入れて、1 ~ 1 行に設定
なお、私のコードテーブルは1行目がヘッダ行ですが、1行目からデータの場合は ヘッダレコード設定 のチェックは外してください。

Qiita_014-04.jpg

キー設定

キーが複数あった場合:
エラーにしない

キーが無かった場合:
エラーにしない

Qiita_014-05.jpg

マッチング条件設定

マッチング設定が終わったら、次はマッチングの条件を設定します。

:one: 入力ファイルのアイコンとマッチングファイルのアイコンをつなぐ線上にある 丸印 をクリックしてマッチング条件設定画面を表示します。

:two: 追加 をクリックして条件設定詳細画面を開き、以下の条件を設定します。

・マッチング(1)の場合 = 品目コードが等しい
入力ファイルの項目No.5 とマッチングファイルの項目No.1 が等しい
・マッチング(2)の場合 = 産地コードが等しい
入力ファイルの項目No.6 とマッチングファイルの項目No.1 が等しい

Qiita_014-06.jpg

上記マッチング(1)(2)の設定を済ませたら、:three: のアイコンをダブルクリック(もしくはアイコンを選択して プレビュー をクリック)してみてください。

Qiita_014-07.jpg

な、な、なんと:bangbang:
「この設定だとこんな感じにマッチングされるよ」って、教えてくれるんです。

なお、この図では項目No.と項目名が分かるように「ヘッダレコード設定」のチェックを一時的に外しています。 「ヘッダレコード設定」のチェックが付いている場合、このプレビューで1行目に項目名の表示はありません。

2.出力ファイルエリアの編集

出力ファイルはCSV形式で出力するので、左端のオブジェクトパレットから CSV のアイコンを選んで出力ファイルエリアの中にドラッグ&ドロップ。
ドロップしたアイコンをダブルクリックして「出力設定」画面を開きます。

なお、以下で説明する項目以外の設定は、初期値を採用します。

レイアウト

ID:

【DataMagic】データ加工やってみた!データ抽出〔変数を添えて〕 の入力設定で使用したCSVレイアウトのIDを指定

ファイル名:
マッチング結果を出力するファイル名を指定

タイトル行を出力する:
チェック :heavy_check_mark: を入れる

3.抽出条件の設定

初期設定のまま使用

4.関係線の設定1〔抽出条件と出力ファイル〕

抽出条件のアイコンを選んで、出力ファイルのアイコンの上にドラッグ&ドロップし、アイコン間の関係線をつなぎます。

5.関係線の設定2〔入力項目と出力項目をマッピング〕

入力項目と出力項目間の関係線は、下図のように繋いじゃってください。
Qiita_014-08.jpg

ちなみに、入力項目側の項目の配置は、1.入力ファイルエリアの編集〔マッチング〕の最後の説明に付いてる『統合データプレビュー』の図でご確認を。

6.データ加工処理

すべての設定が終わったので、 最後にIDを登録して、現在表示されている内容で、データ加工を実行します。

今回の出力結果と、入力ファイルを作成する際に使用したインプットファイルを比較して、相違なければOKです!!

Qiita_014-09.jpg

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?