【发布时间】:2015-10-26 15:36:34
【问题描述】:
当我运行某些 MDX 查询时,我对奇怪的行为/性能不一致感到困惑。
当我为单个成员或“行上”的两个成员运行查询时,处理时间非常不一致:
层次结构有 7 个级别:例如,“A”是第 6 级的成员。“A”有 2 个子级:“X”和“Y”。
当我使用成员“X”‘On Rows’运行 MDX 时,需要两秒钟。
当我为成员“Y”“On Rows”运行相同的 MDX 时,也需要 2 秒。
如果我为两个成员运行相同的 MDX 查询:{member "X", member "Y"} ‘On Rows’
……处理这个MDX突然需要2-3分钟!!
对这种奇怪的行为有什么可能的解释吗?
MDX 查询如下所示:
WITH
SET [XL3WithSet0] AS
{
(
[Measures].[Original Exposure Amount - Drilldown]
,[ExpPortfolioType].[ExposurePortfolioType].[All].[COREP - CRD IV].[Standardised]
,[PortfolioType].[PortfolioType].[All]
,[CRMGroup].[CRMGroup].[All]
,[CCFBand].[Hierarchy].[All]
,[DrilldownCreditRisk].[InflowOutflowFlag].[All]
)
}
...**********another 25 sets combining [Measures] AND selected dimensions*****
SELECT
{
[XL3WithSet0]
,[XL3WithSet1]
,[XL3WithSet2]
,[XL3WithSet3]
,[XL3WithSet4]
,[XL3WithSet5]
,[XL3WithSet6]
,[XL3WithSet7]
,[XL3WithSet8]
,[XL3WithSet9]
,[XL3WithSet10]
,[XL3WithSet11]
,[XL3WithSet12]
,[XL3WithSet13]
,[XL3WithSet14]
,[XL3WithSet15]
,[XL3WithSet16]
,[XL3WithSet17]
,[XL3WithSet18]
,[XL3WithSet19]
,[XL3WithSet20]
,[XL3WithSet21]
,[XL3WithSet22]
,[XL3WithSet23]
,[XL3WithSet24]
,[XL3WithSet25]
} ON COLUMNS
--Non Empty
,{
[DrilldownCreditRisk].[ExposureDrilldown].[All].[Legal Entity 2].[CBRC Repo style MarketParticipant 40089].[Exp No. 14660042].[UNSECURED].[Unsecured - Undrawn Tranche]
,[DrilldownCreditRisk].[ExposureDrilldown].[All].[Legal Entity 2].[CBRC Repo style MarketParticipant 40089].[Exp No. 14660042].[UNSECURED].[Unsecured - Drawn Tranche]
} ON ROWS
FROM [COREP Credit Risk]
WHERE
(
[Time].[Time].[All]
,[Scenario].[Scenario].[All]
,[ConsolidationProfile].[ConsolidationProfile].[All]
,[ExposureType].[ExposureType].[All].[COREP Reporting - CRD IV]
,[IntragroupFlag].[IntragroupFlag].[All]
)
CELL PROPERTIES VALUE;
【问题讨论】:
-
如果您在行上使用 [DrilldownCreditRisk].[Level 6] 属性层次结构成员 X 和 Y 而不是 [DrilldownCreditRisk].[ExposureDrilldown] 层次结构,它是否很快(无论查询是否返回相同的数字)?你的等级制度是自然的吗? (级别之间是否存在属性关系?您是否在设计时收到有关该层次结构的属性关系的警告?)
-
这是可能,因为成员 X 和成员 Y 的组合创建了很多 空 单元格。尝试使用
NonEmpty和 THEN 将语句包装在行上NON EMPTY。 -
感谢您的提示!
-
我确实测试了您的建议。问题在于层次结构的设计——经过一些研究,我发现层次结构不是自然的,我重新设计了属性并正确定义了关系。现在谜团解开了,我在层次结构的较低级别上获得了一致的处理时间。再次感谢您!
-
也许复选标记不直观?以下是关于accepting an answer@letecmig 的一些说明