在BI系统中对同一数据进行多维度盘点
一、用户可以根据自己的需要添加合适的纬度 由于企业个性的考虑,在做BI系统开发时,设计人员很难考虑到企业所需要的分析纬度。这就好像穿衣服,除非你的身材特别的标准,否则的话买衣服时很难买到十分合身的衣服。要么不是这边大了,就是那边少了。所以在BI系统设计时,最好能够让用户根据自己的需要来选择合适的分析唯独。 如对于销售收入这个表格,企业就可以根据自身的需要设计不同的指标。如为了便于考核各个区域的销售经理,就可以以区域为分析纬度,对数据进行汇总分析。再如,为了能够了解企业销售收入的增长情况,则可以以年或者月为分析纬度进行分析。或者说,管理员还想要知道特定客户的销售增长情况,则可以以客户为唯独进行汇总分析等等。可见不同的企业有不同的需求。 为此这个数据分析的纬度,设计开发人员很难在系统中定死。笔者的建议时,在系统中可以开发这个自定义的功能。让用户根据自己的需要进行选择。 简单的说,纬度就是基础数据表格中的字段。从技术层面讲,就是一个集合的运算分析过程。所以从技术上来讲并没有多少的难度。现在的问题主要是,BI系统要有足够多的灵活性。能够让BI用户根据自身的需要来选择合适的纬度来进行分析。 二、多维度分析时所采用的数据应该一致 在对数据进行多维度分析时,为了提高分析结果的准确性,最好其采用的数据是相同的。如上面提到的这个销售收入的案例,需要分别从客户、区域、年份等纬度对数据进行分析,此时采用的后台数据应该是相同的。否则的话,分析的结果就没有相比对比的基础。 如现在企业的销售大致可以分为正常销售和促销两种方式。在以年度或者区域为纬度分析销售收入的增长情况时,采用的是所有的销售数据。即包括正常的交易,也包括促销的交易。那么在以客户为纬度进行数据分析时,如果需要进行横向的对比,那么采用的数据也应包含正常销售和促销两部分数据。而不应该只包含一部分内容。 只有如此,才能够正确的反应出销售收入的增长到底是老客户带动的、还是增加新客户的因素促成的。说句题外话,根据笔者的了解,一个企业的决策者更加关注的是老客户的保持率。如果老客户的流失率比较高,那么就说明企业的产品对客户没有吸引力。客户跟企业合作一段时间后,就因为种种原因不想再跟企业做交易了。如此下去,这个企业倒闭是迟早的事情。所以在进行多维度分析时,如果需要进行不同纬度之间的对比,那么需要注意的是所采用的数据应该一致。 当然,如果只是同一纬度的纵向对比,则用户可以根据自己的需要对数据进行过滤。如现在用户需要了解的是,某一些客户其销售收入的变动情况。 此时用户就可以选择自己所感兴趣的客户的数据,然后以年度为纬度对数据进行汇总分析。其实此时其后台采用的仍然是同一个数据源。此时在分析汇总时采用了不同的查询条件而已。 总之,从不同的角度来考虑数据的时候,其基础就是同一数据源。横看成岭侧成峰的典故,其采用的也是相同的对象。如果失去这一前提,那么最后比较的意义也就不存在了。这也是笔者为什么这么强调这个原则的原因。在实施BI系统时,实施顾问一定要向客户强调这个内容。否则的话,就会引起用户的误解。 三、对于一些特殊事项的考虑 在对数据进行多纬度分析时,还需要考虑一些比较特殊的事项。具体的来说,主要是如下几个方面的内容。 一是分析的纬度是空值时该如何处理?如现在需要根据区域来进行汇总分析。可是在销售原始数据时,有一些纪录没有反应区域相关的信息。那么此时在对数据进行汇总分析时,对于这些纬度为空的值该如何进行考虑呢? 根据笔者的了解,不同的BI系统在这方面有不同的考虑。如上图所示,有些BI系统会在设置窗口中,让用户选择是否将空的值考虑进去。如果不考虑的是,则在数据汇总分析时会加入一个过滤条件,将空值的记录过滤掉。如果考虑的话,则会虚拟一个“其他”或者类似的纬度来汇总这些空值的记录。还有一些系统则拒绝采用含有空值的数据作为纬度。 如用户在自定义添加纬度或者在数据查询时,会先去判断用户所指定的纬度字段是否含有空值。如果含有空值的话,则系统就会报错,或者根本不允许用户指定这个字段作为数据分析的纬度。笔者认为这两种方法都是可行的。主要就是让用户知道有这么一回事。在数据分析时,需要考虑到空值对分析结果的影响。 二是数据结果的显示。在数据分析时,即可以在同一个结果中采用多个纬度。如现在用户需要知道每个客户不同年份的销售情况。此时采用的就是客户与年份两个纬度信息。此时主要需要注意的是纬度之间的顺序关系。即年份在前还是客户在前。这个顺序关系,虽然对最后的结果没有本质的影响,但是其前台的显示内容就有本质的变化。 在同一个显示图例中利用多个纬度时,其关键就是这个顺序的设计。在实际工作中,如果用户不知道该采用什么顺序时,笔者的绝招是根据不同的顺序像用户各自展示一遍。让客户看到最终的结果之后,再来进行选择。为了显示结果的一致性,一般情况下不建议用户可以在一个图例中自由调整纬度的顺序。也就是说,图例设计好之后,可以添加或者删除纬度,但是已有纬度的顺序一般不可以进行更改。否则的话,可能会引起用户感知的混乱。如果一定要进行更改,那么最好考虑采用不同的图例。 如现在需要有两个需要。用户即要知道每个客户每一年的销售增长情况。也需要知道每个客户每一年具体产品的购买记录。这两个需求虽然采用的基础数据相同,采用的纬度也类似,只是第二个需求多了一个纬度而已。但是显示的结果会有很大的不同。第一个需求的汇总度更加的高。 在实际工作中,笔者是建议将其放置在两个不同的图例中显示。因为从用户的角度看,这么设计更加的方便与他们的使用 。 横看成岭侧成峰。在BI系统的开发与部署中,这个观念无论是实施顾问还是企业用户,都要树立起来。在分析相关业务数据时,不能够片面的看。而需要养成多个角度看问题的习惯。 (编辑:ASP站长网) |