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

📅  最后修改于: 2020-12-01 04:47:33             🧑  作者: Mango


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”中“功能区”窗口中的“主页”选项卡。

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

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

  • 单击打开按钮。

更换过滤器

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