次の方法で共有


パラメーター化された計算フィールドのデータ ソースを追加して、ER ソリューションのパフォーマンスを向上させる

メモ

コミュニティの関心グループが 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 ソリューションをインポートして、仕入先トランザクション レポートを生成することです。

  1. 会社用にプロビジョニングされたMicrosoft Dynamics 365 Financeのインスタンスにサインインします。

  2. この記事では、 Litware, Inc. サンプル会社の構成を作成および変更します。 この構成プロバイダーを Finance インスタンスに追加し、アクティブとしてマークしていることを確認します。 詳細については、構成プロバイダーを作成して、有効としてマークする を参照してください。

  3. 電子レポートワークスペースで、レポート コンフィギュレーションタイルを選択します。

  4. コンフィギュレーション ページで、前提条件としてダウンロードした ER コンフィギュレーションを Finance に次の順序でインポートします: データ モデル、モデル マッピング、フォーマット。 各コンフィギュレーションについて、次の手順を実行します。

    1. アクション ウィンドウで、Exchange> XML ファイルから読み込む を選択します。
    2. 参照 を選択して、ER コンフィギュレーションに適したファイルを XML 形式で選択します。
    3. OK を選択します。

[構成] ページでインポートされた構成のスクリーンショット。

サンプル ER ソリューションのレビュー

