2011-10-25 56 views
0

我們正在查詢SSAS多維數據集的一個mdx查詢,該查詢可以非常快速高效地執行多達9個維度。一旦我們達到了10個維度,立方體的內存使用率將大幅度失控,並使用機器上所有可用的內存,直到基本崩潰機器。任何人都可以回答爲什麼10會和9完全不同?SSAS多維數據集內存爆炸與10個維度的MDX查詢

with member measures.CatKey 
    as 
    [Question Answer Primary].[Q-A].currentmember.properties('key') 
select { 
     measures.CatKey, 
     [Measures].[AverageValue], 
     KPIValue('KPI Question Average Delta Wave Over Wave'), 
     KPITrend('KPI Question Average Delta Wave Over Wave'), 
     [Measures].[TopBoxPercent], 
     KPIValue('KPI Top Box Delta Wave Over Wave'), 
     KPITrend('KPI Top Box Delta Wave Over Wave'), 
     [Measures].[MiddleBoxPercent], 
     KPIValue('KPI Middle Box Delta Wave Over Wave'), 
     KPITrend('KPI Middle Box Delta Wave Over Wave'), 
     [Measures].[BottomBoxPercent], 
     KPIValue('KPI Bottom Box Delta Wave Over Wave'), 
     KPITrend('KPI Bottom Box Delta Wave Over Wave'), 
     [Measures].[Primary Response Count] 
    } on columns, 

    [Question Answer Primary].[Q-A].[QUESTIONCATEGORY] * [Question Answer Primary].[QUESTIONKEY].[QUESTIONKEY] 
    DIMENSION PROPERTIES MEMBER_VALUE on rows 

from [SATPlus_Cube] 

where CrossJoin({[Response Wave].[Wave].&[20110101]}, 
{ 
    [Question Answer Primary].[QUESTIONCATEGORY].&[AfricaSpecific], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[ChinaSpecific], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[Training], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[SalesSupport], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[Relationship], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[ProductsAndPartsQuality], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[ProductSupport], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[PricingAndDiscounts], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[Overall], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[KeyMetrics], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[ITSystemsSupport], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[GovernmentNationalSales], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[FinancingAndCredit], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[FieldSupport], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[DistributionSupport], 
    [Question Answer Primary].[QUESTIONCATEGORY].&[AdvertisingSupport] 
}, 
NonEmpty (
     {[Sample].[SAMPLE KEY].[SAMPLE KEY]}, 
     ( 
      {[Hierarchy].[Node Value].&[1]} 
      , [Measures].[Primary Response Count] 
     ) 
    )) 

回答

0

您是否嘗試過子多維數據集語法?也許可能會更好...

Select 
    {...} On Columns, 
    {...} On Rows 
    from (Select {{[Response Wave].[Wave].&[20110101]}} On Columns 
      From { 
     [Question Answer Primary].[QUESTIONCATEGORY].&[AfricaSpecific], 
     [Question Answer Primary].[QUESTIONCATEGORY].&[ChinaSpecific], 
     ... 
     [Question Answer Primary].[QUESTIONCATEGORY].&[DistributionSupport], 
     [Question Answer Primary].[QUESTIONCATEGORY].&[AdvertisingSupport] 
    } On Columns FROM [SATPlus_Cube])) 
    WHERE ..... 
0

也許你有太多的成員在你的維度(#10)。