在标准数据流中映射具有关系的字段
在标准数据流中映射具有关系的字段
在Microsoft Power Platform的Dataverse中处理数据关系和查找字段是数据管理中的重要环节。本文将详细介绍如何在标准数据流中映射具有关系的字段,帮助用户更好地理解和应用这一功能。
本文内容
在标准数据流中,可轻松将数据流查询中的字段映射到Dataverse表中。但是,如果Dataverse表附带查找或关系字段,则需考虑其他注意事项以确保此流程正常运行。
关系是什么,又为什么需要此关系?
如果你有数据库开发背景,则应熟悉表间关系的概念。但是,Microsoft Power Platform服务的很多用户并无此背景。你可能想知道关系是什么,或者为什么要在表之间创建关系。
表及其关系是数据库设计的基本概念。 若要了解有关关系的所有内容则已超出本文的范围。但是,我们会在此处对其进行常规讨论。
假设你想在Dataverse中存储有关客户及其详细信息(包括区域)的信息。你可在一个表中保留所有内容。可将表命名为Customers,并且其中可包含若干字段,例如CustomerID、Name、Birthdate和Region。现在,假设你还有一个表,其中包含店铺的信息。此表可包含若干字段,例如Store ID、Name和Region。可以看到,这两个表中都有区域字段。没有一个地方可获取所有区域。因为,某些区域的数据位于Customers表中,还有一些则位于Stores表中。如果你曾通过此信息构建过应用程序或报告,则始终须将两个区域的信息合二为一。
而在数据库设计实践中,则会在类似上述方案的场景中为Region创建一个表。此Region表将包含Region ID、Name和其他有关区域的信息。另外两个表(Customers和Stores)将使用一个字段(如果这两个表中都有ID,则可能是Region ID;如果能唯一确定区域,则是Name)链接到此表。这意味会在Stores和Customers表与Region表之间建立关系。
在Dataverse中,可通过多种方式创建关系。其中一种方法是创建一个表,然后在一个表中创建一个实为与另一表的关系(或查找)的字段,如下一节中所述。
什么是查找或关系字段?
在Dataverse中,可将字段定义为查找字段,该字段指向另一表。
在上图中,Region字段是名为Region Lookup的另一表的查找字段。 若要详细了解不同类型的关系,请转到创建表间关系。
当字段映射不显示关系字段时
如果在一个指向另一表的表中创建了查找字段,则该字段可能不会显示在数据流的映射中。这是因为关系中涉及的目标实体要求定义一个Key字段。然后,此最佳做法可确保该字段在数据流的表映射中可映射。
设置表中的Key字段
若要设置表中的键字段,请转到键选项卡,然后将键添加到具有唯一值的某一字段。
设置键字段后,可在数据流的映射中看到该字段。
已知限制
- 目前,不支持映射到多态查找字段。
- 目前,不支持映射到多级查找字段(指向另一表的查找字段的查找)。
- 标准表的查找字段(除非它们包含本文档中所述的备用键字段)不会显示在“映射表”对话框中。
- 将数据加载到配置为分层数据结构的表时,数据流无法保证正确的加载顺序。
- 无法保证查询执行顺序或将数据加载到Dataverse表的顺序。建议将子表和父表分为两个数据流,并首先刷新包含子项目的数据流。
- 不支持映射到IsValidForCreate属性设置为false的字段(例如,“联系人”实体的“帐户”字段)。
本文原文来自微软官方文档