使用 Power Query 将数据添加到 Microsoft Dataverse 中的表

在此过程中,使用 Power Query 在 Dataverse 中创建一个表,并使用 OData 源中的数据填充该表。 你可以使用相同方法集成来自这些联机源和本地源的数据,等等:

  • SQL Server
  • Salesforce
  • IBM DB2
  • Access
  • Excel
  • Web API
  • OData 源
  • 文本文件

你还可以在将数据加载到新表或现有表之前筛选、转换和合并数据。

如果没有 Power Apps 的许可证,您可以免费注册

先决条件

在开始关注本文之前:

  • 切换到可在其中创建表的环境
  • 你必须具有 Power Apps 每用户计划或 Power Apps 每应用计划。

指定数据源

  1. 登录到 Power Apps

  2. 在导航窗格中,选择

    导航窗格的屏幕截图,其中选择了“表”选项卡并打开了“表”窗格。

  3. 在命令菜单中,选择“导入”>“导入数据”。

  4. 在数据源列表中,选择 OData

    Power Query 数据源选择已打开并突出显示 OData 连接器的屏幕截图。

  5. 在“连接设置”下,键入或粘贴以下 URL,然后选择“下一步”:

    https://services.odata.org/V4/Northwind/Northwind.svc/

  6. 在表列表中,选中客户复选框,然后选择下一步

    Power Query 导航器对话框的屏幕截图,其中选择了“客户”表。

  7. (可选)通过选择要包含的列、以一种或多种方式转换表、添加索引或条件列或进行其他更改来修改架构以满足你的需求。

  8. 在右下角,选择下一步

指定目标表(预览版)

  1. 加载设置下,选择加载到新表

    带有“加载到新表”设置的加载设置菜单的屏幕截图。

    你可以为新表提供其他名称或显示名称,但请保留默认值,以便严格遵循本教程。

  2. 唯一主要名称列列表中,选择 ContactName,然后选择下一步

    你可以指定其他主要名称列,或将源表中的其他列映射到表中要创建的每一列,或者两项操作都执行。 你还可以指定是否应将查询输出中的文本列创建为 Dataverse 中的多行文本或单行文本。 若要严格遵循本教程,请保留默认列映射。

  3. 针对“Power Query - 刷新设置”选择手动刷新,然后选择发布

  4. Dataverse(靠近左边缘)下面,选择以显示数据库中的表列表。

    从 OData 源创建的 Customers 表显示为自定义表。

    标准表和自定义表的列表的屏幕截图,其中突出显示了“客户”表。

警告

将数据加载到 Dataverse 表时,可能会修改或删除现有数据,同时启用删除查询输出中不再存在的行或定义主键列。

加载到现有表(预览版)

如果选择“加载到现有表”,则可指定要将数据加载到的现有 Dataverse 表。

选择表下拉列表时,下拉菜单顶部最多可以选择三个推荐的 Dataverse 表,后面是所有其他 Dataverse 表。 这些表推荐基于将列元数据(列名和列类型)与现有 Dataverse 表的列元数据进行比较。 最多推荐三个 Dataverse 表,并首先列出最强的推荐。 如果没有找到推荐,则下拉菜单默认仅列出所有表。

“选择目标设置”对话框的屏幕截图,其中包含推荐的表。

选择将数据加载到哪个 Dataverse 表后,然后选择导入方法。 默认情况下选择“追加”,并将数据作为更多行添加到之前选择的 Dataverse 表中。 合并更新 Dataverse 表中的现有行。 如果选择了“合并”,则可以选择要使用的主键列。

“选择目标设置”对话框的屏幕截图,其中显示了导入方法选项。

列映射(预览版)

选择目标 Dataverse 表并指定导入方法后,列将分组为已映射、可能匹配和未映射。 可以通过选择顶部的“已映射”、“可能匹配”或“未映射”选项卡,或者停留在默认“全部显示”选项卡(列出所有映射),来切换这些分组。

“选择目标设置”对话框的屏幕截图,其中显示了列映射选项。

源列和目标列映射分组如下:

  • 已映射项:列名含义与两列数据类型之间具有高置信度语义匹配。

  • 未映射:找不到此列的高置信度语义列匹配项。 如果此列是必需列,则必须手动选择要将此数据映射到的源列才能继续。

  • 可能匹配:列名含义之间的语义匹配,但源列和目标列的数据类型不同。

当对源列的映射进行手动更改时,状态将更改为“已映射”,除非列数据类型不同。 在这种情况下,状态将更新为“可能匹配”。 与所有可能匹配项一样,推荐的操作消息建议返回数据流中的一个步骤,并更改源列类型以匹配 Dataverse 表中的目标列类型。

已知限制

目前,AI 辅助映射只能检测列之间的类型不匹配。 以下列表中的其他列映射质询不会被检测到,因为它们需要预览传入数据的记录:

  • 截断:源和目标之间的语义匹配的置信度高,但源中的至少一条记录的字符数超过了目标列的字符数限制。

  • 值限制:源和目标之间的语义匹配的置信度高,但源中的至少一条记录包含一个超过目标列设置的值限制范围的值。

  • 查找值:源和目标之间的语义匹配的置信度高,但源中的至少一条记录包含目标列设置的查找值中不存在的值。

如果出现关于权限的错误消息,请与管理员联系。

解决方案提供了有关表选择和列映射的建议,但特定 Power Platform 环境中可能无法使用。 如果无法检测到此解决方案,则系统将不会提供表选择和列映射的建议。 但是,可以继续手动继续操作。