2013-03-18 3 views
1

SSRS 2008 R2 보고서에서 시간 초과가 발생하는 이유를 해결하려고합니다.MDX 시간 초과 - 잘못된 MDX 또는 큐브 디자인?

불행히도 MDX에 익숙하지 않습니다. (비록 그것에 대해 거의 읽지는 않았지만).

기본적으로 MDX가 좋지 않은지 (디자이너가 생성했을 수 있기 때문에) 또는 큐브 디자인에 문제가있을 수 있기 때문에 기본적으로 알고 싶습니다. 큐브 디자인에 기대는 것입니다. 왜냐하면 한 번에이 쿼리가 잘 돌아갔다는 말을 들었지만 이제는 더 많은 데이터가 있기 때문일 수 있습니다 - 나는 몰라요.

SELECT NON EMPTY { [Measures].[Unpaid Sick Hours], [Measures].[Paid Sick Hours], 

[Measures].[All Timecard Hours] 
      , [Measures].[Paid Sick Incidents], [Measures].[% Sick Time] } 
ON COLUMNS, NON EMPTY { ([Position].[Position Number].[Position Number].ALLMEMBERS 
      * [Position].[Position Title].[Position Title].ALLMEMBERS 
      * [Union].[Union].[Union].ALLMEMBERS 
      * [Time].[Day Of Week].[Day Of Week].ALLMEMBERS 
      * [Employee].[Employee Type].[Employee Type].ALLMEMBERS 
      * [Employee].[Employee Number].[Employee Number].ALLMEMBERS 
      * [Employee].[Employee First Name].[Employee First Name].ALLMEMBERS 
      * [Employee].[Employee Last Name].[Employee Last Name].ALLMEMBERS) } 
      DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME 

ON ROWS FROM (SELECT (STRTOSET("[Time].[Fiscal Year-Quarter-Month].[F Quarter].&[20124]", CONSTRAINED)) 
ON COLUMNS FROM (SELECT (STRTOSET("[Cost Centre].[Cost Centre Hierarchy].&[1002]", CONSTRAINED)) 
ON COLUMNS FROM [Contoso HR])) 

감사합니다.

감사 KS는 MDX 상당히 직선 기대

+0

'*'는'CROSS JOIN'을 의미합니다. 우리는 당신이 알고 싶은 것을 말하기위한 질의 이상을 필요로합니다. 그러나 많은 십자가 조인이 좋지 않다는 것을 확실히하기 위해서입니다. –

+0

그 밖의 무엇이 필요합니까? – Perplexed

답변

1

는 ... 우리는 여기에 대해 얼마나 많은 데이터를 말을하는거야? 조치는 얼마나 복잡한가요? 그들은 [% sick time]을 제외한 모든 기본 조치입니까?

내가 수행하지 않는 MDX 쿼리가있을 때 수행 할 첫 번째 작업 중 하나는 MDX 스튜디오에서 실행하고 SSAS 엔진에서 처리되는 방식을 확인하는 것입니다. 고려해야 할

+0

예, % sick time은 측정 값입니다. – Perplexed

2

몇 가지 : 이전 * 언급 한 바와 같이

  1. 는 CROSS JOIN을 의미하며, CROSS는 성능 저하가 있습니까 결합합니다. 당신만큼 많은 것을 가지고 있으면 두통을 줄 것입니다. 단기 옵션은 NonEmptyCrossjoin입니다.

  2. [위치]와 [직원]에 여러 번 교차 작업을하고 있습니다. [Employee Number]를 사용하여 [Employee]를 한 번 크로스와 연결하고 [Employee Type], [Employee First Name], [Employee Last Name]을 가져 오기 위해 구성원 속성을 사용 할 수 있습니까?

  3. 큐브는 SQL Server 데이터베이스? 그렇다면이 보고서의 결과가 다소 평이한 것으로 보입니다. 나는 MDX를 버리고 SQL을 사용하여 데이터를 수집합니다.