Note
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。
この記事では、実行される 電子申告 (ER) 形式の パフォーマンス追跡 を取得し、それらのトレースからの情報を使用して、パラメーター化された 計算フィールド のデータ ソースを構成することにより、パフォーマンスを向上させる方法について説明します。
ビジネス ドキュメントを生成する ER 構成を設計するプロセスの一環として、アプリケーションからデータを取得する方法を定義し、生成された出力に入力します。 計算フィールド型のパラメーター化された ER データ ソースを設計することで、データベース呼び出しの数を減らし、ER 形式の実行の詳細の収集に関連する時間とコストを大幅に削減できます。
前提条件
この記事の例を完了するには、次のいずれかの ロールにアクセスできる必要があります。
- 電子申告開発者
- 電子申告機能コンサルタント
- システム管理者
この会社は、DEMF に設定する必要があります。
この記事の Appendix 1 の手順に従って、この記事の例を完了するために必要なサンプル Microsoft ER ソリューションのコンポーネントをダウンロードします。
この記事の Appendix 2 の手順に従って、サンプル Microsoft ER ソリューションのパフォーマンスを向上させるために ER フレームワークを使用するために必要な ER パラメーターの最小セットを構成します。
サンプル ER ソリューションのインポート
仕入先トランザクションを示す新しいレポートを生成するため、ER ソリューションを設計する必要があるとします。 現時点では、選択した仕入先のトランザクションは 仕入先トランザクション ページ (買掛金勘定>仕入先>すべての仕入先 に移動し、仕入先を選択してから、アクション ペインの 仕入先 タブの トランザクション グループで、トランザクション を選択します) で検索できます。 ただし、XML 形式の 1 つの電子ドキュメントに、すべての仕入先トランザクションをまとめる必要があります。 このソリューションは、必要なデータ モデル、モデル マッピング、およびフォーマット コンポーネントを含む複数の ER 構成で構成されます。
最初の手順は、サンプル ER ソリューションをインポートして、仕入先トランザクション レポートを生成することです。
会社用にプロビジョニングされたMicrosoft Dynamics 365 Financeのインスタンスにサインインします。
この記事では、 Litware, Inc. サンプル会社の構成を作成および変更します。 この構成プロバイダーが Finance インスタンスに追加され、アクティブとしてマークされていることを確認します。 詳細については、構成プロバイダーを作成して、有効としてマークする を参照してください。
電子レポートワークスペースで、レポート コンフィギュレーションタイルを選択します。
コンフィギュレーション ページで、前提条件としてダウンロードした ER コンフィギュレーションを Finance に次の順序でインポートします: データ モデル、モデル マッピング、フォーマット。 各コンフィギュレーションについて、次の手順を実行します。
- 操作ウィンドウで、交換>XML ファイルからロード を選択します。
- 参照 を選択して、ER コンフィギュレーションに適したファイルを XML 形式で選択します。
- [OK] を選択.
サンプル ER ソリューションのレビュー
モデル マッピングを確認する
[構成] で、構成ツリーで [パフォーマンス向上モデル] を展開し、[パフォーマンス向上マッピング] を選択します。
アクション ウィンドウで、デザイナーを選択します。
モデルからデータソースへのマッピングで、アクション ウィンドウでデザイナーを選択します。
この ER モデル マッピングは、次のアクションを実行するように設計されています:
- VendTrans テーブル (Trans データ ソース) に格納されている仕入先トランザクションの一覧を取得します。
- 各トランザクションについて、VendTable テーブルからトランザクションが転記されるベンダーのレコード (データ ソース #Vend ) をフェッチします。
Note
#Vend データ ソースは、既存の多対一の関係 @.'>Relations'.VendTable_AccountNum を使用して、対応する仕入先レコードを取得するように構成されています。
このコンフィギュレーションのモデル マッピングは、このモデルに対して作成され Finance で実行される、すべての ER 形式の基本データ モデルを実装します。 したがって、Trans データ ソースの内容は、抽象 モデル データ ソースなどの ER 形式に対して公開されます。
- VendTrans テーブル (Trans データ ソース) に格納されている仕入先トランザクションの一覧を取得します。
モデル マッピング デザイナーを閉じます。
モデルからデータソースへのマッピングを閉じます。
形式の確認
[構成] の構成ツリーで、[パフォーマンス向上モデル] を展開し、[パフォーマンス向上の形式] を選択します。
アクション ウィンドウで、デザイナーを選択します。
書式デザイナーの [マッピング] タブで、[展開/折りたたみ] を選択します。
[モデル]、[データ]、[トランザクション] の項目を展開します。
この ER 形式では、XML 形式で仕入先トランザクション レポートが生成されます。
書式デザイナーを閉じます。
サンプル ER ソリューションを実行して、実行を追跡する
ER ソリューションの最初のバージョンの設計が完了したとします。 Finance インスタンスでソリューションをテストし、実行パフォーマンスを分析する必要があります。
ER パフォーマンス追跡を有効にする
DEMF 会社を選択します。
ER 形式の実行中 にパフォーマンス トレースを生成するには、「ER パフォーマンス トレースをオンにする 」の手順に従います。
ER 形式を実行する
- 組織管理>電子申告>構成の順に移動します。
- [構成] の構成ツリーで、[パフォーマンス向上の形式] を選択します。
- アクション ウィンドウで、実行を選択します。
パフォーマンス追跡を使用してモデル マッピングのパフォーマンスを分析する
- [構成] の構成ツリーで、[パフォーマンス向上マッピング] を選択します。
- アクション ウィンドウで、デザイナーを選択します。
- [モデル マッピング] の [アクション] ウィンドウで、[デザイナー] を選択します。
- モデル マッピング デザイナー ページの、アクション ウィンドウで、パフォーマンス追跡を選択します。
- 最後に生成されたトレースを選択し、[ OK] を選択します。
現在のモデル マッピングの一部のデータ ソース項目に関する新しい情報が利用可能になりました:
- データ ソースを使用してデータの取得に費やされた実際の時間
- モデル マッピング全体の実行に費やされた合計時間に対する割合で表される同じ時間
パフォーマンス統計 グリッドは、Trans データ ソースが VendTrans テーブルを 1 回呼び出すことを示しています。 Trans データ ソースの値 [265][Q:265] は、265 のベンダー トランザクションがアプリケーション テーブルからフェッチされ、データ モデルに返されることを示します。
パフォーマンス統計グリッドには、#Vend データ ソースの実行中に、現在のモデル マッピングによってデータベース要求が重複することも示されます。 この重複は、次の理由で発生します:
仕入先テーブルは、反復された 265 回の仕入先トランザクションごとに 2 回呼び出され、合計 530 回の呼び出しが行われます:
- 仕入先番号を入力するために 1 回の呼び出しが行われます。
- 仕入先名を入力するために 1 回の呼び出しが行われます。
フェッチされたトランザクションは 5 つのベンダーに対してのみ転記されますが、各ベンダートランザクションが反復されるごとにベンダーテーブルが呼び出されます。 530 回の呼び出しのうち、525 回は重複しています。 次の図は、重複する呼び出し (データベース要求) についてのメッセージを示しています。
モデル マッピングの合計実行時間 (約 8 秒) のうち、80% (約 6 秒) を超える時間が、VendTable アプリケーション テーブルからの値の取得に費やされます。 この割合は、VendTransアプリケーション テーブルからの情報量と比較して、5 つの仕入先の 2 つの属性に対して大きすぎます。
すべてのトランザクションのベンダーの詳細を取得する呼び出しの数を減らし、モデル マッピングのパフォーマンスを向上させるには、 #Vend データ ソースのキャッシュを使用できます。
Note
実行時に、 Trans\#Vend データ ソースは 、Trans データ ソースの現在のトランザクションのスコープにキャッシュされます。
#Vend ソース データをキャッシュすることにより、525 から 260 に重複呼び出しの数を減らしますが、重複を完全に排除することはできません。 重複を完全に削除するために、計算フィールド 型の新しいパラメーター化されたデータ ソースを構成できます。
実行追跡からの情報に基づいてモデル マッピングを改善する
モデル マッピングのロジックを変更する
次の手順に従って、計算フィールド 型のキャッシュとデータソースを使用して、データベースへの重複呼び出しを防止します。
[構成] の構成ツリーで、[パフォーマンス向上マッピング] を選択します。
アクション ウィンドウで、デザイナーを選択します。
[モデル マッピング] の [アクション] ウィンドウで、[デザイナー] を選択します。
モデル マッピング デザイナーで、テーブル レコードの種類のデータ ソースを追加して、VendTable アプリケーション テーブルのレコードにアクセスします。
- [データ ソースの種類] ウィンドウで、Dynamics 365 for Operations を展開し、テーブル レコード を選択します。
- ルートの追加を選択します。
- ダイアログ ボックスで、[名前] フィールドに「Vend」と入力します。
- テーブルフィールドに「VendTable」と入力します。
- [OK] を選択.
計算フィールド 型のデータ ソースへの呼び出をパラメーター化できるのは、それらのデータ ソースがコンテナーに存在する場合にのみです。 そのため、 空のコンテナー 型のデータ ソースを追加して 、計算フィールド 型の新しいパラメーター化されたデータ ソースを保持します。
- データ ソース型 ペインで、一般 を展開し、空コンテナー を選択します。
- ルートの追加を選択します。
- ダイアログ ボックスの [名前] フィールドに「Box」と入力します。
- [OK] を選択.
計算フィールド型のパラメーター化されたデータ ソースを追加します。
- データ ソース ペインで、Box を選択します。
- データ ソース型 ペインで、関数 を展開し、計算フィールド を選択します。
- [] を選択し、[] を追加します。
- ダイアログ ボックスで、[名前] フィールドに「Vend」と入力します。
- 式の編集を選択します。
- 数式デザイナーで、[パラメーター] を選択して、このデータ ソースの呼び出し時に指定する必要があるパラメーターを指定します。
- [パラメーター] で [新規] を選択します。
- 「名前」フィールドに「parmVendAccNumber」と入力します。
- [種類] フィールドで [文字列] を選択します。
- [OK] を選択.
-
式フィールドに、
FIRSTORNULL(FILTER(Vend, Vend.AccountNum=parmVendAccNumber))と入力します。 - [ 保存] を選択し、 数式デザイナーを閉じます。
- OKを選択して新しいデータ ソースを追加します。
実行中に、追加されたデータ ソースをキャッシュ済みとしてマークします。
- データ ソース ペインで、Box\Vend を選択します。
- キャッシュを選択します。
Note
Box\Vend データ ソースは、実行時に Trans データ ソースのすべてのベンダー トランザクションのスコープにキャッシュされます。
入れ子になった Trans\#Vend データ ソースを更新して、 Box\Vend データ ソースを使用するようにします。
- データ ソース ペインで、Trans を展開します。
- Trans\#Vend データ ソースを選択し、編集>フォーミュラの編集 を選択します。
-
[数式] デザイナーで、[
Box.Vend(@.AccountNum)] フィールドに「」と入力します。 - [ 保存] を選択し、 数式デザイナーを閉じます。
- OK を選択して、選択したデータ ソースへの変更を完了します。
保存を選びます。
モデル マッピング デザイナーを閉じます。
モデル マッピング ページを閉じます。
ER モデル マッピングの変更されたバージョンを完了する
- [構成] の [バージョン] クイック タブで、パフォーマンス向上マッピング構成のバージョン 1.2 を選択します。
- 状態の変更>完了 を選択し、OK を選択します。
変更された ER ソリューションを実行して追跡実行する
この記事の先のセクション ER 形式を実行する の手順を繰り返して、新しいパフォーマンス追跡を生成します。
パフォーマンス追跡を使用して、モデル マッピングの調整を分析する
- [構成] の構成ツリーで、[パフォーマンス向上マッピング] を選択します。
- アクション ウィンドウで、デザイナーを選択します。
- [モデル マッピング] の [アクション ウィンドウ] で、[デザイナー] を選択します。
- モデル マッピング デザイナーのアクション ウィンドウで、[パフォーマンス トレース] を選択します。
- 生成された最新の追跡を選択し、OK を選択します。
モデル マッピングに対して行った調整により、データベースに対する重複するクエリが除外されていることに注意してください。 このモデル マッピングのデータベース テーブルとデータ ソースへの呼び出しの数も減ります。
合計実行時間は約 20 倍 (約 8 秒から約 400 ミリ秒) 短縮されます。 したがって、ER溶液全体の性能が向上する。
付録 1: サンプル Microsoft ER ソリューションのコンポーネントのダウンロード
次のファイルをダウンロードし、ローカルに保存します。
| File | コンテンツ |
|---|---|
| パフォーマンス向上モデル.version.1 | ER データ モデル構成のサンプル |
| パフォーマンス向上マッピング version.1.1 | ER モデル マッピング構成のサンプル |
| パフォーマンス向上 フォーマットバージョン1.1 | ER フォーマット構成のサンプル |
付録 2: ER フレームワークを構成する
ER フレームワークを使用してサンプル Microsoft ER ソリューションのパフォーマンスを向上させる前に、ER パラメーターの最小セットを構成する必要があります。
ER パラメーターのコンフィギュレーション
組織管理>ワークスペース>電子申告の順に移動します。
ローカライズ構成ページの、関連リンクセクションで、電子申告パラメーターを選択します。
電子申告パラメーターページの、一般タブで、デザイン モードの有効化オプションをはいに設定します。
添付タブで、次のパラメーターを設定します:
- コンフィギュレーションフィールドで、DEMF 社のファイルタイプを選択します。
- ジョブ アーカイブ、一時的、ベースライン、およびその他フィールドで、ファイルタイプを選択します。
ER パラメーターについては、ER フレームワークのコンフィギュレーション を参照してください。
ER 構成 プロバイダーをアクティブにする
追加するすべての ER 構成は、ER 構成プロバイダーによって所有済みとしてマークされます。 この目的のために、 電子レポート ワークスペースでアクティブ化された ER 構成プロバイダーを使用します。 したがって、ER コンフィギュレーションに追加または編集する前に、電子申告ワークスペースの ER コンフィギュレーション プロバイダーを有効化する必要があります。
Note
ER コンフィギュレーションの所有者のみがコンフィギュレーションを編集できます。 そのため、ER 構成を編集する前に、 電子レポート ワークスペースで適切な ER 構成プロバイダーをアクティブにする必要があります。
ER 構成 プロバイダーの一覧をレビュー
- 組織管理>ワークスペース>電子申告の順に移動します。
- ローカライズ構成の [関連リンク] セクションで、[構成プロバイダー] を選択します。
- 構成プロバイダー テーブルでは、各プロバイダー レコードに一意の名前と URL があります。 このページの内容をレビューします。 Litware, Inc. レコードが既に存在する場合は、次の手順をスキップし、新しい ER コンフィギュレーション プロバイダーを追加 します。
新しい ER 構成プロバイダーを追加
- 組織管理>ワークスペース>電子申告の順に移動します。
- ローカライズ構成の [関連リンク] セクションで、[構成プロバイダー] を選択します。
- [構成プロバイダー] で、[新規] を選択します。
- [名前] フィールドに「Litware, Inc.」と入力します。
-
インターネット アドレスフィールドで、
https://www.litware.comを入力します。 - 保存を選びます。
ER 構成 プロバイダーをアクティブにする
- 組織管理>ワークスペース>電子申告の順に移動します。
- ローカライズ構成の [構成プロバイダー] セクションで、[Litware, Inc. ] タイルを選択し、[アクティブに設定] を選択します。
ER 構成 プロバイダーについては、構成 プロバイダーを作成し有効としてマークする を参照してください。