将数据集成到 Dataverse 时发生的常见方案之一是将其与源保持同步。 使用标准数据流,可以将数据加载到 Dataverse 中。 本文介绍如何使数据与源系统保持同步。
键列的重要性
如果使用关系数据基础系统作为源,通常表中有键列,并且数据的格式正确,可加载到 Dataverse 中。 但是,Excel 文件中的数据并不总是那么干净。 您通常会有一个 Excel 文件,其中包含数据工作表,但没有任何关键列。 在 标准数据流的字段映射注意事项中,可以看到,如果源中有键列,可以轻松将其用作数据流字段映射中的备用键。
具有键列对于 Dataverse 中的表很重要。 键列是行标识符;此列在每个行中包含唯一值。 使用键列有助于避免重复行,它还有助于将数据与源系统同步。 如果从源系统中删除一行,拥有一个键列有助于查找并将其从 Dataverse 中删除。
创建键列
如果数据源中没有键列(Excel、文本文件或任何其他源),则可以使用以下方法生成一个:
清理数据。
创建键列的第一步是删除所有不必要的行、清理数据、删除空行以及删除任何可能的重复项。
添加索引列。
清理数据后,下一步是向其分配键列。 为此,可以在“添加列”选项卡中使用添加索引列功能。
添加索引列时,可以使用某些选项来自定义索引列,例如,对起始编号进行自定义或每次跳转的值数。 默认起始值为零,每次递增一个值。
将键列用作备用键
有了键列后,可以将数据流的字段映射分配给备用键。
设置很简单,只需设置备用键即可。 但是,如果你有多个文件或表,则还有一个步骤需要考虑。
如果有多个文件
如果只有一个 Excel 文件(或工作表或表格),则上一过程中的步骤足以设置备用键。 但是,如果你有多个具有相同结构(但具有不同数据)的文件(或工作表或表),则可以将它们追加到一起。
如果要从多个 Excel 文件获取数据,Power Query 的 “合并文件 ”选项将自动追加所有数据,并且输出将如下图所示。
如上图所示,除了追加结果外,Power Query 还会引入包含文件名的 Source.Name 列。 每个文件中的索引值可能是唯一的,但它在多个文件中并不唯一。 但是,索引列和 Source.Name 列的组合是唯一的组合。 为此方案选择复合备用键。
删除查询输出中不再存在的行
最后一步是选择 已不在查询结果中的删除行。 此选项将 Dataverse 表中的数据与基于备用键(可能是复合键)的源中的数据进行比较,并删除不再存在的行。 因此,Dataverse 中的数据将始终与数据源同步。