Excel DAX - 更新数据模型中的数据


DAX 用于对 Excel Power Pivot 中的数据模型中的数据进行计算。DAX 使数据建模和报告活动能够以有效的方式处理。然而,这需要不时更新数据模型中的数据以反映当前数据。

您可以通过建立数据连接将数据从外部数据源导入到工作簿的数据模型中。您可以随时选择从源更新数据。如果您要从包含实时销售信息或每天更新多次的数据源的关系数据库获取数据,则此选项非常方便。

更新数据模型中数据的不同方式

您可以通过以下方式更新数据模型中的数据 -

  • 不时刷新数据模型中的数据。
  • 更改数据源,例如连接属性。
  • 源数据更改后更新数据模型中的数据。
  • 过滤数据以有选择地从数据源中的表中加载行。

刷新数据模型中的数据

除了从现有源获取更新的数据之外,每当您更改源数据的架构时,您还需要刷新工作簿中的数据。这些更改可以包括添加列或表,或者更改导入的行。

请注意,添加数据、更改数据或编辑筛选器始终会触发依赖于该数据源的 DAX 公式的重新计算。有关详细信息,请参阅章节 - 重新计算 DAX 公式。

数据模型中有两种类型的数据刷新 -

手动刷新

如果您选择手动刷新选项,您可以随时手动刷新数据模型中的数据。您可以刷新所有数据(这是默认设置),也可以手动选择要为各个数据源刷新的表和列。

自动或计划刷新

如果您已将工作簿发布到支持 PowerPivot 的 PowerPivot 库或 SharePoint 网站,您或 SharePoint 管理员可以创建自动更新工作簿中数据的计划。在这种情况下,您可以安排服务器上的无人值守数据刷新。

手动刷新现有数据源

如果您需要从现有数据源更新数据或获取最新数据以设计新的 DAX 公式,您可以随时手动刷新数据。您可以刷新单个表、共享同一数据连接的所有表或数据模型中的所有表。

如果您已从关系数据源(例如 SQL Server 和 Oracle)导入数据,则可以通过一项操作更新所有相关表。将新数据或更新数据加载到数据模型中的操作通常会触发 DAX 公式的重新计算,这两者都可能需要一些时间才能完成。因此,在更改数据源或刷新从数据源获取的数据之前,您应该了解潜在的影响。

要刷新数据模型中单个表或所有表的数据,请执行以下操作 -

  • 单击 Power Pivot 窗口中功能区上的“主页”选项卡。
  • 单击刷新。
  • 单击下拉列表中的刷新以刷新所选表。
  • 单击下拉列表中的全部刷新以刷新所有表。
手动刷新

要刷新数据模型中使用相同连接的所有表的数据,请执行以下操作 -

  • 单击 Power Pivot 窗口中功能区上的“主页”选项卡。
  • 单击获取外部数据组中的现有连接。

将出现现有连接对话框。

  • 选择一个连接。
  • 单击刷新按钮。
现有连接

当 PowerPivot 引擎从所选表或数据源的所有表重新加载数据时,将出现“数据刷新”对话框,并显示数据刷新进度信息。

有三种可能的结果 -

  • 成功- 报告导入到每个表的行数。

  • 错误- 如果数据库脱机,您不再拥有权限,则可能会发生错误。源中的表或列被删除或重命名。

  • 已取消- 这意味着 Excel 未发出刷新请求,可能是因为连接上禁用了刷新。

可能的结果

单击关闭按钮。

更改数据源

要更改数据模型中的数据,您可以在 Power Pivot 窗口中编辑连接信息或更新数据模型中使用的表和列的定义。

您可以对现有数据源进行以下更改 -

连接

  • 编辑数据库名称或服务器名称。
  • 更改源文本文件、电子表格或数据源的名称。
  • 更改数据源的位置。
  • 对于关系数据源,更改默认目录或初始目录。
  • 更改用于访问数据的身份验证方法或凭据。
  • 编辑数据源的高级属性。

表格

  • 添加或删除数据过滤器。
  • 更改过滤条件。
  • 添加或删除表。
  • 更改表名称。
  • 编辑数据源中的表与数据模型中的表之间的映射。
  • 从数据源中选择不同的列。

  • 更改列名称。
  • 添加新列。
  • 从数据模型中删除列(不影响数据源)。

您可以通过以下方式编辑现有数据源的属性 -

  • 您可以更改连接信息,包括用作源的文件、源或数据库、其属性或其他提供商特定的连接选项。

  • 您可以更改表和列映射并删除对不再使用的列的引用。

  • 您可以更改从外部数据源获取的表、视图或列。

修改与现有数据源的连接

您可以通过更改当前连接使用的外部数据源来修改已创建的与外部数据源的连接。但是,要遵循的过程取决于数据源类型。

  • 单击 PowerPivot 窗口中功能区上的“主页”选项卡。
  • 单击获取外部数据组中的现有连接。
修改连接

将出现现有连接对话框。选择您要修改的连接。

根据您要更改的数据源的类型,提供程序可能会有所不同。此外,可用的属性可能需要更改。考虑一个与包含数据的 Excel 工作簿的连接的简单示例。

