2011-10-25 3 views
0

9 차원까지 매우 빠르고 효율적으로 실행되는 mdx 쿼리로 SSAS 큐브에 쿼리하고 있습니다. 일단 10 차원을 맞추면 큐브의 메모리 사용이 통제 불능 상태가되어 기본적으로 컴퓨터가 충돌 할 때까지 사용 가능한 모든 메모리를 사용합니다. 누구나 왜 10이 9와 근본적으로 다른가에 대한 대답을 할 수 있습니까?10 차원의 MDX 쿼리로 SSAS 큐브 메모리가 폭발 함

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)에 회원 수가 너무 많을 수 있습니다.

관련 문제