Power BI 微课堂 | 第12课:用 Power Query 更改数据类型

published: 2023-08-08

今天,我们来学习:用 Power Query 更改数据类型,了解数据类型报错的原因及场景,并学习更正数据类型的方法。


》前言

当从任意数据源导入表时,Power BI Desktop 将自动开始扫描前 1,000 行(默认设置)并尝试检测列中的数据类型。在某些情况下,Power BI Desktop 可能不会检测到正确的数据类型,从而导致一些性能问题。

在处理平面文件时,如果加载的是逗号分隔值 (.CSV) 文件和 Excel 工作簿 (.XLSX),我们很大概率会遇到数据类型错误。因为数据是手动输入到数据表中的,很难避免出错。相反,在数据库中,数据类型是在创建表或视图时预定义的。

此时,我们的最佳做法是在将数据加载到 Power BI 数据模型前,先在 Power Query 编辑器中评估列数据类型。如果确定数据类型不正确,则可以进行更改。

在此过程中,我们可能还需要对列中的值应用某一格式,并更改列的汇总默认设置。

  • 场景描述

为了继续对销售数据进行清理和转换以准备用于报表,我们需要评估列,以确保它们拥有正确的数据类型。此外,还需要对识别出来的所有错误进行更正。

首先,评估 Order Date 列。正常来说,它会包含数值数据,但 Power BI Desktop 错误地将列数据类型识别成了文本(如下图)。

若要在分析中使用此列,我们需要将 Order Date 的数据类型从文本更改为日期。


》不正确的数据类型会造成什么影响?

通过以下说明,你将能深入了解 Power BI 未检测到正确数据类型时所引发的问题。

不正确的数据类型将阻止你创建某些计算、派生层次结构或创建与其他表的正确关系。

例如,如果尝试通过下方公式计算 Quantity of Orders YTD,你将遇到以下错误(如下图),Power BI 会指出 Order Date 列数据类型不是进行基于时间的计算所需的日期。

Quantity of Orders YTD =TOTALYTD(SUM('Sales'[OrderQty]), 'Sales'[OrderDate])


》基于时间计算度量值时报错

对日期字段应用不正确的数据类型会引发的另一个问题是,无法创建日期层次结构,此层次结构是便于我们按年、月或周来分析数据。

如下图所示,SalesDate 字段未被识别为日期类型,并将仅作为表视觉对象中的日期列表显示。但是,最佳做法是使用日期表并关闭自动日期/时间来移除自动生成的层次结构。


》更改列数据类型

可在两个位置更改列数据类型:在 Power Query 编辑器 或 Power BI Desktop 报表视图中的列工具进行更改。在加载数据之前,最好在 Power Query 编辑器中更改数据类型。

在 Power Query 编辑器中,我们可以通过两种方式来更改列数据类型。一种是选中存在问题的列,在“转换”选项卡中选择“数据类型”,然后从列表中选择正确的数据类型。

另一种方法是选择列标题旁的数据类型图标,然后从列表中选择正确的数据类型。

与在 Power Query 编辑器中所做的任何其他更改一样,对列数据类型进行的更改也将作为编程步骤被保存。此步骤称为“更改类型”,并且将在每次数据刷新时进行迭代。

完成清理和转换数据的所有步骤后,可单击“关闭并应用”按钮,关闭 Power Query 编辑器,并将更改应用到数据模型。如此,数据应已调整好了,可用于分析和报表。



以上就是关于「用 Power Query 更改数据类型」的全部内容。感谢您的耐心阅读,更多 Power BI 学习资源,请持续关注优阅达大数据生态。