使用DECENDANTS时MDX查询性能问题

时间:2018-01-18 05:32:14

标签: mdx olap-cube mdx-query

我正在使用以下查询而没有问题

SELECT NON EMPTY { [Measures].[Value] } ON COLUMNS, 
 NON EMPTY { ([Account].[Account List].[Account List].ALLMEMBERS ) } 
 DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS 
 FROM [My Cube]

需要获取帐户的父级(它已固定为4级)。所以我把它写成如下

SELECT NON EMPTY { [Measures].[Value] } ON COLUMNS, 
 NON EMPTY { (DESCENDANTS([Account].[Account].[Level 02].ALLMEMBERS, , LEAVES) ) } 
 DIMENSION PROPERTIES MEMBER_CAPTION ON ROWS 
 FROM [My Cube]

上面给出的是简化版本,但我的ROWS是大约20个维度的产品,使用" DESCENDANTS"不会回来和超时。我不会使用后代的查询在不到5秒的时间内回来。

如何以更好的方式实现所需的输出,例如秒查询或如何继续检查瓶颈的位置?

1 个答案:

答案 0 :(得分:0)

尝试替换此表达式:

Account].[Account].[Level 02].ALLMEMBERS

对于层次结构的All成员,我认为如果使用成员而不是set作为第一个参数,DESCENDANTS将会快得多