我正忙着用这个把头发扯下来。我有一个有 1 个事实和大约 9 个维度的立方体。事实表中只有大约 120k 行,因此无论如何它都不是一个大数据库。
问题在于,使用我正在使用的报告软件(Microstrategy),它生成的 MDX 会抓取所有数据并将其用作数据源(而不是在您操作报告时生成 MDX)。无论哪种方式,当添加几个字段时,查询很快就会变得不可用,并且实际上会耗尽内存。我怀疑这与我的立方体设计有关。
一方面,它对所有属性进行交叉连接,即使它们在同一维度上,就好像它没有意识到它们之间存在关系。
我玩过 BIDS 中的属性关系(尽可能使关系变得僵硬),但这似乎没有任何区别。
生成的 MDX 如下所示。我没有自定义 MDX 的选项,但我确定我没有告诉它什么关系是正确的。
我曾尝试在 Microstrategy 支持网站上发帖,但并没有太高兴。
任何帮助将不胜感激。
谢谢
WITH SET AS '{[Dim Date].[Date].[Date].AllMembers}'
...
(all my dimensions appear here)
...
select {[Measures].[Total Purchases], [Measures].[New Cards Issued], [Measures].[New Applications Received], [Measures].[New Applications Declined], [Measures].[New Applications Approved], [Measures].[New Accounts Activated]} on columns,
non empty CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(C ROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN([dim0_select_members], [dim1_select_members]), [dim2_select_members]), [dim3_select_members]), [dim4_select_members]), [dim5_select_members]), [dim6_select_members]), [dim7_select_members]), [dim8_select_members]), [dim9_select_members]), [dim10_select_members]), [dim11_select_members]), [dim12_select_members]), [dim13_select_members]), [dim14_select_members]), [dim15_select_members]), [dim16_select_members]), [dim17_select_members]) on rows
from [Cards_Transactions]