モデル マッピングを確認する

  1. [構成] で、構成ツリーで [パフォーマンス向上モデル] を展開し、[パフォーマンス向上マッピング] を選択します。

  2. アクション ウィンドウで、デザイナーを選択します。

  3. モデルからデータソースへのマッピングで、アクション ウィンドウでデザイナーを選択します

    この ER モデル マッピングは、次のアクションを実行するように設計されています:

    • VendTrans テーブル (Trans データ ソース) に格納されている仕入先トランザクションの一覧を取得します。
    • 各トランザクションについて、VendTable テーブルからトランザクションが転記されるベンダーのレコード (データ ソース #Vend ) をフェッチします。

    メモ

    #Vend データ ソースは、既存の多対一の関係 @.'>Relations'.VendTable_AccountNum を使用して、対応する仕入先レコードを取得するように構成されています。

    このコンフィギュレーションのモデル マッピングは、このモデルに対して作成され Finance で実行される、すべての ER 形式の基本データ モデルを実装します。 したがって、Trans データ ソースの内容は、抽象 モデル データ ソースなどの ER 形式に対して公開されます。

    [モデル マッピング デザイナー] ページの [Transデータ ソース] のスクリーンショット。

  4. モデル マッピング デザイナー ページを閉じます。

  5. モデルからデータ ソースへのマッピング ページを閉じます。

形式の確認

  1. [構成] の構成ツリーで、[パフォーマンス向上モデル] を展開し、[パフォーマンス向上の形式] を選択します。

  2. アクション ウィンドウで、デザイナーを選択します。

  3. 書式デザイナーの [マッピング] タブで、[展開/折りたたみ] を選択します。

  4. [モデル]、[データ]、[トランザクション] の項目を展開します。

    この ER 形式では、XML 形式で仕入先トランザクション レポートが生成されます。

    [書式デザイナー] ページの書式設定データ ソースと構成された書式要素のバインドのスクリーンショット。

  5. 書式デザイナーを閉じます。

サンプル ER ソリューションを実行して、実行を追跡する

ER ソリューションの最初のバージョンの設計が完了したら、Finance インスタンスでソリューションをテストし、実行パフォーマンスを分析します。

ER パフォーマンス追跡を有効にする

  1. DEMF 会社を選択します。

  2. ER 形式の実行中 にパフォーマンス トレースを生成するには、「ER パフォーマンス トレースをオンにする 」の手順に従います。

    [ユーザー パラメーター] ダイアログ ボックスのスクリーンショット。

ER 形式を実行する

  1. 組織管理>電子申告>コンフィギュレーションに移動します。
  2. [構成] の構成ツリーで、[パフォーマンス向上の形式] を選択します。
  3. アクション ウィンドウで、実行を選択します。

パフォーマンス追跡を使用してモデル マッピングのパフォーマンスを分析する

  1. [構成] の構成ツリーで、[パフォーマンス向上マッピング] を選択します。
  2. アクション ウィンドウで、デザイナーを選択します。
  3. [モデル マッピング] の [アクション ウィンドウ] で、[デザイナー] を選択します。
  4. モデル マッピング デザイナーのアクション ウィンドウで、[パフォーマンス トレース] を選択します。
  5. 最新のトレースを選択し、[ 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 データ ソースのキャッシュを使用します。

メモ

Trans\#Vend データ ソースは、実行時に Trans データ ソースの現在のトランザクションのスコープにキャッシュされます。

#Vend ソース データをキャッシュすることにより、525 から 260 に重複呼び出しの数を減らしますが、重複を完全に排除することはできません。 重複を完全に削除するために、計算フィールド 型の新しいパラメーター化されたデータ ソースを構成できます。

実行追跡からの情報に基づいてモデル マッピングを改善する

モデル マッピングのロジックを変更する

データベースへの呼び出しが重複しないようにするには、キャッシュと 計算フィールド 型のデータ ソースを使用します。

  1. [構成] の構成ツリーで、[パフォーマンス向上マッピング] を選択します。

  2. アクション ウィンドウで、デザイナーを選択します。

  3. [モデル マッピング] の [アクション ウィンドウ] で、[デザイナー] を選択します。

  4. モデル マッピング デザイナーで、テーブル レコードの種類のデータ ソースを追加して、VendTable アプリケーション テーブルのレコードにアクセスします。

    1. [データ ソースの種類] ウィンドウで、Dynamics 365 for Operations を展開し、テーブル レコード を選択します。
    2. ルートを追加を選択します。
    3. ダイアログ ボックスで、名前 フィールドに Vend と入力します。
    4. テーブル フィールドに、VendTable と入力します。
    5. OK を選択します。
  5. 計算フィールド 型のデータ ソースへの呼び出をパラメーター化できるのは、それらのデータ ソースがコンテナーに存在する場合にのみです。 そのため、 空のコンテナー 型のデータ ソースを追加して 、計算フィールド 型の新しいパラメーター化されたデータ ソースを保持します。

    1. データ ソース型 ペインで、一般 を展開し、空コンテナー を選択します。
    2. ルートを追加を選択します。
    3. ダイアログ ボックスで、名前 フィールドに Box と入力します。
    4. OK を選択します。

    [モデル マッピング デザイナー] ページの Box データ ソースのスクリーンショット。

  6. 計算フィールド型のパラメーター化されたデータ ソースを追加します。

    1. データ ソース ペインで、Box を選択します。
    2. データ ソース型 ペインで、関数 を展開し、計算フィールド を選択します。
    3. 追加を選択します。
    4. ダイアログ ボックスで、名前 フィールドに Vend と入力します。
    5. 式の編集を選択します。
    6. フォーミュラ デザイナー ページで、パラメーター を選択して、このデータ ソースが呼び出されたときに入力する必要があるパラメーターを指定します。
    7. パラメーター ダイアログ ボックスで、新規 を選択します。
    8. 名前 フィールドに、parmVendAccNumber と入力します。
    9. タイプフィールドで、文字列を選択します。
    10. OK を選択します。
    11. フォーミュラ フィールドに、FIRSTORNULL(FILTER(Vend, Vend.AccountNum=parmVendAccNumber)) と入力し ます。
    12. 保存 を選択し、フォーミュラ デザイナー ページを閉じます。
    13. OKを選択して新しいデータ ソースを追加します。
  7. 実行中に、追加されたデータ ソースをキャッシュ済みとしてマークします。

    1. データ ソース ペインで、Box\Vend を選択します。
    2. キャッシュを選択します。

    メモ

    Box\Vend データ ソースは、実行時に Trans データ ソースのすべてのベンダー トランザクションのスコープにキャッシュされます。

  8. 入れ子になった Trans\#Vend データ ソースを更新して、 Box\Vend データ ソースを使用するようにします。

    1. データ ソース ペインで、Trans を展開します。
    2. Trans\#Vend データ ソースを選択し、編集>フォーミュラの編集 を選択します。
    3. フォーミュラ デザイナー ページの フォーミュラ フィールドに、Box.Vend(@.AccountNum) と入力します。
    4. 保存 を選択し、フォーミュラ デザイナー ページを閉じます。
    5. OK を選択して、選択したデータ ソースへの変更を完了します。
  9. 保存を選択します。

    モデル マッピング デザイナー ページにおける Vend データソースのスクリーンショット。

  10. モデル マッピング デザイナー ページを閉じます。

  11. モデル マッピング ページを閉じます。

ER モデル マッピングの変更されたバージョンを完了する

  1. [構成] の [バージョン] クイック タブで、パフォーマンス向上マッピング構成のバージョン 1.2 を選択します。
  2. 状態の変更>完了 を選択し、OK を選択します。

修正された ER ソリューションを実行して、実行をトレースする

新しいパフォーマンス トレースを生成するには、この記事の「 ER 形式の実行 」セクションの手順を繰り返します。

パフォーマンス追跡を使用して、モデル マッピングの調整を分析する

  1. [構成] の構成ツリーで、[パフォーマンス向上マッピング] を選択します。
  2. アクション ウィンドウで、デザイナーを選択します。
  3. [モデル マッピング] の [アクション ウィンドウ] で、[デザイナー] を選択します。
  4. モデル マッピング デザイナーのアクション ウィンドウで、[パフォーマンス トレース] を選択します。
  5. 生成した最新のトレースを選択し、[ OK] を選択します。

データベースに対する重複するクエリを削除しました。 また、このモデル マッピングのデータベース テーブルとデータ ソースへの呼び出しの数も減らしました。

[モデル マッピング デザイナー] ページのトレース情報のスクリーンショット。

合計実行時間は約 20 倍速くなります (約 8 秒から約 400 ミリ秒)。 したがって、ER溶液全体の性能が向上する。

実行時間の短縮を示す [モデル マッピング デザイナー] ページのトレース情報のスクリーンショット。

付録 1: サンプル Microsoft ER ソリューションのコンポーネントをダウンロードする

次のファイルをダウンロードし、ローカルに保存します。

ファイル コンテンツ
パフォーマンス向上モデル.version.1 ER データ モデル構成のサンプル
バージョン1.1のパフォーマンス向上マッピング ER モデル マッピング構成のサンプル
パフォーマンス改善フォーマットバージョン1.1 ER フォーマット構成のサンプル

付録 2: ER フレームワークを構成する

ER フレームワークを使用してサンプル Microsoft ER ソリューションのパフォーマンスを向上させるには、ER パラメーターの最小セットを構成する必要があります。

ER パラメーターのコンフィギュレーション

  1. 組織管理>ワークスペース>電子申告の順に移動します。

  2. ローカライズ構成の [関連リンク] セクションで、[電子レポート パラメーター] を選択します。

  3. 電子レポート パラメーターの [全般] タブで、[デザイン モードを有効にする] オプションを [はい] に設定します。

  4. 添付タブで、次のパラメーターを設定します:

    • コンフィギュレーションフィールドで、DEMF 社のファイルタイプを選択します。
    • ジョブ アーカイブ一時的ベースライン、およびその他フィールドで、ファイルタイプを選択します。

ER パラメーターについては、ER フレームワークのコンフィギュレーション を参照してください。

ER 構成プロバイダーをアクティブにする

追加するすべての ER 構成は、ER 構成プロバイダーによって所有済みとしてマークされます。 この目的には、 電子レポート ワークスペースでアクティブ化する ER 構成プロバイダーが使用されます。 したがって、ER 構成に追加または編集する前に、電子申告ワークスペースの ER 構成プロバイダーを有効化する必要があります。

メモ

ER コンフィギュレーションの所有者のみがコンフィギュレーションを編集できます。 そのため、ER 構成を編集する前に、 電子レポート ワークスペースで適切な ER 構成プロバイダーをアクティブにします。

ER 構成 プロバイダーの一覧をレビュー

  1. 組織管理>ワークスペース>電子申告の順に移動します。
  2. ローカライズ構成の [関連リンク] セクションで、[構成プロバイダー] を選択します。
  3. 構成プロバイダー テーブルでは、各プロバイダー レコードに一意の名前と URL があります。 このページの内容をレビューします。 Litware, Inc. レコードが既に存在する場合は、次の手順をスキップし、新しい ER コンフィギュレーション プロバイダーを追加 します。

新しい ER 構成プロバイダーを追加

  1. 組織管理>ワークスペース>電子申告の順に移動します。
  2. ローカライズ構成の [関連リンク] セクションで、[構成プロバイダー] を選択します。
  3. [構成プロバイダー] で、[新規] を選択します。
  4. 名前フィールドに、Litware, Inc. と入力
  5. インターネット アドレスフィールドで、https://www.litware.com を入力します。
  6. 保存を選択します。

ER 構成プロバイダーをアクティブにする

  1. 組織管理>ワークスペース>電子申告の順に移動します。
  2. ローカライズ構成の [構成プロバイダー] セクションで、[Litware, Inc. ] タイルを選択し、[アクティブに設定] を選択します。

ER 構成 プロバイダーについては、構成 プロバイダーを作成し有効としてマークする を参照してください。

追加リソース