BI系统中数据钻取汇总设计解析
【IT168 信息化】 在BI系统中,数据钻取是一个基本功能之一。但是这个简单的功能中,仍然有不少的内容值得我们去探讨。其中数据的汇总就是其中的一项。笔者举一个简单的例子。如现在有一张销售状况记录表,里面有业务员、客户和销售额等相关信息。通常情况下,在报表层面,可以进行自由的组合。如可以海北藏族自治州海晏县母猪疯哪个医院好将客户字段拖掉。此时就会自动根据业务员为关键字进行数据的汇总。此时采用的是求和的方式。但是,这里需要注意的是,并不是任何拖曳的动作,都可以采用求和汇总的方式。▲BI系统中数据钻取汇总 一、什么情况下不适合采用求和汇总? 在对报表进行拖曳等操作时,一般采用的是求和的方式。如上面介绍的销售清空表。将客户字段拖曳掉的话,可以让系统自动按销售员进行汇总。但是并不是所有情况都适合采用这种方式。笔者举一些简单的例子,各位读者就会明白。如现在有一张反应员工工资增长状况的报表。如报表中有员工各个月份的工资情况。现在如果将时间信息拖曳掉,系统如果对工资进行自动汇总,此时合适呢? 这就要根据用户的实际需要来看。如果用户想看每一年的总工资,这未尝不可。但是这需要注意,有可能有员工没有工作到一年。此时反应的数据就会失真。在大部分情况下,此时用户比较关心的是这个员工的每个月平均工资,或者说很后一个月工资。此时就不能够简单的使用系统默认的汇总求和方式。 其实类似的清空还有很多。如科目余额、员工的人头数等等内容,都不能够简单的采用求和的方式 。通常情况下,一般都会采取很后一个值或者平均值的方式。如上图所示,一个成熟的BI系统,应该可以根据用户的需求进行灵活的调整。 二、报表调整的三个层级 一般对显示格式的调整,包含三个级别。*一个级别是信息对象级别。这也是BI系统中存储数据的很低级别。简单的说,一个信息对象就对应报表中的一个字段。用户可以在这个级别对报表层显示的格式进行调整。BI系统也会根据信息对象的类别设置默认的晴隆县治癫痫的医院有哪些显示格式。在实际工作中,一般不建议对这个默认的格式进行调整。因为这是BI医生们根据许多年的经验设置的一个默认值。为此除非有特别的需求,否则的话一般不建议在这个层级对报表的现实格式进行调整。 二是报表的设计层面。其实信息对象只是对数据的一个整理的过程。具体的显现方式,信息对象层面并不是很擅长。很终报表的显示格式,一般都是在报表设计层面实现的。在这个层面可以设置报表的查询条件、过滤内容以及默认显示的内容等等。在实际项目中,报表的显示格式基本上是在这个层面定义的。 三是报表的层面。在报表设计层面定义的内容,一般都是通用性的内容。如一张报表可能会同时给5到10个用户使用。而这不同的用户又可能有不同的需求。当然,这癫痫病的治疗方法些需求只是只有细微的差别,如显示的顺序或者说显示内容的多少之间的差异。针对这种情况,BI实施顾问不可能为每个用户都去设计一个报表。通常情况下,一般是设置一张通用的报表。然后用户在使用报表时,再根据自己的需要,调整相关的格式。 这就是BI报表设计中关于格式调整的三个层级。通常的建议是,不要在信息对象级别对显示的格式进行调整,很好采用默认的格式。如果用户需要进行格式的调整,那么很好在报表设计层面或者报表层面进行设置。这么操作时比较合理的,也能够提高系统的灵活性。 三、信息对象级别的设计 了解上面三个层面之后,我们再回过来看看这个汇总的功能。在对数据的拖曳操作,其计算的结果,是该采用汇总呢,又或者是采用平均值或者很后一个值,这主要是在信息对象的层面来确定的。因为这设计到数据的逻辑操作。其实从这个层面来将,无论是报表的设计还是报表层面,一般只针对的是显示的方式,而不涉及到数据的处理。对于数据的运作的规定,一般都是在信息对象层面来确定的。 如上图所示,在信息对象的例外集合中,可以规定这个信息对象,在拖曳操作时是该采用很后一个值的操作,还是采用汇癫痫发作时的急救方法总的操作。这需要根据企业的实际情况或者不同的业务来定。根据笔者的经验,对于大部分业务,其采用的是汇总的方式。如销售订单的金额、供应商采购金额等等。但是对于某些情况,则是采用很后一个值或者平均值的方式。如反映的是会计科目的余额,则需要采用很后一个值的方式。而需要统计的是企业员工的平均薪资增长情况,则比较适合采用平均值的方式。 作为实施顾问,要确定这一点还是具有一定的难度的。因为很多企业,他们都是*一次接触到BI项目。在日常工作中,他们没有特别的留意这方面内容。为此实施顾问往往需要跟用户进行不断的询问、确认,才能够获得相关的信息。很困扰的是,有时候用户自己都不知道自己需要什么、在这种情况下,实施顾问只能够根据自己以前的项目经验来进行判断。根据笔者的经验,跟会计科目余额相关、跟人事模块相关的内容,一般都不适合采用求和的汇总方式。那么到底是使用很后一个值还是平均值呢,这就要让用户进行很终的确认了。 四、计数器的应用 在实际工作中,针对拖曳操作,不一定很终跟关键值有关。即某些情况下,并不是简单的求和或者求平均值的问题。有可能还会涉及到比较复杂的情况。如可能会涉及到计数的需求。举一个简单的例子。现在有一张员工信息表,里面记录了企业10年以来员工的变动情况。现在用户的需求是,分析这十年以来员工人数的变动情况。此时就不能够简单的采用汇总或者求平均值。这需要涉及到计数的内容。简单的说,就是像Excel表格一样,能够统计每一年企业总的人数。 如上图所示,要实现这个人数汇总的功能,就需要使用计数的特性。计数的话,又要考虑一个问题。即如果需要计数的字段,其值是空的或者是0,是否需要统计进去?其实在Excel表格中做统计时,也会遇到这个问题。如用户在统计人数时,可能会根据工龄来统计。当工龄不足一年时,不统计在内。这么设计可以去除员工异常变动带来的不确定因素。此时就需要采用“不等于0的计数器”这种方式。而在某些情况下,需要将空的值考虑在内。如现在用户是根据身份证号码来统计人数。有可能在以前信息化系统薄弱的时候,没有输入员工的身份证号码。为此很多记录在这个字段处是空的。如果以这个字段作汇总的对象,那么久不能够采用“不等于0的计数器”。而是应该将空的字段也考虑进去。 综上所述,在钻取汇总功能中,用户需要关注其实现的层面。同时需要区分,到底汇总采用的是什么方式,是求和、平均还是很后一个值。