微观战略数据模型

时间:2016-04-20 13:16:33

标签: microstrategy

我是MSTR的新手。

我们正致力于从Essbase迁移到Microstrategy 10.2。 迁移之后,我们希望业务用户能够在MSTR多维数据集的基础上创建报表,并使用类似于他们使用Essbase和Excel的方式来处理数据。 我需要帮助来设计给定方案的数据模型:

FactTb:

Subcategory Revenue

1   100

2   200

3   300


DimensionTb:

Category    Subcategory

A   1

A   2

B   1

B   2

B   3

C   2

C   3

用户希望按类别或子类别查看收入。

FactTb有3行。假设每行的大小为10个字节,FactTb的大小为30个字节。

如果它与DimensionTb连接,则7行和大小将增长(大约)到70个字节。

有没有办法限制Cube的大小?

Category和Subcategory的映射是静态的,不需要为它维护一个表。

我可以在Cube中创建/定义DimensionTb(将其存储在报表中,使用Subcategory创建派生元素)?

我们希望限制多维数据集的大小以将其维护在内存中,并确保报告始终在数据库上命中多维数据集。

1 个答案:

答案 0 :(得分:0)

多维数据集只是SQL查询的结果,复制到内存中以便更快地访问。由于您无法想象查询的结果分为两部分,因此对于多维数据集也是如此。

在内存中,立方体由MicroStrategy使用多种算法压缩(根据列数据类型和值分布使用最佳压缩),但多维数据集还包含根据用于查询的查询自动创建的内部索引(以加速数据访问)立方体。

VLDB设置有助于减小多维数据集的大小。 如果你检查技术说明TN32540: Intelligent Cube Population methods in MicroStrategy 9.x,你会看到不同的选项,根据我的经验,最后一个设置(Direct loading of dimensional data and filtered fact data.)有助于加快立方体加载并缩小尺寸,但你也可以试试其他(Normalize Intelligent Cube data in the Database)。

使用这种方法,Dimension表中的值将存储在内存中,但与事实分开,节省了空间。

最后,为了确保您的用户总是使用多维数据集,允许/教他们创建直接点击多维数据集(或选择它)的报表和仪表板。

这是一种安全的方式,MicroStrategy还提供了一种将报表映射到多维数据集的动态方式(满足条件时),但即使是最全面的设计人员,用户也会感到惊讶。