我们正面临与其中一个 MDX 查询有关的问题。如果我们在 where 子句的 Range 中使用日期选择器,则执行需要 6 秒;如果我们使用逗号作为分隔符,则需要大约 1 秒。
有没有办法通过在 where 子句中给出范围来修改查询并提高性能。请让我们知道您的意见。
示例 1 使用逗号分隔符
WITH MEMBER Measures.X AS SUM({[User].[column].CURRENTMEMBER},[Measures].[# User Count])
SELECT NON EMPTY
UNION({[User].[column].[ALL]},
Generate(Hierarchize([User].[Column].[ALL])
AS [XL_Filter_Set_0], TopCount(Except(DrilldownLevel([XL_Filter_Set_0].Current
AS [XL_Filter_HelperSet_0],,0,INCLUDE_CALC_MEMBERS), [XL_Filter_HelperSet_0])
, 5, [Measures].[# User Count]))
)DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON ROWS , Measures.X ON COLUMNS
FROM [Activity] where
({[Date].[Fiscal Hierarchy].[Fiscal Year Name].&[2012],[Date].[Fiscal Hierarchy].[Fiscal Year Name].&[2013],
[Date].[Fiscal Hierarchy].[Fiscal Year Name].&[2014]},
{[Activity Type].[Activity Hierarchy].[All]})
示例 2 没有逗号分隔符,但我们给出了范围
WITH MEMBER Measures.X AS SUM({[User].[column].CURRENTMEMBER},[Measures].[# User Count])
SELECT NON EMPTY
UNION({[User].[column].[ALL]},
Generate(Hierarchize([User].[Column].[ALL])
AS [XL_Filter_Set_0], TopCount(Except(DrilldownLevel([XL_Filter_Set_0].Current
AS [XL_Filter_HelperSet_0],,0,INCLUDE_CALC_MEMBERS), [XL_Filter_HelperSet_0])
, 5, [Measures].[# User Count]))
)DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON ROWS , Measures.X ON COLUMNS
FROM [Activity] where
({[Date].[Fiscal Hierarchy].[Fiscal Year Name].&[2012]:[Date].[Fiscal Hierarchy].[Fiscal Year Name].&[2014]},
{[Activity Type].[Activity Hierarchy].[All]})
问候,南希