Compartilhar via


Acessar diretamente os rótulos de opções do Azure Synapse Link para o Dataverse

O Microsoft Dataverse fornece metadados avançados que podem ser usados diretamente no Power Apps. Uma opção (lista de seleção) é um dos tipos mais usados de colunas que podem ser incluídas em uma tabela. Ele define um conjunto de opções. Quando uma opção é exibida em um formulário, ela usa um controle de lista suspensa. Você pode definir uma opção para usar um conjunto de opções definidas em si mesmo (localmente) ou pode usar um conjunto de opções definidas em outro lugar (globalmente), que pode ser usado por outras colunas de escolha.

Para obter mais informações sobre colunas de escolha, acesse Criar e editar a visão geral das escolhas globais.

Depois de criar um Link do Azure Synapse, as cinco tabelas a seguir são criadas em uma pasta chamada OptionsetMetadata no Azure Data Lake Storage Gen2:

  • OptionsetMetadata
  • GlobalOptionsetMetadata
  • StateMetadata
  • StatusMetadata
  • TargetMetadata

Tabelas criadas no Azure Synapse Analytics com colunas de escolha

StateMetadata e StatusMetadata armazenam o valor de opção Estado e Status a ser recuperado. TargetMetadata armazena metadados de relações de tabela a serem recuperados.

Nome da coluna Tipo de dados Valor de amostra Description
Nome da entidade String conta Nome atual da tabela do Dataverse.
Nome do atributo String ID de moeda de transação Nome da coluna atual
ReferencedEntity String transactioncurrency Nome da tabela do Dataverse relacionado
ReferencedAttribute String transactioncurrencyid Nome da coluna relacionada

Mais informações: Visão geral das relações de tabela.

OptionsetMetadata armazena os metadados de rótulo de opções locais nas tabelas importadas do Dataverse. GlobalOptionsetMetadata armazena os metadados de rótulo de opções globais e segue o mesmo esquema de tabela mais uma coluna extra, GlobalOptionSetName, uma combinação de nome de tabela e escolha.

Nome da coluna Tipo de dados Valor de amostra Description
EntityName String conta Nome da tabela do Dataverse.
OptionSetName String código de titularidade Nome da coluna.
Opção Bigint 1 Rótulo numérico especificado pelo usuário quando o item de escolha é criado.
IsUserLocalizedLabel booleano Falso Retornar Falso por padrão.
CódigoDoIdiomaParaRótulosLocalizados Bigint 1033 O código de idioma do rótulo de escolha, como 1033 para inglês (Estados Unidos) ou 1034 para espanhol (Espanha).
LocalizedLabel String Público Rótulo de texto especificado pelo usuário quando o item de escolha é criado. 
GlobalOptionSetName (somente GlobalOptionsetMetadata) String socialprofile_community uma combinação de tabela e nome de opção

Esquema de tabela OptionsetMetadata e GlobalOptionsetMetadata.

Nas tabelas do Dataverse, a coluna de escolha contém um valor numérico especificado pelo usuário, que é o mesmo valor de opção na tabela OptionsetMetadata descrita acima.

Pré-requisito

Link do Azure Synapse para Dataverse. Este artigo pressupõe que você já exportou dados do Dataverse usando o Link do Azure Synapse para Dataverse. 

Metadados de opção de acesso

  1. Selecione o vínculo do Azure Synapse desejado e, na barra de comandos, acesse o espaço de trabalho do Azure Synapse Analytics.  
  2. Expanda Bancos de dados do Lake no painel esquerdo, selecione dataverse-environmentName-organizationUniqueName e, em seguida, expanda Tabelas.  Todos os metadados de escolha listados estão disponíveis para análise.

Para consumir colunas de opções do Dataverse em um pool de SQL sem servidor.

  1. Clique com o botão direito do mouse no ícone do banco de dados e selecione Novo script SQL>Script vazio.
  2. Aplique um script SQL de junção para unir os metadados de escolha à tabela Dataverse e armazene a exibição em um novo banco de dados.

Exemplo de script SQL para unir metadados de escolha

Substitua <DATABASE_NAME>, <COLUMN_NAME> e <TABLE_NAME> pelo nome do banco de dados, coluna e tabela para substituir o valor de escolha numérica por um rótulo de texto significativo

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

Para obter mais informações sobre como consumir vários valores de conjunto de opções, você teria que usar o uso de expressões de tabela comuns.