众所周知,很多软件都需要面向开发者甚至最终用户提供自定义功能,在开篇词里,我提到自己曾经做过工作流软件和电子表单软件,它们都需要提供自定义功能,报表软件也是其中的典型代表。 在每个应用系统中,我们对数据的处理大致会分成两类:一类是在线交易,叫做 OLTP,比如在网上下订单;一类是在线分析,叫做 OLAP,它是对应用中积累的数据进行进一步分析利用。而报表工具就是最简单,但也是最常用的数据分析和利用的工具。
本节课,我们就来分析一下,如果我们要做一个通用的报表工具,需要用到哪些编译技术,又该怎样去实现。
报表工具所需要的编译技术
如果要做一个报表软件,我们要想清楚软件面对的用户是谁。有一类报表工具面向的用户是程序员,那么这种软件可以暴露更多技术细节。比如,如果报表要从数据库获取数据,你可以写一个 SQL 语句作为数据源。
还有一类软件是给业务级的用户使用的,很多 BI 软件包都是这种类型。带有 IT 背景的顾问给用户做一些基础配置,然后用户就可以用这个软件包了。Excel 可以看做是这种报表工具,IT 人员建立 Excel 与数据库之间的连接,剩下的就是业务人员自己去操作了。
这些业务人员可以采用一个图形化的界面设计报表,对数据进行加工处理。我们来看看几个场景。