看那么多朋友捧场,真心不希望再给你泼冷水。但实际上,你理解的,有一些是错的,或者不准确的。1、Tr一般只做多维包,FM既可以做平面包,也可以做多维包。在特殊需求下,我也用TR做过一次类似二维的数据。2、TR包将数据打包为CUBE文档,CUBE中包括数据,所以在报表查阅时,不需要访问数据库...
显示全部看那么多朋友捧场,真心不希望再给你泼冷水。
但实际上,你理解的,有一些是错的,或者不准确的。
1、Tr一般只做多维包,FM既可以做平面包,也可以做多维包。
在特殊需求下,我也用TR做过一次类似二维的数据。
2、TR包将数据打包为CUBE文档,CUBE中包括数据,所以在报表查阅时,不需要访问数据库,但FM包使用时需要实时访问数据库,
这是机制,不论你做的是平面模型还是多维模型,都是一样的。
在这种机制下,FM包的报表,是实时访问的数据库数据。
而CUBE数据源的报表,不可能做到实时。数据库中数据变动了,如果你不更新CUBE,报表是不会变化的。
TR做的CUBE是可以发布、传递、携带的,且只在生成CUBE时才访问数据库,降低了数据库所在系统的硬件压力。
3、CUBE中的数据,是做过一次GROUP BY的,除非你是像我上面说的那样,强制做二维数据表。一般数据量都降低了很多,进而会提高性能。
而且CUBE就是为了多维数据而生的,貌似(未验证)在多维数据组织和访问机制上,做有一些优化,
所以在做多维分析时,基本CUBE的包要比直连数据库的包效率高。这一点在大数据量(百万、千万级)上分析,非常明显。
此外,还有很多不同点,比如,FM包可以带参数,而TR做的包就不能。
收起