# DataMagicで使用できる機能

DataMagicでは、多種のデータ加工を実現するため、次に示す機能があります。

各機能については、「データの入力に関する機能」、「データの加工に関する機能」、「データの出力に関する機能」、「DataMagicのその他の機能」を参照してください。

表1.1 DataMagicで使用できる機能

機能名 | 概要
--- | ---
データの入力に関する機能 | データの抽出 | 指定した入力ファイルまたはデータベースから、データを抽出できます。入力ファイルから必要なレコードだけを抽出することもできます。
データのマッチング | 入力ファイルと共通する項目名をキーにして、ほかのファイル（マッチングファイル）とデータを結合できます。
データのソート | 入力ファイルのデータをソートできます。
データのマージ | 入力ファイルのデータをマージできます。
入力データのチェック | データを加工する前に、入力データをチェックできます。
データの加工に関する機能 | 属性の変換 | 数値タイプの属性を変更できます。
データの挿入 | レコード内の任意の項目にユーザ指定の任意の値を挿入できます。
項目の入れ替え | 入力レコードの項目を入れ替えて出力できます。
コード変換 | 1バイトコード間、または2バイトコード間で、コードを変換できます。
数値項目の演算 | 数値タイプのデータに演算式を指定して、計算できます。 日付項目の演算（日付データに対して、演算および西暦と和暦の変換）、数字文字列の変換（「符号出力」、「四捨五入」、「桁区切り文字出力」、「通貨記号出力」など）もできます。
項目の結合 | 項目を結合して1つの項目にできます。
項目の分割 | 項目を分割して、複数の項目にできます。
ユーザ出口プログラムの設定 | データを加工するときに、項目単位で独自の変換を設定するために、ユーザ出口プログラムを独自に作成できます。
動的値の指定 | データ加工の実行時にコマンドの引数に指定した数値や文字列を条件や出力情報に使用し、条件の比較対象値を動的に変更できます。
関数を使った変換 | 入力レコードの項目を関数で処理できます。
変数の指定 | 入力レコードの内容を変数に格納できます。複数のレコードの値を変数に蓄積して数値演算を行ったり、前に読み込んだレコードの値を変数に格納して、後続レコードの値を比較および判定する処理に使用したりできます。
仮想テーブルへのクエリ実行 | CSV、フォーマット、Excel、DBテーブル形式の内容を一時的に仮想テーブルに格納し、SQL文でのデータ編集や演算処理ができます。
共通コンポーネントを利用した変換 | 複数のデータ加工で共通の処理として、共通コンポーネントを使用できます。
データの出力に関する機能 | 出力先の振り分け | 出力先を1 ファイルだけでなく、条件ごとに出力ファイルを指定できます。
出力ファイル名の指定 | 出力ファイル名に任意の文字列や日時、連番などを付けて出力できます。
出力ファイルの切り替え | 指定した出力レコード数や入力項目、変数が変更になるごとに、出力ファイルを切り替えられます。
DataMagicの操作に関する機能 | 管理情報のインポートおよびエクスポート | DataMagicの管理情報をインポートおよびエクスポートできます。エクスポートした管理情報をインポートすれば、以前の管理情報を新しい環境で使用できます。
ネットワークファイルの排他制御 | データ加工の入出力ファイルがネットワーク上にあるファイルを利用する場合に、DataMagicが排他制御できます。
表示言語の切り替え | 使用する言語を日本語と英語で切り替えられます。
マルチスレッドでの実行 | データ加工の処理を高速にするため、マルチスレッドで実行できます。
データ加工のテスト実行 | データ加工の処理に軽微なエラーがある場合でも、処理を途中で停止しないように、テストとして実行できます。
データ加工のステップ実行 | データ加工の処理を、プログラムのデバッガの処理のように、経過を確認しながら実行できます。
データ加工の仕様書の出力 | データ加工の処理と設定内容を仕様書としてExcelファイルに出力できます。
チュートリアル | データ加工の設定を対話的に実行して、DataMagicの基本的な操作方法を習得できます。