XSLT3の数学関数を用いたデータマッピング

XSLT3は、三角関数やその他の高度な数学関数、新しい書式設定関数、環境変数収集機能などを追加し、XSLTおよびXSLT2のXML変換標準を拡張しています。データアナリストやその他のデータ専門家は、XSLT3の機能を活用することができます XMLデータのマッピングと統合における課題を解決するために 複雑な数学的計算を必要とするものです。いくつかMapForceの具体的な例を見てみましょう XSLT3を使用したデータマッピング 三角関数やその他の複雑な数式を用いた数学関数。

MapForceは、様々なデータ形式や用途に合わせてカスタマイズされた、独自の処理エンジンを提供しています。

XSLT3エンジンを選択すると、以下の機能が機能ライブラリウィンドウに追加され、データマッピングに使用できるようになります

例えば、XMLファイルに格納された入力値に基づいて、サイン、コサイン、タンジェントを生成するデータマッピングを作成することができます。元のデータはCSVファイルとして提供され、それを世界で最も多く販売されているXMLエディタであるXMLSpyにインポートしました JSONおよびXMLエディタ, XML形式への変換用。

MapForceでのマッピングは、入力ファイルと出力ファイルに対応するXMLスキーマを読み込み、その後、ルート要素を接続することから始めます。この段階で、標準的な「ターゲット駆動型」の接続タイプを選択することが重要です。これにより、以降の接続を個別にカスタマイズすることができます。

次に、行要素を接続し、ライブラリから三角関数をドラッグして配置し、ソースからのx値要素をそれぞれの関数と出力要素に接続します。以下が完成したデータマッピングです

「出力」ボタン(マッピング領域の下にあります)をクリックすると、入力ファイルが処理され、出力が生成され、プレビューウィンドウが開きます。

この例では、入力値が0から15まで、0.1刻みで設定されており、出力にはそれぞれのサイン、コサイン、タンジェントの値が表示されます。このファイルを保存し、XMLSpyで開くことで、XMLSpyのグリッドビューを活用し、高度にカスタマイズされたグラフを作成したり、さらにそのグラフをレポートやプレゼンテーションに組み込むことも可能です

XSLT3を使用して、複雑な式を構築するためのデータマッピング

XSLT3の関数は、ライブラリ内の他の関数と組み合わせて、複雑な式を構築することができます。例えば、入力値のリストに、y = 4x² – 3のような二次方程式を適用したいとします。この場合、XSLT3のpow関数(べき乗を計算する関数)を、乗算や加算を行う基本的なライブラリ関数と組み合わせたマッピングを作成できます。

このマッピングにおける関数の並び順は、式に含まれる処理の順序を明確に定義しています。具体的には、まず指数計算、次に乗算、最後に減算という順序で処理されます。もし式が括弧を使用してデフォルトの処理順序を上書きしている場合、マッピング内の関数の順序を変更することで、希望する処理順序を設定します。

おそらく、ある一連の入力値をいくつかの異なる計算式で処理し、その結果を比較したいと考えているかもしれません。そのために、計算式を記述するユーザー関数を作成し、出力ファイルの内容を修正して、各出力ファイルが生成された際に使用された指数、乗数、および修正係数を記録することができます。

以下に、表現のバリエーションによって生成される各出力ファイルの、希望する構造を示します

ユーザー定義関数は、入力XMLファイルからxの値を受け取り、数式を計算するだけでなく、出力に記録されるための関数パラメータも受け渡します。

以下に、ユーザー関数内で使用される表現と、それに対応する詳細なマッピングを示します

そして、生成された出力ファイルは以下の通りです

ユーザー関数は、他のマッピングに簡単に組み込んだり、複数のMapForceユーザー間で共有したりすることができます。ユーザー関数を作成するには、まず式を定義する関数を選択し、次にメインメニューの「関数」をクリックします

以下に、ユーザー関数に関する最終的な定義を示します

データのマッピングと統合プロジェクトで、XSLT3の三角関数やその他の高度なXSLT3関数を用いたデータマッピングが必要な場合は、ぜひMapForceをお試しください。MapForceは、あらゆる種類のデータ変換と統合を可能にする、受賞歴のあるグラフィカルなデータマッピングツールです。ダウンロードはこちらから MapForceの無料トライアル版 チュートリアル、ヘルプ、そしてさらに多くのサンプルなど、様々なコンテンツをご用意しています。