次の方法で共有


カスタム因子マッピング (プレビュー)

重要

この機能の一部またはすべては、プレビュー リリースの一部として利用できます。 コンテンツおよび機能は変更される場合があります。

Microsoft Sustainability Manager 要素マッピングで組み込みの参照データを使用します。 カスタム要素マッピングを使用して、利用可能な要素マッピングのセットを拡張できます。 たとえば、会計年度 やカスタム リージョンなどの要素に基づいてアクティビティの計算をピボットすることができます。 この記事では、この高度な構成について説明します。この構成は、Power Platform 管理センター で完了しておく必要があります。

注意

この記事の手順は、Microsoft Dataverse 管理と API に関する高度な専門知識が必要となります。 この記事では、一般的なプラットフォームの操作については詳しく説明しません。 Power Platform 管理センターへのフルアクセスを持つ認可された管理者のみが、これらの設定ステップを完了することができます。

Sustainability Manager を拡張してカスタム要素マッピングを使用するには、次の手順に従います:

カスタム参照データを作成する

新しいテーブルの作成

  1. Power Apps ポータルで、因子マッピングで参照データとして使用する新しいテーブルを作成します。

  2. 主カラム名を Name に変更します。

    次の例は、カスタム リージョン の新しいテーブルを示しています。

    「カスタム リージョン」という新しいテーブルのスクリーンショット。

    この例では、会計年度 の新しいカスタム係数テーブルも作成しました。

  3. Name 列を、 naturalkey という名前の 代替キー として設定します。

    Name 列を Naturalkey として設定するスクリーンショット。

Sustainability Managerにテーブルを追加

Power Appsに新しいテーブルを追加する場合は、Sustainability Managerアプリ モジュールにも追加する必要があります。

  1. Power Apps ポータルでは、選択 Sustainability Managerです。

  2. Sustainability Manager tile, 選択 省略記号 (...) をクリックし、次に 選択 [アプリ デザイナーで開く] をクリックします。

    アプリ デザイナーでアプリを開いたスクリーンショット。

  3. アプリ デザイナーで、選択 データ 、次に 選択 テーブル名の検索 を選択します。

  4. 選択 で省略記号 (...) を削除し、選択 アプリに追加、選択 保存 してから、選択 公開 します。

    アプリにテーブルを追加するスクリーンショット。

テーブルはSustainability Managerに追加され、参照データ リストとナビゲーションに表示されます。

ナビゲーションから削除する場合は、左側のナビゲーション ペインで 選択 ページ をクリックします。 テーブルを 選択 し、選択 ナビゲーションから削除、選択 保存 して、選択 公開 します。

ナビゲーションからテーブルを削除するスクリーンショット。

カスタマイズのためのソリューションを作成する

既定のエンティティは 管理ソリューション にあるため、新しいソリューションを作成し、アクティビティ エンティティと新しいカスタム参照データ エンティティをそこにインポートする必要があります。

  1. ソリューション ページで、新しいソリューション を選択します。 新しいソリューションの情報を入力し、作成 を選択します。

    新規ソリューション作成のスクリーンショット。

  2. オブジェクト ページで 既存の追加 を選択し、テーブル を選択します。

    新しいソリューションにテーブルを追加するスクリーンショット。

  3. 既存のテーブルの追加 ページで、アクティビティと作成したカスタム参照データ テーブルを 選択 します。 この例では、 購入したエネルギー アクティビティ テーブルと カスタム リージョン 参照データ テーブルを追加しました。

    新しいソリューションに購入エネルギー テーブルを追加したスクリーンショット。

    新しいソリューションにカスタム リージョン テーブルを追加したスクリーンショット。

ルックアップを使用してアクティビティ テーブルを拡張する

  1. 新しい多対一の関係をアクティビティ テーブルから拡張要素テーブルに追加します。 この例では、 購入したエネルギー アクティビティ テーブルから カスタム リージョン 参照データ テーブルに多対1のリレーションシップを追加しています。

    多対一の関係を追加するスクリーンショット。

