教程10:定制透视表

什么是透视表?

前面我们所定制的报表所呈现的结果可以说是二维平面的,一维是字段,一维是记录号,通过这二维可以呈现出数据库中的数据;可是这样的数据对于管理决策人员来说太粗糙了,他没法从这样的数据中得出结论从而做出决策,例如,在“中国风”的“订单”中,有所有员工1996至1998三年中每笔订单的记录,光是从单个记录上没法看出员工的某年的销售成绩,当然可以用sql语句按员工分组进行汇总从而得到每个员工的销售额合计,但如果总经理想看看三年时间里每个员工的销售成绩变化,您是否要定制三个表,每个表汇总一年的销售成绩呢?不要说定制三个表多麻烦,而让总经理一个一个地看三个表,他心里会不会很不耐烦呢?

能否将三年的表放在一起,如果可以,现在决定一个数据的呈现需三个维度,一维是员工,一维是时间(三年),一维是销售成绩,这三个维度使得这个表看起像是立体的,而我们看其中的数据仿佛在三维空间中透视,于是这个表被叫做透视表。下图是一个透视表的例子


上图中的透视表共有三个维度,雇员号、年和销售量,透视表还可以有更多的维,四维五维六维甚至上百维。

要定制透视表,以“订单”为例,按如下步骤操作

1、管理登录,在右侧管理菜单的“透视表”下,点击“添加”(下图红圈1)
2、在添加透视表页面中点击“数据源”(红圈2)打开数据源树形菜单,在菜单中展开到“订单”(红圈3)并点击它。
如果出现“查询无法进行,打开……错误”则可能是没有将站点加入可信站点,且安全设置中“通过域访问数据资源”未被启用(忘记了?复习一下教程1的加入可信站点并修改安全设置),设置后请关闭所有IE窗口再重新打开。
3、在弹出的透视表字段列表中,将“员工”(红圈4)拖到行字段(即“将行字段拖至此处”所在),将“订货日期 按月”拖至列字段(即“将列字段拖至此处”所在),将“销售额”拖至数据区(即“将汇总或明细字段拖至此处”所在)



如果透视表字段列表没有弹出来,可以通过以下两种方式打开

1、在工具栏上按鼠标右键,在弹出的菜单中选择“字段列表”。
2、点击工具栏上的字段列表工具(右图红框处)

完成后透视表如下呈现




透视表中呈现的是明细数据,也就是数据库中每个记录的具体数据,如上图红框中的明细数据,就是金鹏在1997年的四个订单的具体数据,总经理要看的可能是这些数据的和,他可不想一笔一笔地加出来,所以您还应做如下操作

4、点击“销售额”(下图红圈1)
6、点击工具栏上的“自动计算”工具(下图红圈2)
7、选择“求和”(下图红圈3)



于是员工各年的销售额之和就出来了,如下图红圈中的数



如果不想看明细数据而只看汇总数据,可以点击工具栏上的隐藏明细工具,位置如下图



如果想改变透视表的外观及文字格式,可以点击相应对象,然后打开“命令和选项”进行修改,如将“销售额 的和”改成“销售成绩”并改变其底色,如下
点击“销售额 的和”(下图红圈1),点击“命令和选项”工具(红圈2),点击“标题”(红圈5),在命令和选项对话框中修改标题(红圈3)和颜色(红圈4)



将透视表名取为“三年销售成绩” ,属集为设“销售”,保存。

来到用户界面,展开到“销售”集,透视表“三年销售成绩”就在其中



可以点击工具栏上的帮助按钮查看透视表更多的使用方法。

最后做几点补充说明:

1、您必须给用户读取透视表的权限,用户才能看到此透视表,否则会出现“你没有查看此透视表的权限”的提示。权限设置在定制透视表页面的“表权限”按钮中设置,设置方法和报表中一样。一般给授权用户所有权限,“其它用户”只读权限,如“user:11111|其它用户:10000”。想对权限设置更进一步了解请详见权限

2、 如果您将某个属集授权给了某位用户,则此授权用户也可以在用户界面通过右键管理菜单添加透视表,在用户界面的授权属集上按鼠标右键弹出的右键管理菜单,点击“新建视”,右侧用户报表区就会进入到添加透视表页面,添加方法和管理员界面一样。

3、有些汇总不能直接从自动计算中得出,得用户自己定义计算公式, 例如以3000000为基准,如果想得到每个员工销售成绩与基准的比率,就要用销售成绩除以3000000,这在自动计算中没有的,这个就要用到计算汇总,如果您对此感兴趣,请详见透视表.计算汇总

4、上例中的数据源为OLTP源,也就是SqlServer,Access,Excel等关系数据库,实际上,这些数据源是定制好的数据库型报表(电子表格型报表不在其中);而在OLTP源右边还有一个OLAP源,它是什么呢?

以OLTP源做为数据源有一个问题,就是当记录数很大时,如有几千上万条记录时,透视表需要进行大量的计算,会变得非常慢,所以,当数据源有很大的记录数时,应该用专门的分析服务器进行计算,然后用透视表呈现结果,这种专门的分析服务器就是OLAP源,足易所用的OLAP源为微软的分析服务器SSAS,如果您对此感兴趣,请详见透视表.连接OLAP源