调整初始数据

已完成

Power BI Desktop 中的 Power Query 编辑器允许您调整(转换)导入的数据。 您可以完成如下操作:重命名列或表、将文本更改为数字、删除行、将第一行设为标头等。 无需更新原始数据源,即可执行上述所有操作。 务必对数据进行调整,以确保它满足您的需求并且适合在报表中使用。

您已将来自两个来源的原始销售数据加载到 Power BI 模型中。 部分数据来自销售团队在 Microsoft Excel 中手动创建的 .csv 文件。 其他数据是通过连接到您组织的企业资源规划 (ERP) 系统加载的。 现在,当您查看 Power BI Desktop 中的数据时,您会发现这些数据杂乱无章;一些数据不是您所需的,一些您需要的数据格式不正确。

您需要使用 Power Query 编辑器清理和调整此数据,然后才能开始生成报表。

Power Query 编辑器入门

若要开始调整数据,请通过选择 Power BI Desktop 的主页选项卡上的转换数据选项来打开 Power Query 编辑器。

在 Power Query 编辑器中,所选查询中的数据显示在屏幕中间,左侧的查询窗格列出了可用的查询(表)。

当您在 Power Query 编辑器中工作时,系统会记录您为了调整数据而采取的所有步骤。 然后,每当查询连接到数据源时,它会自动应用您的步骤,从而使您的数据始终按您指定的方式调整。 Power Query 编辑器仅修改数据视图,因此您可以放心,原始数据源保持不变。 您可以在屏幕右侧的查询设置窗格中查看步骤列表以及查询的属性。

Power Query 编辑器功能区包含许多按钮,可用于选择、查看和调整您的数据。

若要了解有关可用特性和功能的详细信息,请参阅查询功能区

注意

在 Power Query 编辑器中,右键单击上下文菜单和功能区中的转换选项卡提供许多相同的选项。

标识列标头和名称

调整初始数据的第一步是标识数据中的列标头和名称,然后评估它们的位置,以确保它们处于正确位置。

在下面的屏幕截图中,SalesTarget(未提供示例)的 csv 文件中的源数据有一个按产品分类的目标,以及按月份拆分的一个子类别,这两者都整理成列。

但是,您会注意到数据没有按预期导入。

这使数据难以阅读。 在数据处于当前状态时会发生问题,因为列标头位于不同的行中(标记为红色),并且若干列有未描述的名称,例如 Column1Column2 等。

在识别了列标头和名称所在的位置后,可以进行更改以重新整理数据。

提升标头

在 Power BI Desktop 中创建表后,Power Query 编辑器假定所有数据都属于表行。 但是,数据源的第一行可能会包含列名称,这是之前 SalesTarget 示例中发生的情况。 若要更正此错误,您需要将第一个表行提升为列标头。

您可以通过两种方法提升标头:选择主页选项卡上的使用第一行作为标头选项,或选择 Column1 旁边的下拉按钮,然后选择使用第一行作为标头

下图说明了使用第一行作为标头功能如何影响数据:

重命名列

调整数据的下一步是检查列标头。 您可能会发现,一列或多列的标头错误、标头拼写错误,或者标头命名约定不一致或对用户不友好。

请参阅上一个屏幕截图,其中显示了使用第一行作为标头功能的影响。 请注意,包含子类别名称数据的列现在使用作为其列标头。 此列标头不正确,因此需要对它进行重命名。

您可以通过两种方式重命名列标头。 一种方法是右键单击标头,选择重命名,编辑名称,然后按 Enter。 或者,您可以双击列标头并使用正确的名称覆盖该名称。

还可以通过以下方法解决此问题:删除(跳过)前两行,然后将列重命名为正确名称。

删除前几行

在调整数据时,可能需要删除前几行,例如,当这些行为空白或者包含报表中不需要的数据时。

继续使用 SalesTarget 示例时,可以注意到,第一行为空白(没有数据),第二行的数据已不再需要。

若要删除这些多余的行,请在主页选项卡上选择删除行>删除前几行

删除列

数据调整流程中的一个关键步骤是删除不必要的列。 越早删除这些列越好。 删除列的一种方式是在从数据源获取数据时限制列。 例如,如果使用 SQL 从关系数据库中提取数据,则需要在 SELECT 语句中使用列列表对提取的列进行限制。

最好在流程的早期阶段(而不是后期阶段)删除列,尤其是当您已在表之间建立关系时。 删除不必要的列有助于您专注于所需的数据,并有助于提高 Power BI Desktop 语义模型和报表的整体性能。

检查每一列,并询问自己是否真的需要其中包含的数据。 如果您不打算在报表中使用该数据,则该列不会向您的语义模型添加任何值。 因此,应该删除这些列。 如果您的要求随时间推移发生变化,您稍后可以随时添加列。

您可以通过两种方式删除列。 第一种方法是选择要删除的列,然后在主页选项卡上,选择删除列

或者,您可以选择要保留的列,然后在主页选项卡上,选择删除列>删除其他列

逆透视列

逆透视是 Power BI 的一项有用功能。 此功能可用于任意数据源中的数据,但您最常在从 Excel 导入数据时使用此功能。 以下示例显示包含销售数据的示例 Excel 文档。

尽管数据最初可能是有意义的,但难以通过这些数据创建从 2018 年到 2019 年合并的所有销售总额。 然后,您的目标将是在包含三列的 Power BI 中使用此数据:MonthYearSalesAmount

将数据导入 Power Query 中时,它将如下图所示。

接下来,将第一列重命名为 Month。 此列未正确标记,因为在 Excel 中,该标头标记的是 2018 和 2019 列。 突出显示 2018 和 2019 列,选择 Power Query 中的转换选项卡,然后选择逆透视

可以将 Attribute 列重命名为 Year,将 Value 列重命名为 SalesAmount

逆透视可简化稍后针对数据创建 DAX 度量值的流程。 完成此流程,即表示您现在创建了一种通过 YearMonth 列来切分数据的更简单方式。

透视列

如果要调整的数据是平面数据(换句话说,即它包含许多详细信息,但未按任何方式整理或分组),结构的缺少可能会使您难以识别数据中的模式。

可以使用透视列功能将平面数据转换为一个表,该表包含列中每个唯一值的聚合值。 例如,您可能希望将此功能用于使用不同的数学函数(例如 CountMinimumMaximumMedianAverageSum)来汇总数据。

在 SalesTarget 示例中,可以对列进行透视以获取每个产品类别中产品子类别的数量。

转换选项卡上,选择转换 > 透视列

在显示的透视列窗口上,从值列列表中选择一个列,例如 Subcategory name。 展开高级选项,从聚合值函数列表中选择一个选项,例如 Count (All),然后选择确定

下图说明了透视列功能如何更改数据的组织方式。

Power Query 编辑器记录您为调整数据而采取的所有步骤,并且步骤列表显示在查询设置窗格中。 如果您已进行所有所需的更改,请选择关闭并应用以关闭 Power Query 编辑器,并将更改应用于语义模型。 但是,在选择关闭并应用之前,您可以采取进一步步骤在 Power Query 编辑器中清理和转换数据。 本模块稍后将介绍这些附加步骤。