Azure Synapse Link for Dataverse から選択ラベルに直接アクセスする

Microsoft Dataverse は Power Apps 内で直接使用できる豊富なメタデータを提供します。 選択肢 (候補リスト) は、テーブルに含めることができる列の中で最もよく使用されるタイプの 1 つです。 一連のオプションを定義します。 選択肢はフォームに表示されるとき、ドロップダウン リスト コントロールを使用します。 選択肢を定義して、それ自身で (ローカルに) 定義された一連のオプションを使用することも、ほかの選択肢列で使用できる他の場所で (グローバルに) 定義された一連のオプションを使用することもできます。

選択肢列の詳細については、グローバル選択肢の概要を作成および編集するに移動してください。

Azure Synapse Link の作成後、次の 5 つのテーブルが Azure Data Lake Storage Gen2 の OptionsetMetadata という名前のフォルダーに作成されます:

  • OptionsetMetadata
  • GlobalOptionsetMetadata
  • StateMetadata
  • StatusMetadata
  • TargetMetadata

Azure Synapse Analytics で作成されたテーブル選択肢列のあるテーブル

StateMetadataStatusMetadata には、取得する StateStatus 選択値が格納されます。 TargetMetadata には取得するテーブル リレーションシップ メタデータが格納されます。

列名 データ型 サンプルの値 説明
EntityName 文字列 アカウント 現在の Dataverse テーブル名。
AttributeName 文字列 transactioncurrencyid 現在の列名
ReferencedEntity 文字列 transactioncurrency 関連する Dataverse テーブル名
ReferencedAttribute 文字列 transactioncurrencyid 関連する列名

詳細情報: テーブルの関連付けの概要

OptionsetMetadata では、インポートされた Dataverse テーブルにローカル選択ラベル メタデータを格納されます。 GlobalOptionsetMetadata では、グローバル選択ラベル メタデータが格納され、同じテーブル スキーマに加えて、テーブルと選択肢名の組み合わせである GlobalOptionSetName という追加の列があります。

列名 データ型 サンプルの値 説明
EntityName  文字列 アカウント Dataverse テーブル名。
OptionSetName  文字列 ownershipcode  列名。
オプション Bigint 1 選択項目の作成時に、ユーザー指定した数値ラベル。
IsUserLocalizedLabel  ブール値 False 既定で False を返します。
LocalizedLabelLanguageCode  Bigint 1033 英語 (米国) の場合は 1033、スペイン語 (United States) の場合は 1034など、選択肢ラベルの言語コード。
LocalizedLabel   文字列 パブリック 選択項目の作成時に、ユーザー指定したテキスト ラベル。 
GlobalOptionSetName (GlobalOptionsetMetadata のみ) 文字列 socialprofile_community テーブルと選択肢名の組み合わせ

OptionsetMetadata および GlobalOptionsetMetadata テーブル スキーマ。

Dataverse テーブルで、選択列にはユーザー指定の数値が含まれます。これは、上記の OptionsetMetadata テーブルでオプションと同じ値です。

前提条件

Azure Synapse Link for Dataverse。 この記事では、Azure Synapse Link for Dataverse を使用して Dataverse からデータをすでにエクスポートしていることを前提としています。 

選択肢メタデータにアクセスする

  1. 希望の Azure Synapse Link を選択し、コマンド バーから Azure Synapse Analytics ワークスペースに移動する を選択します。  
  2. 左側ウィンドウから レイク データベースを展開し、dataverse-environmentName-organizationUniqueName を選択してから、 テーブルを展開します。  一覧表示されているすべての選択肢メタデータを分析用に使用できます。

サーバーレス SQL プールで Dataverse 選択肢列を使用するには。

  1. データベース アイコンを右クリックしてから、新しい SQL スクリプト > 空のスクリプトを選択します。
  2. 結合 SQL スクリプトを適用して、選択肢メタデータを Dataverse テーブルに結合させ、ビューを新しいデータベースに保存します。

選択肢メタデータを結合する SQL スクリプトの例

<DATABASE_NAME><COLUMN_NAME>、および <TABLE_NAME> をデータベースの名前、列の名前、およびテーブルの名前に置き換えると、数値の選択値が意味のあるテキスト ラベルに置き換わります

SELECT [LocalizedLabel] as [<COLUMN_NAME>] 
FROM [<DATABASE_NAME>].[dbo].[<TABLE_NAME>_partitioned] 
LEFT JOIN [<DATABASE_NAME>].[dbo].[OptionsetMetadata] 
ON ([<DATABASE_NAME>].[dbo].[OptionsetMetadata].[Option] = [<DATABASE_NAME>].[dbo].[<TABLE_NAME>_partitioned].[<COLUMN_NAME>] AND [<DATABASE_NAME>].[dbo].[OptionsetMetadata].[OptionSetName] = <COLUMN_NAME>)

複数のオプション セット値を使用する方法の詳細については、共通テーブル式の使用を使用する必要があります。