Excel 更改数据透视表的数据源区域

对于已经创建好的数据透视表,还可以更改其数据源。例如,假设数据表中增加了新的行列,如果希望将这些新增加的数据加入到数据透视表中,则可以通过更改数据源区域来实现。

在“分析”选项卡中的“数据”组中单击“更改数据源”下三角按钮,从展开的下拉列表中单击“更改数据源”选项,如图13-53所示。随后打开“更改数据透视表数据源”对话框,如图13-54所示,用户可以重新选择新的区域。

提示:推迟布局更新

当在Excel中使用大型的数据源创建数据透视表时,每次在数据透视表中添加新的字段,默认情况下Excel都会及时更新数据透视表。由于数据量较大,可能会使操作变得非常缓慢。在Excel 2016中,可以使用“推迟布局更新”选项来手工更新数据透视表,方法是在“数据透视表字段”列表窗格中勾选“推迟布局更新”复选框,此时“更新”按钮变成可用状态,如图13-55所示。当把需要调整的字段全部调整完毕后,再单击“更新”按钮更新数据透视表即可。

图13-53 单击“更改数据源”选项

图13-54 “更改数据透视表数据源”对话框

图13-55 勾选“推迟布局更新”复选框

高手支招:显示和隐藏数据透视表中的明细数据

打开实例文件“添加字段.xlsx”。在数据透视表中展开和折叠数据透视表中的明细数据有两种方法,一种是直接单击数据透视表中的汇总字段前面的按钮展开字段,单击按钮折叠字段,如图13-56所示。还可以在“分析”选项卡中的“活动字段”组中单击“展开整个字段”和“折叠整个字段”命令,来展开和折叠数据透视表中的明细数据,如图13-57所示。

图13-56 单击标志展开或折叠数据透视表

图13-57 单击按钮展开或折叠数据透视表

Excel 使用外部数据源创建数据透视表

在Excel 2016中,用户可以从Windows系统的数据源中导入外部数据创建数据透视表,常见的可用于创建数据透视表的外部数据格式是数据库文件。在创建数据透视表之前,用户需要将源文件保存在“我的文档\我的数据源”目录下。

步骤01:添加数据源。“将销售记录.accdb”数据库文件另存到“我的文档”文件夹下的“我的数据源”文件夹中,如图13-10所示。

图13-10 将文件存入指定位置

步骤02:选择要分析的数据。新建一个工作簿,打开“创建数据透视表”对话框,在“请选择要分析的数据”区域中单击选中“使用外部数据源”单选按钮,然后单击“选择连接”按钮,如图13-11所示。

步骤03:选择连接数据。随后打开“现有连接”对话框,“销售记录”文件会显示在该列表框中。选中文件后,单击“打开”按钮,如图13-12所示。

图13-11 “创建数据透视表”对话框

图13-12 选择连接数据

步骤04:返回“创建数据透视表”对话框,单击“确定”按钮,Excel会在工作簿中指定的位置创建数据透视表模板,如图13-13所示。

步骤05:添加字段。在“数据透视表字段”窗格中,拖动“产品类别”字段到“行”标签区域,拖动“销售金额1”字段到“Σ值”区域,如图13-14所示。

图13-13 创建数据透视表模板

步骤06:得到的数据透视表效果如图13-15所示。

图13-14 数据透视表字段

图13-15 数据透视表效果

Excel 与外部数据源连接

与外部数据源连接,从工作表运行查询,然后SQL. REQUEST将查询结果以数组的形式返回,而无需进行宏编程。如果没有此函数,则必须安装Microsoft Excel ODBC加载项程序“XLODBC.XLA”。

SQL.REQUEST函数的语法为:=SQL.REQUEST (connection_string,output_ref,driver_prompt,query_text,col_names_logical),各参数的含义介绍如下。

Connection_string参数

该参数用来提供信息,如数据源名称、用户ID和密码等。这些信息对于连接数据源的驱动程序是必需的,同时必须满足驱动程序的格式要求。输入该参数时需要注意以下情况。

※ 试图连接到数据源之前,必须定义在connection_string中使用的数据源名称DSN。

※ 可以数组或字符串的形式输入connection_string。但若是connection_string超过250个字符,就必须以数组的形式输入。

※ 如果函数SQL.REQUEST不能用connection_string访问数据源,将返回错误值#N/A。

Output_ref参数

该参数用于存放完整的连接字符串的单元格的引用。

※ 当需要函数SQL.REQUEST返回完整的连接字符串时,可以使用output_ref,此种情况下,必须在宏表中输入SQL. REQUEST函数。

※ 如果省略output_ref,函数SQL.REQUEST不能返回完整的连接字符串。

Driver_prompt参数

该参数用于指定驱动程序对话框何时显示以及何种选项可用。该参数有以下几个数值。

※ 参数值为1时,表示一直显示驱动程序对话框。

※ 参数值为2时,表示只有在连接字符串和数据源说明所提供的信息不足以完成连接时,才显示驱动程序对话框。

※ 参数值为3时,表示只有在连接字符串和数据源说明所提供的信息不足以完成连接时,才显示驱动程序对话框。如果未指明对话框选项是必需的,这些选项变灰,不能使用。

※ 参数值为4时,表示不显示对话框。如果连接不成功,则返回错误值。

query_text参数

该参数需要在数据源中执行的SQL语句,使用此参数时需要注意以下问题。

※ 如果SQL.REQUEST函数不能在指定数据源中执行query_text,则返回错误值#N/A。

※ 可将引用连接到query_text上来更新查询。

※ Microsoft Excel将字符串长度限制在255个字符内。如果query_text超过此长度,请在垂直单元格区域中输入查询并将整个区域作为query_text。所有单元格的值连接在一起形成完整的SQL语句。

col_names_logical参数

该参数指示是否将列名作为结果的第一行返回。

如果要将列名作为结果的第一行返回,可将该参数设置为TRUE;若不需要将列名返回,则设置为FALSE;若省略column_names_logical,则SQL.REQUEST函数不返回列名。该参数的返回值有以下两种情况。

※ 如果此函数完成了它的所有操作,则返回查询结果数组或受查询影响的行数。

※ 如果SQL.REQUEST函数不能使用connection_string访问数据源,则返回错误值#N/A。

假设需要对名为DBASE4的dBASE数据库进行查询。若需要返回查询结果数组,其中第一行为列名,可输入公式:=SQL. REQUEST(“DSN=NWind;DBQ=c:\msquery;FIL=dBASE4″,c15,2,” Select Custmr_ID, Due_Date from Orders WHERE order_Amt>100″, TRUE)。