评估和更改列数据类型

已完成

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

在处理平面文件时,例如逗号分隔值 (.CSV) 文件和 Excel 工作簿 (.XLSX),有很大的几率会遇到数据类型错误,因为数据是手动输入到工作表中的,因此会存在错误。 相反,在数据库中,数据类型是在创建表或视图时预定义的。

最佳做法是在将数据加载到 Power BI 语义模型中之前在 Power Query 编辑器中评估列数据类型。 如果确定数据类型不正确,则可以进行更改。 可能还需要对列中的值应用某一格式,并且更改列的汇总默认设置。

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

评估 OrderDate 列。 按预期来看,它应包含数值数据,但 Power BI Desktop 错误地将列数据类型设置成了文本。 若要对此列进行报告,需要将数据类型从文本更改为日期。

设置为文本的列 OrderDate 数据类型

不正确的数据类型可能造成的影响

以下信息使你能够深入了解 Power BI 未检测到正确数据类型时可引发的问题。

不正确的数据类型将阻止你创建某些计算、派生层次结构或创建与其他表的正确关系。 例如,如果尝试要计算 Quantity of Orders YTD,你将遇到以下错误,指出 OrderDate 列数据类型不是进行基于时间的计算所需的日期。

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

基于时间的计算度量值的错误

对日期字段应用不正确的数据类型引发的另一个问题是,无法创建日期层次结构,此层次结构便于按年、月或周来分析数据。 以下屏幕截图显示了 SalesDate 字段未被识别为日期类型,且将仅作为表视觉对象中的日期列表显示。 但是,最佳做法是使用日期表并关闭自动日期/时间来移除自动生成的层次结构。 有关此过程的详细信息,请参阅自动生成的数据类型文档。

添加 SalesDate 选项

更改列数据类型

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

在 Power Query 编辑器中更改列数据类型

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

在“转换”功能区下选择数据类型

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

从列表中选择数据类型

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

完成清理和转换数据的所有步骤后,可以选择“关闭并应用”关闭 Power Query 编辑器,将更改应用到语义模型。 在此阶段,你的数据应已调整好了,适合用于分析和报表。

有关详细信息,请参阅 Power BI Desktop 中的数据类型