培训
模块
使用 Power Query 在 Dataverse 中加载数据 - Training
了解如何使用 Power Query 将来自不同源的数据同步到 Microsoft Dataverse 表并在 Power Apps 中创建数据流。
在 Power Query 中,可以合并给定数据源中的多个文件。 本文介绍在要合并的文件是 CSV 文件时体验的工作原理。 详细信息:合并文件概述
提示
可以通过此下载链接下载本文中使用的示例文件,来按此示例执行操作。 可以将这些文件放置在所选数据源中,例如本地文件夹、SharePoint 文件夹、Azure Blob 存储、Azure Data Lake Storage,或其他提供文件系统视图的数据源。
为简单起见,本文中的示例使用文件夹连接器。 详细信息:文件夹
要合并文件,文件必须具有相同的结构和相同的扩展名。 此示例中使用的所有文件都具有相同的结构和扩展名 (.csv)。
有 12 个 CSV 文件,2019 年日历年的每个月各一个。 下图显示了 1 月文件的前 15 行。
行数会因文件而异,但前四行中所有文件都有标题部分。 它们在第五行中有列标题,表的数据从第六行开始,然后继续浏览所有后续行。
目标是将所有 12 个文件合并到一个表中。 此合并表包含表顶部的标题行,并在标题行之后的单独列中包括整个年份的源名称、日期、国家/地区、单位和收入数据。
连接到托管要合并的文件的文件夹时(在本示例中,该文件夹的名称为 CSV 文件),将显示表预览对话框,该对话框在左上角显示文件夹路径。 数据预览显示文件系统视图。
对于此示例,选择合并。
备注
在不同情况下,可以选择转换数据,以进一步筛选和转换数据,然后再合并文件。 仅当确定文件夹仅包含要合并的文件时,才建议选择合并。
在表预览中选择合并后,将显示合并文件对话框。
备注
Power Query 会根据列表中的第一个文件自动检测要使用的连接器。 要了解有关 CSV 连接器的详细信息,请转到文本/CSV。
对于此示例,保留所有默认设置(示例文件设置为 第一个文件,以及文件原始格式、分隔符和数据类型检测的默认值)。
现在,选择右下角的转换数据以转到输出查询。
在合并文件对话框中选择转换数据后,将返回到 Power Query 编辑器,位于最初从连接到本地文件夹创建的查询。 输出查询现在包含最左侧列中的源文件名称,以及剩余列中每个源文件中的数据。
但是,数据的形状不正确。 在合并前,需要先从每个文件中删除前四行。 要在合并之前在每个文件中进行此更改,请在屏幕左侧的查询窗格中选择转换示例文件查询。
在此转换示例文件 查询中,日期列中的值指示为 4 月的数据,该月份采用年-月-日 (YYYY-MM-DD) 格式。 April 2019.csv 是表预览中显示的第一个文件。
现在需要应用一组新的转换来清理数据。 每个转换都将自动转换为帮助程序查询组中的函数,在合并每个文件中的数据之前,会将该函数应用于文件夹中的每一个文件。
需要添加到转换示例文件查询的转换包括:
删除前几行:要执行此操作,请选择表左上角的表图标菜单,然后选择删除前几行。
在删除前几行对话框中,输入 4,然后选择确定。
选择确定后,表将不再包含前四行。
将第一行用作标题:再次选择表图标,然后选择将第一行用作标题。
该操作的结果会将表的第一行提升为新的列标题。
完成此操作后,Power Query 默认将尝试自动检测列的数据类型,并添加新的已更改列类型步骤。
返回到 CSV 文件查询时,会注意到最后一步会收到一个错误,其中显示“未找到表的列‘列 1’”。此错误背后的原因是,查询的先前状态针对名为列 1 的列执行操作。 但由于对转换示例文件查询所做的更改,此列不再存在。 详细信息:处理 Power Query 中的错误
可以通过选择步骤名称左侧的 X 删除图标,从应用的步骤窗格中删除查询的最后一步。 删除此步骤后,查询将显示正确的结果。
但是,请注意,派生自文件(日期、国家/地区、单位、收入)的任何列都没有分配给这些文件的特定数据类型。 使用下表将正确的数据类型分配给每个列。
列名称 | 数据类型 |
---|---|
日期 | 日期 |
国家/地区 | 文本 |
单元 | 整数 |
收入 | 货币 |
定义每个列的数据类型后,即可加载表。
备注
要了解如何定义或更改列数据类型,请转到数据类型。
要验证是否已合并所有文件,可以在 Source.Name 列标题上选择筛选器图标,这将显示已合并的文件的所有名称。 如果收到警告“列表可能不完整”,请选择菜单底部的加载更多,以显示列中的更多可用值。
选择加载更多后,将显示所有可用的文件名。
培训
模块
使用 Power Query 在 Dataverse 中加载数据 - Training
了解如何使用 Power Query 将来自不同源的数据同步到 Microsoft Dataverse 表并在 Power Apps 中创建数据流。