分享

数据透视表解决复杂表格问题

 快乐学而时习之 2019-07-24

今天有个客户提出一个比较有意思的需求,请看下面的表格先,从E列到AI列是一个月的范围,需要填上工时。根据实际工程进度,** 可能还要在AI列后面增加N个月(每个月12列)** 。而且总共多少列是不确定的,怎样设置模板?

客户表格

这个问题比较典型,对于比较大的表格(通常是指列数比较多)在定义模板的时候比较麻烦,即使花九牛二虎之力设置好,每次填报或查看时,系统反应也比较慢,而且这么大一个表格,填写也不方便,不能充分体现勤哲EXCEL服务器系统的优势。

解决方案A

针对这种情况,如果多列为重复性质的内容(例如,本例从E列到AI列都是日期对应的工时),可以考虑使用勤哲的交叉表,使用交叉表可以同时向下,向右拓展行数和列数,而且在定义列的重复数据项(本例E列到AI列)时候不需要定义N个字段,只要定义一个字段(本例为工时)。但这种方案也有一个缺点,填报体验没有改善,另外会大量消耗数据库存储空间。

解决方案B

我们先从传统的表格转模板的思路中跳出来,思考一下,我们上系统的目的是什么? 目的之一是提高效率,对吧! 进一步说是数据录入的时候尽量简单和简洁,减少重复录入,结果(数据报表)更加及时,好看,准确。

有了这个认识,我们可以考虑把数据录入与报表分开来实现。数据录入进数据库以后,可以使用非常方便,强大的勤哲表间公式或数据库的结构化查询语言工具SQL(其实勤哲表间公式归根结底也是SQL语句)来生成各种需要的报表(结果)。

 具体实现步骤 

  1. 我们观察这个任务,其实就是审核员要记录自己每天在哪些工程审计上面花了多少时间。所以,首先定义一个工时录入的简单模板。
    为了提高录入效率,填报人设置为新建表单时自动填入登录者姓名,另外在工程名称列设置了一个列表选项,点击列表选项的时候,系统会自动弹出该审核者名下未完成的工程相关信息,选择一个或多个工程名称,系统自动填入与工程相关的其他信息(例如编号,开始时间要求完成时间),录入者只需要在对应的工程名称后面填入在某天(工作日)和多少工时。


    拆分出来的工时填报模板
  2. 填完工时,怎样按照客户原始表格格式体现结果呢? 我们可以考虑用数据透视表,透视表是EXCEL本身的一个超级强大的数据统计工具。透视表的数据源设置为服务器数据库刚才录入的《工时录入表》。
    a)在本地新建一个空白EXCEL表,选择数据菜单,现有连接,浏览更多..., 新建源,
b. 数据源绑定

b) 选择Microsoft SQL Server, 进入下一步.

c. 数据源绑定

c) 填写数据库服务器名称或IP, 填写数据库登录用户名和密码

d. 数据绑定

d) 选择数据透视表进入透视表的操作过程,透视表怎样格式化这里就不具体讲了。

数据透视表结果

结果就是这样,当然还可以选择不同的格式,在透视表里面,可以按照月份,年份汇总,点击月份前的'+'就可以展开当月的明细。在设置数据源的过程中可以选择保存密码,这样下次打开报表的时候自动同步数据库里面的数据(需设置为自动同步),或者在表格内按右键,选择刷新,即可和同步数据库里面的数据。

也可以在EXCEL服务器里面新建一个查询模板,选择用刚才做好透视表的EXCEL文件做模板,不需要定义其他数据项,直接设置权限,保存就可以,这样在EXCEL服务器菜单下面也可以打开这个透视表。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多