複雑な機能に対する、迅速な解決策

現代の複雑なデータ通信の要件を満たすためには、データ変換の中には複数のステップを必要とするものがあります。 Altova MapForce 2011を使用すると、様々な種類の数学関数、論理関数、文字列関数、およびその他の特殊な関数をグラフィカルに組み合わせることで、複雑な「データ方程式」を構築し、必要な結果を得ることができます。 大規模で複雑なマッピング作業を行っている場合、初めて使用する関数を使用する場合、または関数がさらに処理が必要な中間結果を生成する場合、作業を進める中で、各段階でテストを行うことが役立ちます。 以下の文章を翻訳してください シンプルなテキストファイル 一時的な目標として、現在開発中の関数がどのような結果を返すかを確認するために使用します。 例えば、既存の出力ファイルとそれに対応する情報を記録する際に、データが生成された日時を記録するために、日付と時刻の情報を追加したいとします。 現在、MapForceの「now」機能を使って、テキストファイルに直接接続する簡単なマッピングを作成し、簡単に実験することができます。

マッピングウィンドウの下部にある「出力」ボタンをクリックすると、すぐに結果が表示されます

はい、それでうまくいきますが、出力ファイルの利用者が、より洗練された形式でデータを見たいと思うかもしれません。様々な日付・時刻や文字列の関数を活用し、複雑な処理を行うことで、最終的に以下のような形式でデータを出力することができます

あるいは、文字列定数を使って、format-dateTime変換関数で書式を定義することもできます

作業中に、いつでも「出力」ボタンを押すことができます。そして、以下のような結果が得られるまで、何度でも試すことができます

もし、毎日日付と時刻のデータ型を扱っているわけではない場合、最初から完璧な書式設定文字列を作成して、期待通りの結果を得るのは難しいでしょう。何度かの試行錯誤や、MapForceのヘルプを参照した結果、最終的に以下の書式設定文字列を作成し、日付と時刻の変換関数における書式設定入力に接続された文字列定数に保存しました

これまでのところ、基本的なCSVファイルとして定義されたテキストファイルを使用していましたが、ファイルを開き、プロパティダイアログでフィールドを追加したり、よりカスタマイズされた出力ファイルを作成することも可能です。

テキストファイルを出力先として使用する利点の一つは、関数結果の型チェックが行われないため、テキストファイル出力先を使用することで、あらゆる関数の出力を確認し、検証することができます。以下に示すスクリーンショットでは、数学的な関数を作成し、その結果をテキストファイルに出力するために、別のフィールドを追加しています。

現在の出力は、以下のように、1行でカンマ区切りになった結果になります

もし最終的なターゲットがデータベースのフィールドや、整数型のデータを持つXML要素である場合、この数学関数が期待されるデータ型を生成しないことがすぐにわかります。テスト環境で関数を完璧に調整したら、それを選択し、コピーして、そのまま大きなマッピングに貼り付けることができます。その後、関数の出力結果を最終的なターゲットに接続します。以下に示すスクリーンショットでは、dateTimeというフォーマット関数が、文字列として定義されているXMLスキーマ内の要素にマッピングされています。

もしこの機能が今後も繰り返し使用したいものであれば、ユーザー定義関数として定義し、ライブラリに保存することで、簡単に再利用することができます。

複雑な機能を、より大きなマッピングの一部として構築し、テストするために、テキストファイルを一時的なターゲットとして使用することも可能です。その場合、マッピングは複数の出力結果を持つことになります。各出力ファイルの上部右側に配置された「目」のアイコンをクリックすると、出力ウィンドウに表示される出力ファイルを選択できます。

出力プレビューとしてテキストファイルを選択した場合、MapForceの実行エンジンは、大規模なマッピング処理全体ではなく、テキストファイルに接続されている関数のみを処理します。これにより、関数の結果を確認したい場合や、大規模なデータ処理を行うマッピング全体を実行したくない場合、データベースに不正なデータを挿入するリスクを避けたい場合など、多くの状況で大幅な時間短縮につながります。

ご自身で、MapForceをデータマッピングプロジェクトに適用することの容易さを体験してください! 30日間の無料トライアルをダウンロード MapForceをお試しください。