超维报表 产品优势

非按需建模

超维报表采用创新的非按需建模方式,解决了传统的基于宽表的按需建模方式无法实现真正自助报表的问题。

传统的自主报表系统一般采用宽表的方式来实现。例如:下图的订单表和订单明细表。

BDimension_superiority_1

宽表的思路之一是按照查询的需求来构建宽表,如下图:

BDimension_superiority_2

这样做的问题在于:以查询目标为导向构建的宽表,灵活性查不能适应需求的变化。如果途中的分组字段发生变化,或者总数量、平均单价、总金额等汇总数据不能满足新的需求,就要重新构建宽表。

宽表的思路之二是冗余数据构建宽表,如下图:

BDimension_superiority_3

这样做的问题是一对多主子表,主表(订单表)中的数值字段(运货费)就容易被重复统计,产生错误汇总数据。

对于物理宽表(数据库表)来说,冗余的数据肯定会占用多余的数据库空间,造成浪费。而逻辑宽表(数据库视图)虽然冗余少了,但是查询时会形成复杂SQL,造成性能的下降,如下图:

BDimension_superiority_4

查询SQL:
SELECT 客户,月份,回款金额 FROM 客户统计
等价于
SELECT 回款统计.客户,回款统计.月份,回款统计.回款金额
FROM 回款统计,签单统计,发货统计
WHERE 回款统计.客户=签单统计.客户
AND 回款统计.客户=发货统计.客户
AND 回款统计.月份=签单统计.月份
AND 回款统计.月份=发货统计.月份

多个表形成视图构成的逻辑宽表,即时的字段全部来自于一个表,也要连接所有的表。会造成性能的下降。

超维报表在数据库的基础上构建元数据模型,不需要构建宽表。观察宽表建模的实质可以发现,建模的主要目的就是消除表间关联和预置复杂步骤。超维报表的元数据层可以在查询的过程中完成表间关联和复杂步骤预置的目的,也就是说在推拽形成报表的过程中完成建模,实现非按需建模。

总线式数据视图

传统E-R图式表间关联视图形成网状结构,如下图:

BDimension_superiority_5

可以看出,网状结构中,任意两表均可能有关联,关系杂乱。同时,表间耦合度高,难于理解,增删麻烦。
超维报表的元数据层形成总线式数据视图,如下:

BDimension_superiority_6

可以看出,维度(用于汇总的基准或者观察角度)构成总线。表仅与维度关联,表与表之间不再关联,避免出现网状结构。表间耦合度低,易于理解,增删方便。

符合业务人员思维

对于业务人员来说,观察的对象和内容是“数据项”,比如:销售额、话费、税额等等。观察的角度是“维”,比如:客户、年月日、省市等。

对于技术人员来说,数据库中的概念是:表、字段、主键、外键等等。

超维报表的非按需建模就是构建一组元数据对象,实现这两个不同视角的转化。超维报表提倡用“外键属性化”代替“多表关联”来查询,这样更符合业务人员思考问题的方式。

例如:订单表中有客户ID字段与客户表关联,如果用户需要按照客户表中的“地区”分组汇总的话有两个思路,1、将订单表和客户表左连接,然后分组;2、采用超维报表的外键属性化,直接用客户ID.地区来分组。显而易见,后者“外键属性化”的方式比前者“多表关联”的方式更能适用于业务人员的查询思路和视角。

拖拽式自助报表

有了超维报表的元数据支撑,业务人员面对自己很熟悉的数据项和维度,就能够自助完成报表。加上推拽式数据查询控件,自主报表的任务就更容易完成了,如下图:

BDimension_superiority_8

图中右侧是备选的维度和数据项,昨天是拖拽过来的报表项。列是数据项,行是维度。形成的报表如下图:

BDimension_superiority_9

易于权限控制

为了控制不同用户的权限,超维报表支持对表、字段设置可视属性,不同的用户可以使用不同的可视属性定义文件,从而达到不同用户可看见不同字段的目的。

可见性文件:对于不同的用户可以配置不同的可见文件,使他们在登录DataLogic后拥有不同的访问权限。

表可见性:对于每个表,均可以设定为可见、不可见或者条件可见。表设为条件可见时,将根据设定的条件过滤表的记录。

字段可见性:在每个表中均可以设定不可视字段名称列表。

BDimension_superiority_10

易于集成

超维报表是100%纯JAVA的自助报表工具软件。

超维报表软件采用开放的设计思想,后台引擎采用JAR包方式,前台控件采用TagLib方式,可以方便地嵌入到基于JAVA的应用系统中,与应用系统进行集成,成为应用系统J2EE架构中有机的组成部分,具有优秀的集成特性。

通过丰富的接口,应用系统可以全面地对报表应用进行各种操作,以需要的方式灵活地使用报表。

做为纯JAVA的报表软件,超维报表可以实现可靠的跨平台布署,而不依赖于在不同平台、不同环境下的反复编译和兼容性测试,从而真正保证了在不同操作系统、应用服务器环境下系统的兼容性、稳定性与可靠性。

对于客户而言,报表系统的应用环境可能千差万别,并且在一个相当长的时间周期内,操作系统、应用服务器可能也会不断升级变化,超维报表纯Java的特性保证了面对各种差异和变化均能从容适应,从而保证了报表服务的稳定、可靠提供,同时大大减轻了系统维护工作的负担。

我们同时认为,报表系统不应是独立的系统,不能成为信息系统中新的孤岛。报表系统不应是封闭的系统,不能为信息系统的整体集成带来诸多麻烦。

作为一个开放的系统,超维报表将能更好地适应客户信息系统的不断发展与提升。

BDimension_superiority_11