1
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】ちょっとブレイク!"テスト実行" ってイイじゃん

1
Last updated at Posted at 2026-02-21

はじめに

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

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

今回の課題

作ってみたプログラム。「ちゃんと(想定通りに)動くかなぁ」って心配ですよね。

DataMagic は、ステップ実行 で動きを確認する以外に、テスト実行をして結果を確かめる機能も、ちゃ~んと用意してるんです。

テスト実行

テスト実行するには、データ加工実行画面で「テスト実行する」に :white_check_mark: して、テスト結果ファイル名を指定:exclamation: たったそれだけで :ok: なんです。

設定して[実行]ボタンをクリックすると、進行状況を示すダイアログにエラー検出件数も表示されます。

Qiita_030-01.jpg

上図は正常終了した場合の結果表示です。

処理結果と出力内容

今回は、ステップ実行で作った処理を流用して、「普通に処理実行」「テスト実行」「ステップ実行」の3パターンでエラー検出時の動きを確認してみます。

今回のエラーは、入力データの下図の赤枠の数値の「2」 を、2バイト文字の「2」に変えて発生させます。

Qiita_030-03.jpg

なお、今回は[ヘッダレコード設定 1 ~ 1 行]で、1件目のタイトル行を読み飛ばす設定にしているので、処理上のエラー対象レコードは「10件目」「14件目」になります。

普通に処理実行

結果表示

Qiita_030-04.jpg

出力ファイル

Qiita_030-05.jpg

  • エラーを検知したところで処理を終了し結果表示
  • 直前のレコードまで出力

テスト実行

結果表示

Qiita_030-02.jpg

テスト結果ファイル

Qiita_030-06.jpg

出力ファイル

Qiita_030-07.jpg

  • エラーを検知しても最後まで処理をして結果表示
  • 検知したエラーの情報は、テスト結果ファイルに出力
    (今回は演算する項目2つでエラーが発生)
  • エラーレコードは編集できた内容を出力して、全件出力

ステップ実行

結果表示

Qiita_030-08.jpg

出力ファイル

Qiita_030-09.jpg

  • エラーを検知したところで処理を終了し結果表示
  • エラーの項目まで出力

比較してみて

プログラムの流れを確認したいなら:ステップ実行
入力データが正しいか確認したいなら:テスト実行

が適していそうですが、処理結果に納得がいかない場合は、両方を実行して結果を見比べると、問題解決が早くなるかも。

また、今回の結果は、あくまで一例です。
処理の作りやデータによって、結果は異なると思うので、悪しからず。

付随情報

テスト実行では、DBへの操作(登録、更新、削除)は コミットされません
このため、DBにコミットする場合は、通常のデータ加工を実行してください。

また、操作マニュアルの データ加工のテスト実行

  • テスト実行の操作
  • テスト実行を継続するエラーの一覧
  • テスト結果の確認方法
  • テスト結果ファイルの注意

に、どんなエラーが検出されたら、どんなエラーが出て、どんな動きをするか、などが載っています。

以上です。

1
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
1
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?