之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号、列标和页字段。每一次改变版面布置时,数据透视表会立即按照新的布置重新计算数据。另外,如果原始数据发生更改,则可以更新数据透视表。
举例分析
FineReport制作的数据透视表示例例如,可以水平或者垂直显示字段值,然后计算每一行或列的合计;也可以将字段值作为行号或列标,在每个行列交汇处计算出各自的数量,然后计算小计和总计。例如,如果要按季度来分析每个雇员的销售业绩,可以将雇员名称作为列标放在数据透视表的顶端,将季度名称作为行号放在表的左侧,然后对每一个雇员以季度计算销售数量,放在每个行和列的交汇处。
应用
在Access中可以用“数据透视表向导”来创建数据透视表。这种向导用Excel创建数据透视表,再用Microsoft Access创建内嵌数据透视表的窗体。
创建
若要创建数据透视表,请运行“数据透视表和数据透视图向导”。在向导中,从工作表列表或外部数据库选择源数据。向导然后为您提供报表的工作表区域和可用字段的列表。当您将字段从列表窗口拖到分级显示区域时,Microsoft Excel 自动汇总并计算报表。如果使用“Office 数据连接”检索报表的外部数据(外部数据:存储在 Excel 之外的数据。例如,在 Access、dBASE、SQL Server或 Web 服务器上创建的数据库),则可直接将数据返回到数据透视表,而不必运行“数据透视表和数据透视图向导”。当不需要合并来自外部数据库(数据库:与特定主题或用途相关的数据的集合。在数据库内,关于特定实体的信息(如雇员或订单)分类归纳到表、记录和字段中。)的多个表 (表:关于特定主题的一组数据的集合,以记录(行)和字段(列)的形式存储。)中的数据,或者不需要在创建报表前筛选数据以选择特定记录时,推荐使用“Office 数据连接”检索报表的外部数据,以及检索OLAP数据库(OLAP:为查询和报表(而不是处理事务)进行了优化的数据库技术。OLAP 数据是按分级结构组织的,它存储在多维数据集而不是表中)的数据。创建数据透视表后,可对其进行自定义以集中在所需信息上。自定义的方面包括更改布局、更改格式或深化以显示更详细的数据。
报表概述
处理源数据在创建数据透视表 (数据透视表:一种交互的、交叉制表的 Excel 报表,用于对多种来源(包括 Excel 的外部数据)的数据(如数据库记录)进行汇总和分析)或数据透视图报表 (数据透视图:提供交互式数据分析的图表,与数据透视表类似。可以更改数据的视图,查看不同级别的明细数据,或通过拖动字段和显示或隐藏字段中的项来重新组织图表的布局)时,可使用多种不同的源数据 (源数据:用于创建数据透视表或数据透视图的数据清单或表。源数据可以来自 Excel 数据清单或区域、外部数据库或多维数据集,或者另一张数据透视表。)类型。
工作表数据您可以将 Microsoft Office Excel 工作表中的数据作为报表的数据来源。该数据应采用列表 (列表:包含相关数据的一系列行,或使用“创建列表”命令作为数据表指定给函数的一系列行。)格式,其列标签应位于第一行。后续行中的每个单元格都应包含与其列标题相对应的数据。目标数据中不得出现任何空行或空列。Excel 会将列标签用作报表中的字段 (字段:在数据透视表或数据透视图中,来源于源数据中字段的一类数据。数据透视表具有行字段、列字段、页字段和数据字段。数据透视图具有系列字段、分类字段、页字段和数据字段。)名称。
使用命名区域若要使报表的更新更易于进行,请为源区域命名一个名称 (名称:代表单元格、单元格区域、公式或常量值的单词或字符串。名称更易于理解,例如,“产品”可以引用难于理解的区域“Sales!C20:C30”),并在创建报表时使用该名称。如果命名区域在扩展后包含了更多数据,则可以刷新 (刷新:更新数据透视表或数据透视图中的内容以反映基本源数据的变化。如果报表基于外部数据,则刷新将运行基本查询以检索新的或更改过的数据)报表来包含新的数据。
Excel 表格Excel 表格已经采用列表格式,因而是数据透视表不错的候选源数据。当刷新数据透视表时,Excel 表格中新增和更新的数据会自动包含在刷新操作中。有关详细信息,请参阅 Excel 表格概述。包括汇总Excel 会自动在数据透视表中创建分类汇总和总计。如果源数据包含用“分类汇总”命令(位于“数据”选项卡上的“大纲”组中)创建的自动分类汇总和总计,则应在创建报表前再用该命令将分类汇总和总计删除。
外部数据源您可以从数据库、OLAP 多维数据集或文本文件等位于 Excel 外部的源中检索数据。例如,对于要汇总和分析的销售记录,可以为它们维护一个数据库。Office 数据连接文件如果使用 Office 数据连接 (ODC) 文件 (.odc) 为报表检索外部数据,则可以直接将该数据输入到数据透视表中。我们建议使用 ODC 文件为报表检索外部数据。有关详细信息,请参阅连接(导入)外部数据、创建、编辑和管理到外部数据的连接和连接属性。OLAP 源数据在从 OLAP 数据库或多维数据集 (多维数据集:一种 OLAP数据结构。多维数据集包含维度,如“国家/地区)/省(或市/自治区)/市(或县)”,还包括数据字段,如“销售额”。维度将各种类型的数据组织到带有明细数据级别的分层结构中,而数据字段度量数量。)文件中检索源数据时,数据只能以转换为工作表功能的数据透视表或数据透视图报表的形式返回 Excel。有关详细信息,请参阅连接(导入)OLAP 数据库。非 OLAP 源数据这是数据透视表或数据透视图报表使用的基础数据,该数据来自 OLAP 数据库之外的源。例如,来自关系数据库或文本文件中的数据。
注意事项
数据透视表缓存每次在新建数据透视表或数据透视图时,Excel 均将报表数据的副本存储在内存中,并将其保存为工作簿文件的一部分。这样每张新的报表均需要额外的内存和磁盘空间。但是,如果将现有数据透视表作为同一个工作簿中的新报表的源数据,则两张报表就可以共享同一个数据副本。因为可以重新使用存储区,所以就会缩小工作簿文件,减少内存中的数据。位置要求如果要将某个数据透视表用作其他报表的源数据,则两个报表必须位于同一工作簿中。如果源数据透视表位于另一工作簿中,则需要将源报表复制到要新建报表的工作簿位置。不同工作簿中的数据透视表和数据透视图是独立的,它们在内存和工作簿文件中都有各自的数据副本。更改会同时影响两个报表在刷新新报表中的数据时,Excel 也会更新源报表中的数据,反之亦然。如果对某个报表中的项进行分组或取消分组,那么也将同时影响两个报表。如果在某个报表中创建了计算字段 (计算字段:数据透视表或数据透视图中的字段,该字段使用用户创建的公式。计算字段可使用数据透视表或数据透视图中其他字段中的内容执行计算。)或计算项 (计算项:数据透视表字段或数据透视图字段中的项,该项使用用户创建的公式。计算项使用数据透视表或数据透视图中相同字段的其他项的内容进行计算。),则也将同时影响两个报表。数据透视图报表可以基于其他数据透视表创建新的数据透视表或数据透视图报表,但是不能直接基于其他数据透视图报表创建报表。不过,每当创建数据透视图报表时,Excel 都会基于相同的数据创建一个相关联的数据透视表 (相关联的数据透视表:为数据透视图提供源数据的数据透视表。在新建数据透视图时,将自动创建数据透视表。如果更改其中一个报表的布局,另外一个报表也随之更改。);因此,您可以基于相关联的报表创建一个新报表。对数据透视图报表所做的更改将影响相关联的数据透视表,反之亦然。