アプリにカスタム参照データテーブルを追加する

ヒント

これは必須の 手順 です。 カスタム参照データ テーブルをナビゲーション メニューに含めたくない場合でも、テーブルをアプリに追加する必要があります。 この 手順 をスキップすると、ファクター マッピング のインポートまたは手動入力エクスペリエンスで参照データを利用できなくなります。

  1. Sustainability Manager Appオブジェクトを新しいソリューションに追加します。

    Sustainability Manager を追加するスクリーンショット。

    次の例は、新しいソリューションとそのリソースを示しています。

    ソリューションとリソースのスクリーンショット。

  2. 選択 Sustainability Manager で開き、編集モード で開いてから、選択 New を選択します。 ページの追加 ウィンドウで Dataverse テーブル を選択します。

    Dataverse テーブルの追加のスクリーンショット。

  3. 既存のテーブルを選択する を選択します。 選択 テーブル ペインで、因子マッピングに使用する各カスタム参照データ テーブルを 選択 します。 追加を選択します。

    ヒント

    カスタム参照テーブルをナビゲーション メニューに表示したくない場合は、 [ナビゲーションに表示] チェックボックスをオフにします。

    各カスタム要素テーブルに Dataverse テーブルを追加するスクリーンショット。

    他のすべてのページ に、新しく追加されたカスタム テーブルが表示されます。

  4. 変更を保存し、公開します。

この手順は Dataverse API 経由でのみ利用できるため、開発者の専門知識が必要です。

カスタム テーブルの要素マッピングの複数テーブル ルックアップをカスタマイズする必要があります。 Power Apps Web API は、Insomnia などのツールや好みの API クライアントで使用できます。 Insomnia で認証済みの POST リクエストを送信する方法については、Dataverse Web API で Insomnia を使う を参照してください。

カスタム テーブルごとに、計算で要素マッピングを有効にする必要があります。 この例では、カスタム リージョン会計年度 テーブルに対してこれを行う必要があります。 各テーブルの論理名が必要です。 たとえば、カスタム リージョン の論理名は cr040_newtable で、会計年度 の論理名は cr040_newtable1 です。

カスタム テーブルごとに、要素マッピングに使用される各多態性ルックアップ、つまり論理名 msdyn_emissionlookup を持つテーブルを更新する必要があります。 これらのルックアップには、次の論理名があります:

  • msdyn_referencedataid
  • msdyn_referencedata2id
  • msdyn_referencedata3id
  • msdyn_referencedata4id

単一のカスタム テーブルの場合、要素マッピングで使用される 4 つのルックアップごとに 1 つずつ、計 4 つの POST リクエストを送信する必要があります。 Insomnia などの高度なツールまたは基本設定の API クライアントを使用して、組織の RelationshipDefinitions API に POST 要求を行います。

この場合、エンドポイント は https://<orgurl>/api/data/v9.2/RelationshipDefinitions です。 8 つの POST リクエストのそれぞれに次のサンプル ペイロードを使用しました (それぞれ 4 つのリクエストを持つ 2 つのテーブル)。

メモ

「スキーマ名」 あなたの中でユニークでなければならない Dataverse 環境.

{
  "SchemaName": "msdyn_msdyn_emissionlookup_<custom factor table name>",
  "@odata.type": "Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata",
  "CascadeConfiguration": {
    "Assign": "NoCascade",
    "Delete": "RemoveLink",
    "Merge": "NoCascade",
    "Reparent": "NoCascade",
    "Share": "NoCascade",
    "Unshare": "NoCascade"
  },
  "ReferencedEntity": "<custom factor table logical name>",
  "ReferencingEntity": "msdyn_emissionlookup",
  "ReferencingAttribute": "<polymorphic lookup name>",
  "Lookup": {
    "AttributeType": "Lookup",
    "AttributeTypeName": {
      "Value": "LookupType"
    },
    "SchemaName": "<polymorphic lookup name>",
    "@odata.type": "Microsoft.Dynamics.CRM.LookupAttributeMetadata"
  }
}

