Доступ к подписям выбора непосредственно из Azure Synapse Link for Dataverse

Microsoft Dataverse предоставляет функциональные метаданные, которые можно использовать непосредственно внутри Power Apps. Вариант (список вариантов) — это один из наиболее часто используемых типов столбцов, которые могут быть включены в таблицу. Он определяет набор параметров. Когда набор выбора отображается в форме, он имеет вид элемента управления "раскрывающийся список". Можно определить набор выбора, в котором будут использоваться параметры, определенные в пределах его самого (локально), либо параметры, определенные где-либо еще (глобально), которые могут использоваться другими столбцами наборов выбора.

Дополнительные сведения о столбцах выбора см. в разделе Обзор создания и редактирования глобальных вариантов выбора.

После создания Azure Synapse Link следующие пять таблиц создаются в папке с именем OptionsetMetadata в Azure Data Lake Storage Gen2:

  • OptionsetMetadata
  • GlobalOptionsetMetadata
  • StateMetadata
  • StatusMetadata
  • TargetMetadata

Таблицы, созданные в Azure Synapse Analytics со столбцами выбора

StateMetadata и StatusMetadata сохраняют значение выбора Состояние и Статус для извлечения. 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 для английского (США) или 1034 для испанского (Испания).
LocalizedLabel   Строка Открытая Указанная пользователем текстовая подпись при создании элемента выбора. 
GlobalOptionSetName (только GlobalOptionsetMetadata) Строка socialprofile_community комбинация имени таблицы и варианта

Схема таблицы OptionsetMetadata и GlobalOptionsetMetadata.

В таблицах Dataverse столбец варианта содержит указанное пользователем числовое значение, которое совпадает со значением Вариант в таблице OptionsetMetadata, описанная выше.

Необходимые условия

Azure Synapse Link for Dataverse. В этой статье предполагается, что вы уже экспортировали данные из Dataverse с помощью Azure Synapse Link for Dataverse. 

Доступ к вариантам метаданных

  1. Выберите желаемый Azure Synapse Link, а затем выберите элемент Перейти к рабочей области Azure Synapse Analytics в строке команд.  
  2. Разверните Базы данных озер в левой области, выберите dataverse-environmentName-organizationUniqueName, а затем разверните Таблицы.  Все перечисленные метаданные варианта доступны для анализа.

Использование столбцов вариантов Dataverse с бессерверным пулом SQL.

  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>)

Для получения дополнительной информации о том, как использовать несколько значений набора параметров, см. раздел Использование общих табличных выражений.