はじめに
DataMagic は、色々な機能を備えています。
機能・概要一覧
| 機能 | 概要 |
|---|---|
| マッチング | 入力ファイルのレコードと、共通する項目名をキーにした複数のマッチングファイルのレコードを結合し、一つのデータセットとして出力する |
| マージ | 入力ファイルとマージファイルを連結して、入力マージデータとして取り扱えます。入力マージデータに対しては、データ加工前に重複行の削除やソートする |
| 出力先振り分け | 抽出条件に沿って、出力ファイルを振り分ける |
| 数値項目演算 | 出力項目が数値タイプの場合、入力項目同士や任意の値との演算式を指定し、その演算結果を出力項目の値として出力する |
| データ抽出 | 入力データから、指定した条件に合致したデータのみを抽出する |
| 項目入替 | 入力データの項目を入れ替えて、別のフォーマットで出力する |
| 項目結合 | 複数の項目を結合して、1つの項目として出力する |
| 項目分割 | 単一項目を分割して、複数の項目として出力する |
| 全角半角 | 「カナ」「英数字」および「記号」を、半角から全角、全角から半角へ変換する |
| 出力フォーマット指定 | 日付型、数字文字列型の入力項目を出力する際に、フォーマットを指定する |
| 入力ソート | 入力ファイルの形式がCSV、フォーマット、Excelの場合は、データ加工の前にソートする |
| 属性変換 | 入力データを出力データに変換する際に、数値タイプを任意の数値タイプへ変換する |
| 日付項目演算 | 日付データに対して、演算や西暦⇔和暦の変換を指定し、その結果を出力項目の値として出力する |
| 関数 | 入力項目の値を関数で処理し、その処理結果を出力項目の値として出力する |
| マッピング | 入力ファイルから出力ファイルへのデータの流れや加工、変換ルールを定義し、異なるデータ形式間での項目の対応関係を設定する |
| 動的指定 | データ加工の実行時にコマンドの引数に指定した数値や文字列を、条件や出力情報に使用できる |
| ユーザ出口変換 | データを加工するときに、項目単位で独自の変換を設定するために、ユーザ出口プログラムを独自に作成できる |
| データ挿入 | レコード内の任意の項目にユーザ指定の任意の値を挿入できる |
| 仕様書出力 | データ加工の処理と設定内容を仕様書としてExcelファイルに出力できる |
| チュートリアル | データ加工の設定を対話的に実行して、DataMagicの基本的な操作方法を習得できる |
| カスタムエラー | カスタムエラー条件を使用すると、データの形式は問題ないが、意図しないデータ(例 別の事業所のデータ)を検出したときにデータ加工をエラーにできる |
| ステップ実行 | プログラムのデバッガの処理のように、経過を確認しながら実行し、意図するように変換できなかった場合の解析、またはデータ加工の処理経過の確認に使用できます。 |
| コード変換 | 1バイトコード間、または2バイトコード間で、文字コードを変換する |
今回の課題
作ってみたプログラム。「ちゃんと(想定通りに)動くかなぁ」って心配ですよね。
DataMagic は、ステップ実行 で動きを確認する以外に、テスト実行をして結果を確かめる機能も、ちゃ~んと用意してるんです。
テスト実行
テスト実行するには、データ加工実行画面で「テスト実行する」に
して、テスト結果ファイル名を指定
たったそれだけで
なんです。
設定して[実行]ボタンをクリックすると、進行状況を示すダイアログにエラー検出件数も表示されます。
上図は正常終了した場合の結果表示です。
処理結果と出力内容
今回は、ステップ実行で作った処理を流用して、「普通に処理実行」「テスト実行」「ステップ実行」の3パターンでエラー検出時の動きを確認してみます。
今回のエラーは、入力データの下図の赤枠の数値の「2」 を、2バイト文字の「2」に変えて発生させます。
なお、今回は[ヘッダレコード設定 1 ~ 1 行]で、1件目のタイトル行を読み飛ばす設定にしているので、処理上のエラー対象レコードは「10件目」「14件目」になります。
普通に処理実行
結果表示
出力ファイル
- エラーを検知したところで処理を終了し結果表示
- 直前のレコードまで出力
テスト実行
結果表示
テスト結果ファイル
出力ファイル
- エラーを検知しても最後まで処理をして結果表示
- 検知したエラーの情報は、テスト結果ファイルに出力
(今回は演算する項目2つでエラーが発生) - エラーレコードは編集できた内容を出力して、全件出力
ステップ実行
結果表示
出力ファイル
- エラーを検知したところで処理を終了し結果表示
- エラーの項目まで出力
比較してみて
プログラムの流れを確認したいなら:ステップ実行
入力データが正しいか確認したいなら:テスト実行
が適していそうですが、処理結果に納得がいかない場合は、両方を実行して結果を見比べると、問題解決が早くなるかも。
また、今回の結果は、あくまで一例です。
処理の作りやデータによって、結果は異なると思うので、悪しからず。
付随情報
テスト実行では、DBへの操作(登録、更新、削除)は コミットされません。
このため、DBにコミットする場合は、通常のデータ加工を実行してください。
また、操作マニュアルの データ加工のテスト実行 の
- テスト実行の操作
- テスト実行を継続するエラーの一覧
- テスト結果の確認方法
- テスト結果ファイルの注意
に、どんなエラーが検出されたら、どんなエラーが出て、どんな動きをするか、などが載っています。
以上です。