Excel 工作簿包含数据
  • 单击编辑按钮。出现编辑连接对话框。

  • 单击“浏览”按钮查找相同类型的另一个数据库(本例中为 Excel 工作簿),但名称或位置不同。

  • 单击“打开”按钮。

新文件将被选中。将出现一条消息,指出您已修改连接信息,并且需要保存并刷新表以验证连接。

信息
  • 单击“保存”按钮。您将返回到“现有连接”对话框。

  • 单击刷新按钮。出现数据刷新对话框,显示数据刷新进度。将显示数据刷新的状态。有关详细信息,请参阅“手动刷新现有数据源”部分。

  • 数据刷新成功后,单击“关闭”。

  • 在“现有连接”对话框中单击“关闭”。

编辑表和列映射(绑定)

要在数据源更改时编辑列映射,请执行以下操作 -

  • 在 Power Pivot 窗口中单击包含要修改的表的选项卡。

  • 单击功能区上的“设计”选项卡。

  • 单击表属性。

编辑表格

将出现编辑表属性对话框。

编辑表属性

您可以观察以下内容 -

  • 数据模型中所选表的名称显示在“表名称”框中。

  • 外部数据源中相应表的名称显示在“源名称”框中。

  • 列名称有两个选项 - 源和模态。

  • 如果列在数据源和数据模型中的命名不同,您可以通过选择这些选项在两组列名称之间切换。

  • 所选表的预览出现在对话框中。

您可以编辑以下内容 -

  • 要更改用作数据源的表,请选择与源名称下拉列表中所选表不同的表。

  • 如果需要,更改列映射 -

    • 要添加源中存在但数据模型中不存在的列,请选中列名称旁边的复选框。对所有要添加的列重复此操作。下次刷新时,实际数据将加载到数据模型中。

    • 如果数据模型中的某些列在当前数据源中不再可用,通知区域中会出现一条消息,列出无效列。您无需执行任何操作。

  • 单击“保存”按钮。

当您保存当前的表属性集时,您将收到一条消息 – 请稍候。然后将显示检索到的行数。

在数据模型的表中,任何无效列都会自动删除,并添加新列。

更改列名称和数据类型

您可以更改数据模型中表中列的名称,如下所示 -

  • 双击该列的标题。标题中的列名称将突出显示。

  • 键入新的列名称,覆盖旧名称。或者,您可以更改数据模型中表中列的名称,如下所示:

  • 通过单击其标题来选择该列。

  • 右键单击该列。

  • 单击下拉列表中的重命名列。

更改列名称

标题中的列名称将突出显示。键入新的列名称,覆盖旧名称。

正如您所了解的,数据模型中表的列中的所有值必须具有相同的数据类型。

要更改列的数据类型,请执行以下操作 -

  • 通过单击标题来选择要更改的列。

  • 单击功能区上的“主页”选项卡。

  • 单击格式组中的控件可修改列的数据类型和格式。

检查受控

添加/更改数据源的过滤器

您可以在导入数据时向数据源添加过滤器,以限制数据模型中表中的行数。稍后,您可以通过更改之前定义的过滤器来添加更多行或减少数据模型中表中的行数。

在导入期间向数据源添加过滤器

要在数据导入期间向数据源添加新过滤器,请执行以下操作 -

  • 单击 Power Pivot 窗口中功能区上的“主页”选项卡。
  • 单击获取外部数据组中的数据源之一。

出现表导入向导对话框。

  • 继续执行步骤 - 选择表和视图。
  • 选择一个表,然后单击“预览和过滤”。
向数据源添加过滤器

将出现预览所选表对话框。

  • 单击要应用过滤器的列。
  • 单击列标题右侧的向下箭头。
预览选定的表

要添加过滤器,请执行以下操作之一 -

  • 在列值列表中,选择或清除要筛选的一个或多个值,然后单击“确定”。

    但是,如果值的数量非常大,则单个项目可能不会显示在列表中。相反,您将看到消息 - “无法显示的项目太多。”

  • 单击数字过滤器或文本过滤器(取决于列的数据类型)。

    • 然后,单击比较运算符命令之一(例如“等于”),或单击“自定义筛选器”。在“自定义过滤器”对话框中,创建过滤器,然后单击“确定”。

注意- 如果您在任何阶段犯了错误,请单击“清除行过滤器”按钮并重新开始。

  • 单击“确定”。您将返回表导入向导的选择表和视图页面。
查看页面

正如您所观察到的,在“过滤器详细信息”列中,您定义过滤器的列将出现一个“已应用过滤器”链接。

您可以单击该链接来查看向导构建的过滤器表达式。但是,每个过滤器表达式的语法取决于提供程序,您无法编辑它。

链接查看
  • 单击完成以导入应用了过滤器的数据。
  • 关闭表导入向导。

将过滤器更改为现有数据源

导入数据后,您可能需要不时更新数据,方法是添加更多行或限制表中的现有行。在这种情况下,您可以更改表中的现有过滤器或添加新过滤器。

  • 单击 Power Pivot 窗口中功能区上的“主页”选项卡。

  • 单击获取外部数据组中的现有连接。将出现现有连接对话框。

  • 单击包含您必须更改过滤器的表的连接。

  • 单击“打开”按钮。

更换过滤器

您将进入表导入向导对话框。重复上一节中的步骤来过滤列。