可直接从 Azure Synapse Link for Dataverse 获取选择标签

Microsoft Dataverse 提供了可在 Power Apps 中直接使用的丰富元数据。 选择项(选择列表)是可以包含在表中的最常用的列类型之一。 它定义了一组选项。 在窗体中显示选项时,它使用下拉列表控件。 可以定义一个选择来使用本地(自身)定义的选项集,或使用在其他位置(全局)定义的选项集,这些选项集可以被其他选择列使用。

有关选择列的详细信息,请转到 “创建和编辑全局选项”概述

创建 Azure Synapse Link 后,以下五个表在 Azure Data Lake Storage Gen2 中名为 OptionsetMetadata 的文件夹中创建:

  • OptionsetMetadata
  • GlobalOptionsetMetadata
  • StateMetadata
  • StatusMetadata
  • TargetMetadata

使用选择列在 Azure Synapse Analytics 中创建的表

StateMetadataStatusMetadata 存储要检索 的状态状态 选择值。 TargetMetadata 存储要检索的表关系元数据。

列名称 数据类型 示例值 Description
实体名称 String 帐户 当前 Dataverse 表名称。
属性名称 String 交易货币ID 当前列名
ReferencedEntity String transactioncurrency 相关 Dataverse 表名称
ReferencedAttribute String transactioncurrencyid 相关列名称

详细信息: 表关系概述

OptionsetMetadata 将本地选项标签元数据存储在导入的 Dataverse 表中。 GlobalOptionsetMetadata 存储全局选择标签元数据,并遵循相同的表架构,不过增加了一个额外的列,名为 GlobalOptionSetName,这是表和选择名称的组合。

列名称 数据类型 示例值 Description
EntityName String 帐户 Dataverse 的表名称。
OptionSetName String ownershipcode 列名称。
选项 Bigint 1 创建选择项时指定的用户数字标签。
IsUserLocalizedLabel 布尔 默认情况下返回 False。
本地化标签语言代码 Bigint 1033 所选标签的语言代码,如英语(美国)的 1033 或西班牙语(西班牙)的 1034。
本地化标签 String 公众 创建选择项时,用户指定的文本标签。 
GlobalOptionSetName(仅 GlobalOptionsetMetadata) String 社交档案_社区 表和选择名称的组合

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

有关如何使用多个选项集值的详细信息,您必须使用使用通用表表达式