はじめに
DataMagic は、色々な機能を備えています。
機能・概要一覧
| 機能 | 概要 |
|---|---|
| マッチング | 入力ファイルのレコードと、共通する項目名をキーにした複数のマッチングファイルのレコードを結合し、一つのデータセットとして出力する |
| マージ | 入力ファイルとマージファイルを連結して、入力マージデータとして取り扱えます。入力マージデータに対しては、データ加工前に重複行の削除やソートする |
| 出力先振り分け | 抽出条件に沿って、出力ファイルを振り分ける |
| 数値項目演算 | 出力項目が数値タイプの場合、入力項目同士や任意の値との演算式を指定し、その演算結果を出力項目の値として出力する |
| データ抽出 | 入力データから、指定した条件に合致したデータのみを抽出する |
| 項目入替 | 入力データの項目を入れ替えて、別のフォーマットで出力する |
| 項目結合 | 複数の項目を結合して、1つの項目として出力する |
| 項目分割 | 単一項目を分割して、複数の項目として出力する |
| 全角半角 | 「カナ」「英数字」および「記号」を、半角から全角、全角から半角へ変換する |
| 出力フォーマット指定 | 日付型、数字文字列型の入力項目を出力する際に、フォーマットを指定する |
| 入力ソート | 入力ファイルの形式がCSV、フォーマット、Excelの場合は、データ加工の前にソートする |
| 属性変換 | 入力データを出力データに変換する際に、数値タイプを任意の数値タイプへ変換する |
| 日付項目演算 | 日付データに対して、演算や西暦⇔和暦の変換を指定し、その結果を出力項目の値として出力する |
| 関数 | 入力項目の値を関数で処理し、その処理結果を出力項目の値として出力する |
| マッピング | 入力ファイルから出力ファイルへのデータの流れや加工、変換ルールを定義し、異なるデータ形式間での項目の対応関係を設定する |
| 動的指定 | データ加工の実行時にコマンドの引数に指定した数値や文字列を、条件や出力情報に使用できる |
| ユーザ出口変換 | データを加工するときに、項目単位で独自の変換を設定するために、ユーザ出口プログラムを独自に作成できる |
| データ挿入 | レコード内の任意の項目にユーザ指定の任意の値を挿入できる |
| 仕様書出力 | データ加工の処理と設定内容を仕様書としてExcelファイルに出力できる |
| チュートリアル | データ加工の設定を対話的に実行して、DataMagicの基本的な操作方法を習得できる |
| カスタムエラー | カスタムエラー条件を使用すると、データの形式は問題ないが、意図しないデータ(例 別の事業所のデータ)を検出したときにデータ加工をエラーにできる |
| ステップ実行 | 入力ファイルの読み込み、抽出、およびデータ変換時に発生した、設定とデータの整合性が取れていないことに起因するエラー(システムエラーや設定値不正ではないもの)をスキップする |
| コード変換 | 1バイトコード間、または2バイトコード間で、文字コードを変換する |
別の記事
で 東京都の郵便番号データ(CSV形式)から、必要な項目を選んでフォーマット形式にして、1つのファイルに出力してみたけれど、今回はこの記事の設定を流用して、数多ある機能の中から〝出力先振り分け〟(市区町村別に出力ファイルを振り分ける)にチャレンジしてみた。
ちなみに、東京都には現在、合計すると約62の市区町村が存在するらしい。
出力先を振り分ける
通常「〇〇別に出力先を振り分ける」場合は、「〇〇が??なら、△△に出力」みたいな条件分岐の定義で出力先を振り分けますが、東京都の郵便番号データを市区町村別に振り分けるのに、62の抽出条件と62の出力先を定義するのは、流石に現実的ではない。
しかし、DataMagicには、ちまちま設定しなくても『指定した入力項目の値が変わったタイミングで出力先を切り替える』機能が付いているので、今回はそれを活用してみます。
既存のIDをコピーする
データ加工やレイアウト情報は、それぞれの一覧画面上でIDを選び、コピー先IDを指定することでコピーすることが出来ます(コピー先に既存のIDを指定するとエラーになります)。
コピーの仕方は2通り。まずは
のどちらかの方法で「〇〇情報のコピー」画面を開く
コピー元のIDを選んで、メニューの[コピー]ボタンをクリック
コピー元のIDを選んで右クリックして[コピー]をクリック
開いた直後のコピー画面にはコピー先IDの記入枠にコピー元のIDが入っているので、
新しく作成するID(コピー先ID)に書き直す
[OK]ボタンをクリックするか[Enter]キーを押して、IDを登録する
私は今回用に、ID:ZIPCODE(CSV_FMT) をコピーして、ID:ZIPCODE(CSV_FMT)2 を登録しました。

出力先振り分け機能
出力先の振り分けは、出力設定画面で設定します。
「レイアウト」タブにある〝出力ファイルの切り替え〟にチェック![]()
活性化した「
設定」をクリック
「出力先切り替え設定」画面で切り替える条件(タイミング)を指定
今回は、市区町村別に出力先を変えたいので、設定は[入力項目]の[市区町村名ー漢字]にします。
たったこれだけの設定で、出力ファイル名の後ろに .0001 から .0062 までの連番を付けたユニークな出力ファイルが作成されました。
出力ファイルを開いてみると、0001には千代田区、0002は中央区、0003は港区で、最後の0062には小笠原村の郵便番号が出力されていました。
ココでひと手間
しかしながら、上記のような連番が付いたファイル名では、出力ファイルを開いてみないとどの市区町村データなのか分からない
。
ココでひと手間![]()
出力先指定に「項目値利用」を選ぶと、出力ファイル名の編集に項目値が使えます。
設定方法は、
出力設定のレイアウトタブにある「出力先指定」で[項目値利用]を選択し、ファイル名枠の右端にある
をクリック
「出力ファイル名の設定」画面で[行追加]ボタンをクリックし、ファイル名を編集します。
私は、3行追加して、以下の設定でファイル名を編集しました。
- 1番目:出力先を入力ファイルと同じフォルダにしているので、
使用項目=入力ファイルパス名 - 2番目:出力ファイル名を出力ファイルの切り替えと合わせたいので、
使用項目=入力項目 / 項目名=市区町村名ー漢字 - 3番目:出力ファイルをテキストエディタで開きたいので、
使用項目=固定文字列 / 固定文字列=.txt
この設定で処理を行った際の出力結果がこちら ![]()
出力先ファイルの設定で使用する項目に、出力先切り替え設定」で指定した値を加えると、ユニークなファイル名になりました。
以上です!




