在信息立方体中,对于每一次加载,都有一个技术属性——请求(Request)加以编号和区别。请求标识即请求号由系统自动生成,并默认放置在信息立方体的信息包维度(Data Package Dimension)中。
请求使数据加载的管理非常方便。可以通过请求查看每一次加载的详细内容,如果某一次加载出错或者相应数据有错,那么可以选定该请求将其删除。
但是请求也造成了数据的冗余,大大降低了报表的访问性能。例如一条销售订单在创建时,订货数量为1,第二天修改为2,第三天再改为3,数据每天加载,三次修改全部抽取到BW系统。信息立方体是从DSO的Change Log表中抽取数据,那么信息立方体中关于该销售订单共有三条请求,分别各包含一条该销售订单的记录,共有三条记录:订货量分别为1,增量1=2−1,增量1=3−2。基于信息立方体的报表需要将这3条记录全部读出,汇总成一条记录显示订单数量为3。
由于请求的使用给数据的管理带来了方便,我们需要使用请求。请求的使用又给数据带来了冗余,可以将不再用到的请求删除,消除数据的冗余,这就是压缩(Compress或Collapse)。
从技术上讲,压缩信息立方体是通过去除信息立方体的技术属性维度来减少数据量。压缩将所有的或比较旧的加载请求号设置为零,然后其他维度代码相同的数据记录集合到一起,多条数据变成一条。信息立方体有F表和E表两张事实表,压缩前,数据放在F表,E表为空。压缩信息立方体时,将数据记录写入信息立方体的E表并从F表删除已压缩的请求。如果上例中的三条请求被压缩,则3条记录变成1条记录,保存在E表中。报表时,直接从E表中读取这一条记录,这样大大提升了报表性能。在下一节中,将这个例子在系统中实现。(www.xing528.com)
图12-15给出了另一个简化的例子,可以帮助理解压缩的基本理论。
图12-15 压缩
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。