次の表は、8 つの POST リクエストで使用した <カスタム要素テーブル名><カスタム要素テーブルの論理名><ポリモーフィック ルックアップ名> の値です。

要求 カスタム要素テーブル名 カスタム要素テーブルの論理名 ポリモーフィック ルックアップ名
1 FiscalYear_RDId cr040_newtable1 msdyn_referencedataid
2 FiscalYear_RDId2 cr040_newtable1 msdyn_referencedata2id
3 FiscalYear_RDId3 cr040_newtable1 msdyn_referencedata3id
4 FiscalYear_RDId4 cr040_newtable1 msdyn_referencedata4id
5 CustomRegion_RDId cr040_newtable msdyn_referencedataid
6 CustomRegion_RDId2 cr040_newtable msdyn_referencedata2id
7 CustomRegion_RDId3 cr040_newtable msdyn_referencedata3id
8 CustomRegion_RDId4 cr040_newtable msdyn_referencedata4id

POST リクエストに成功すると、HTTP 204 レスポンスが返されます。

これらの操作は、要素マッピング テーブルのリレーションシップを検査することで確認できます。

要素マッピング テーブルの リレーションシップ のスクリーンショット。

変更を別の環境にエクスポートする場合は、前に追加した リレーションシップ をソリューションに含めてエクスポートできます。

  1. テーブル で 、すべて タブを選択し、参照データ (msdyn_referencedata) を選択します。

  2. 新しい要素タイプごとに以下の情報を追加します:

    フィールド 説明
    名前 テーブルの複数名。 たとえば、カスタム領域 または 会計年度 です。
    カテゴリ 参照データ
    エンティティ名 テーブルの論理名。すべて小文字です (テーブルのスキーマ名ではありません)。 たとえば、 cr040_newtable または cr040_newtable1

Sustainability Manager に外部テーブルへのアクセスを許可する

まだ提供されていない場合は、計算で使用できるように、Sustainability Manager に外部テーブルへのアクセス権を与える必要があります。

  1. ソリューション > Microsoft Sustainability Manager アプリケーションApplication に移動します。

  2. セキュリティ ロールを選択し、持続可能性サービス アプリケーション ロール – カスタム を選択します。 新しいブラウザー タブが開きます。

  3. 新しいブラウザのタブで、カスタム エンティティ タブを選択します。

  4. 要素マッピングに使用するカスタム テーブルごとに、読み取り追加 権限を組織レベルで提供します。

    メモ

    カスタム テーブルごとに、ルックアップによって参照されるテーブルに対して組織全体の 読み取り 権限を与える必要もあります。 たとえば、カスタムリージョンContoso SKU テーブルへのルックアップがある場合、Contoso SKU テーブルに 読み取り 権限を与える必要があります。

  5. 保存して閉じます。

ユーザーにテーブルへのアクセスを許可する

カスタム リージョン会計年度 などのカスタム テーブルごとに、Power Apps 要素マッピングを取り込むか計算を実行するユーザーには、テーブルに対する次の組織全体の権限があります。

  • 追加先 摂取用

  • 読む 因子マッピングを作成したり、カスタムテーブルを使用する計算内で因子マッピングを使用する場合

  1. すべてのカスタマイズが Power Apps ポータルに公開されていることを確認します。

  2. カスタム参照データ テーブル (この例では カスタム リージョン会計年度 ) に入力します。

    値を含む会計年度テーブルのスクリーンショット。

  3. Sustainability Managerまたは Power Apps ポータルを使用して因子マッピングをインポートまたは入力します。

    カスタム要素のマッピングのスクリーンショット。

  4. Sustainability Managerを使用してアクティビティ データをインポートまたは入力します。

次の画像は、カスタム参照データ ( カスタム領域 および会計年度 ) を使用するマッピングを含む、 Extended Factors Library と呼ばれる 係数ライブラリ の例を示しています。

拡張因子ライブラリのスクリーンショット。

