如果数据透视表连接到外部开放数据库连接 (ODBC) 包含大量数据的数据源,则检索此数据可能会导致计算机内存不足或查询运行缓慢。 若要防止这些问题,请向数据透视表应用报表筛选器,以便仅检索当前值集所需的 源数据 ,具体取决于所选项。
重要: 只能对连接到 ODBC 数据源的数据透视表使用此功能。 必须使用数据透视表和数据透视图向导来完成以下过程。
-
确保 “数据透视表和数据透视图向导” 命令位于“快速访问工具栏”上。 如果未看到它,请执行以下步骤:
-
单击工具栏旁边的箭头,然后单击“其他命令”。
-
在“从下列位置选择命令”下,选择“所有命令”。
-
在列表中,选择“数据透视表和数据透视图向导”,单击“添加”,然后单击“确定”。
-
-
现在,单击快速访问工具栏上的“ 数据透视表和数据透视图向导 ”图标 。
-
在向导的“ 步骤 1 ”页上,选择“ 外部数据源”,然后单击“ 下一步”。
-
在向导的“ 步骤 2 ”页上,单击“ 获取数据”。
-
连接到数据源。
有关如何连接到 ODBC 数据源的详细信息,请参阅 使用 Microsoft 查询检索外部数据。
-
在向导的“ 步骤 3 ”页上,单击“ 布局”。
-
在“ 布局 ”对话框中,将一个或多个字段拖动到 “报表筛选器” 区域。
-
对于每个报表筛选器字段,请执行以下操作:
-
双击该字段。
此时将显示“ 数据透视表字段高级选项 ”对话框。
-
若要在每次选择报表筛选器中的新项时仅从数据源检索最新数据,请单击“ 查询外部数据源”,因为选择每个报表筛选器字段项 () 所需的内存更少 。
若要防止报表筛选器字段移动到“行标签”、“列标签”或“值”区域,请选择“禁用此字段 (建议) 检查透视”框。
若要返回到默认操作,每次在报表筛选器中选择新项时从数据源检索所有数据,请单击“ 检索所有报表筛选器字段项的外部数据” (更快的性能) 。
-
可以使用数据透视表和数据透视图向导中的“ 数据透视表字段高级选项 ”对话框将报表筛选器配置为从数据透视表的数据源检索所选数据。 默认情况下,Microsoft Office Excel 会检索数据透视表的所有源数据,其中包括在创建或 刷新 报表时 (筛选掉的数据,因此不会显示在报表) 中。 将报表筛选器配置为仅检索在筛选器中指定的项的数据时,可以根据需要检索少量数据。 每次在筛选器中显示不同的项时,只会检索新项的数据子集。 可以根据需要配置任意数量的报表筛选器,然后根据需要应用它们。
性能受到的影响
如果报表筛选器配置为检索一个或多个 (但不是所有) 项的数据,则汇总完整数据集的 (“所有) 项”不可用 (灰显) ,并且“在”选项“选项卡上 (的”数据透视表“组中单击”选项“旁边的箭头时,”显示报表筛选器页“命令) 也不可用。 每次选择其他项时,检索的数据较少,但仍需要等待检索数据。 如果计算机与外部数据源断开连接,则在重新连接到数据源之前,您将无法选择其他项。 但是,此选项确实使你能够处理比其他方法更多的数据量。
如果检索所有项的所有数据,初始数据检索操作可能需要更长的时间,但随后可以在报表筛选器中选择新项,而不会延迟,因为所需的所有数据都会加载到计算机上的内存中。 还可以通过选择“ (所有) 项”来打开完整数据集的摘要,并重新组织报表以在其他区域中使用报表筛选器。 当要检索的数据总量在计算机的可用内存限制范围内时, (“所有) ”选项可提供最大的通用性。
移动报表筛选器
如果将配置为检索所有项目的所有数据的报表筛选器拖动到另一个位置(例如,如果尝试将其设置为行标签),Excel 会尝试检索所有项的数据,并且可能会用完计算机资源。 但是,可以阻止用户执行此操作。 有关详细信息,请参阅 检索每个项或所有项的报表筛选器数据部分。
当报表筛选器不可用时检索项的数据
在以下情况下,无法使用此功能:
-
基于 OLAP 数据库中的源数据的报表会根据需要自动查询数据,因此请勿使用此功能。
-
数据透视表与一个或多个其他数据透视表共享数据缓存。
-
要查询的外部数据库的 ODBC 驱动程序不支持参数查询。 随 Microsoft Office 一起提供的 ODBC 驱动程序都支持参数查询。 可以联系第三方驱动程序供应商,以确定其驱动程序是否具有此支持。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。