MDX 计算成员性能问题
MDX Calculated Member Performance Issue
SELECT NON EMPTY {
[Measures].[Production_Volume]
} ON COLUMNS,
NON EMPTY { (
[Make].[Make ID].[Make ID].ALLMEMBERS
* [Model].[Model Hierarchy].[MDL].ALLMEMBERS
* [Customer].[Customer ID].[Customer ID].ALLMEMBERS
) } ON ROWS
FROM [Model_Cube]
此查询需要 10 分钟
[Measures].[Production_Volume] 是多维数据集中的计算成员,如果我将此成员的定义直接放在查询中,则花费的时间要少得多。
WITH MEMBER [Measures].[Production_Volume] AS
([Measures].[Model Count],
([Status].[Status Type].&[T]
,[Mode].[Mode Type].&[A])
)
+ Sum(
([HYBRID_MODELS]
,[Status].[Status Type].&[C]
,[Mode].[Mode Type].&[A])
,[Measures].[Model Count]
)
SELECT NON EMPTY {
[Measures].[Production_Volume]
} ON COLUMNS,
NON EMPTY { (
[Make].[Make ID].[Make ID].ALLMEMBERS
* [Model].[Model Hierarchy].[MDL].ALLMEMBERS
* [Customer].[Customer ID].[Customer ID].ALLMEMBERS
) } ON ROWS
FROM [Model_Cube]
此查询需要 4 秒
无法理解两者之间的区别,我 运行 探查器但找不到任何区别,除了第一个查询显示飞行记录器快照事件第二个查询没有。
问题是我如何创建命名集“[HYBRID_MODELS]”。我将它们从 DYNAMIC
更改为 STATIC
这很有帮助。我所做的另一项更改是将 -{}
替换为 EXCEPT()
函数。这两项更改将查询时间从 30 分钟减少到 1 分钟!
希望这对有需要的人有帮助:)
SELECT NON EMPTY {
[Measures].[Production_Volume]
} ON COLUMNS,
NON EMPTY { (
[Make].[Make ID].[Make ID].ALLMEMBERS
* [Model].[Model Hierarchy].[MDL].ALLMEMBERS
* [Customer].[Customer ID].[Customer ID].ALLMEMBERS
) } ON ROWS
FROM [Model_Cube]
此查询需要 10 分钟
[Measures].[Production_Volume] 是多维数据集中的计算成员,如果我将此成员的定义直接放在查询中,则花费的时间要少得多。
WITH MEMBER [Measures].[Production_Volume] AS
([Measures].[Model Count],
([Status].[Status Type].&[T]
,[Mode].[Mode Type].&[A])
)
+ Sum(
([HYBRID_MODELS]
,[Status].[Status Type].&[C]
,[Mode].[Mode Type].&[A])
,[Measures].[Model Count]
)
SELECT NON EMPTY {
[Measures].[Production_Volume]
} ON COLUMNS,
NON EMPTY { (
[Make].[Make ID].[Make ID].ALLMEMBERS
* [Model].[Model Hierarchy].[MDL].ALLMEMBERS
* [Customer].[Customer ID].[Customer ID].ALLMEMBERS
) } ON ROWS
FROM [Model_Cube]
此查询需要 4 秒
无法理解两者之间的区别,我 运行 探查器但找不到任何区别,除了第一个查询显示飞行记录器快照事件第二个查询没有。
问题是我如何创建命名集“[HYBRID_MODELS]”。我将它们从 DYNAMIC
更改为 STATIC
这很有帮助。我所做的另一项更改是将 -{}
替换为 EXCEPT()
函数。这两项更改将查询时间从 30 分钟减少到 1 分钟!
希望这对有需要的人有帮助:)