算定モデルで拡張係数を使用する

Power Apps ポータルで、算定モデルを設計し、算定プロファイルで使用します。

算定モデルの設計のスクリーンショット。

注意

算定プロファイルでフィルタリングを使用して、ルックアップに値があることを確認できます。

必要に応じて、算定プロファイルで拡張属性を使用できます。

拡張属性を使用した画面のスクリーンショット。

よくあるご質問

新しい因子 マッピング を手動で作成すると、カスタム テーブルが参照データのオプションとして表示されません。

  1. ユーザーがカスタム テーブルに対する適切な権限を持っていることを確認してください。

  2. カスタム テーブルに少なくとも 1 つのレコードがあることを確認してください。

  3. msdyn_referencedataにカスタム テーブルのスキーマ名 (大文字と小文字が区別されます) を追加したことを確認します。

  4. この記事の前半で説明したように、カスタム テーブルが Sustainability Manager Appオブジェクトに追加されていることを確認します。

  5. ブラウザからページをハードリフレッシュします。

因子マッピングをインポートすると、カスタム参照データテーブルがフィールドのオプションとして表示されません マッピング エクスペリエンス

  1. ユーザーがカスタム テーブルに対する適切な権限を持っていることを確認してください。

  2. msdyn_referencedataにカスタム テーブルのスキーマ名 (大文字と小文字が区別されます) を追加したことを確認します。

  3. この記事の前半で説明したように、カスタム テーブルが Sustainability Manager Appオブジェクトに追加されていることを確認します。

  4. ブラウザからページをハードリフレッシュします。

カスタム テーブルのレコードは、データ承認の目的で「承認済み」または「保留中」とみなされますか?

カスタム テーブルのすべてのレコードは、計算の要素マッピングのコンテキストでのデータ承認の目的で「承認済み」とみなされます。

ユーザーの権限prvAppendTo_[カスタムテーブル]が不足しているため、因子マッピングのインポートに失敗しました

Sustainability Managerアプリケーション ユーザーまたは現在のユーザーには、カスタム テーブルに対する 追加 権限が付与されていませんでした。 Sustainability Manager とユーザーの両方が適切な権限を持っていることを確認してから、インポートを再試行してください。

算定モデルでは、レポート ノードの排出係数、または推定係数ノードの推定係数ドロップダウンの係数マッピング セクションにカスタム テーブルがオプションとして表示されません

カスタム テーブルに msdyn_referencedata レコードを追加したことを確認してください。

カスタム テーブルの msdyn_referencedata レコード内の エンティティ名 の値に、スキーマ名ではなくテーブルの論理名 (大文字と小文字が区別される) が含まれていることを確認してください。 テーブル > プロパティ に移動し、詳細オプション を展開して、論理名を表示します。

算定ソースのアクティビティ データに、カスタム テーブルを指すルックアップ フィールドがあることを確認してください。 たとえば、固定燃焼カスタム リージョン へのルックアップを持つようにカスタマイズし、移動燃焼 を持たないようにカスタマイズした場合、移動燃焼 の計算は Contoso リージョンに基づく係数マッピングを使用することができません。

複数の環境をカスタマイズする

ある環境でこれらのカスタマイズを行ってから、別の環境に適用することが必要になる場合があります。 たとえば、すべてのカスタマイズを開発環境で行い、それを運用環境にインポートする必要がある場合があります。 この場合、次の手順に従って作業の重複を最小限に抑えることができます。

  1. ある環境から別の環境に変更をエクスポートするために使用したソリューションでは、そのソリューションに次のカスタマイズを含める必要があります。

    • Sustainability Manager へのカスタム テーブルの追加。

    • 要素マッピングの多態性検索への リレーションシップ の追加。

    その後、アプリケーション ライフサイクル管理 (ALM) 用のソリューションをインポートできます。

  2. 環境ごとに、次のアクションを実行します:

    • msdyn_referencedata レコードを追加します。

    • Sustainability Manager アプリケーション セキュリティ ロール をカスタマイズします。