我忙着用这件东西撕掉我的头发。我有一个事实和9个维度的立方体。事实表中只有大约120k行,所以它不是一个大数据库。SSAS立方体设计 - MDX很慢
问题是,在我使用的报告软件(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]
这是否意味着Microstrategy发布的查询包含多维数据集中的所有度量和所有属性,而与用户发出的查询无关?顺便说一句:Analysis Services在一个维度内使用'autoexists'。这意味着在一个维度内,“CrossProduct”只会传递组合存在的行。这与您定义的关系无关。 – FrankPl
属性是否有父子关系?在过去,我在MicroStrategy中使用了一些SSAS多维数据集,没有遇到任何麻烦。 – TheMacroGuru