2017-02-16 7 views
0

안녕하세요 저는 MS SSAS ... 과 간단하게 고민하고 있습니다. 내 데이터보기에 두 개의 테이블이 있습니다. T1에는 PK와 날짜가 있습니다. T2에는 PK, T1의 FK 및 일부 숫자가 들어 있습니다.Analysis Services - 계산 된 멤버 - 차원 키 범위로 계산

T1에서 두 속성을 사용하여 차원을 만들었습니다. 그래서 T1의 날짜와 ID로 T2의 데이터를 집계하는 큐브를 만들 수 있습니다. 지금까지 너무 좋아.

내가하고 싶은 것은 그 데이터의 일부분만을 모으는 것입니다. 예 : "FK> = 970 인 T2 레코드의 집계 데이터보기"

계산 된 측정 값을 쓰려고했지만 실패했습니다. 웹에서 검색했지만 지금까지 아무 것도 발견되지 않았습니다 ...

누군가가 힌트를 도울 수 있기를 바랍니다.

+0

는 http://stackoverflow.com/questions/42167709/mdx-and-periodstodate/42168904 참조하면 레코드 또는 FK> = (970)와 멤버를 필터링 하시겠습니까? –

+0

t1.id> = 970 인 t1의 레코드와 관련된 모든 t2 레코드를 집계하고 싶습니다. 나는 그것과 같은 것이 될 것이다 : SELECT SUM ([SomeData]) FROM [T2] WHERE [T2]. [SELECT] [ID] FROM [T1] WHERE [ID]> = 970) – Felix

+0

[ID] 열을 차원 특성으로 추가하고 Where 절 내에 필터를 추가하는 것을 제외하면 MDX에서이를 수행합니다. 그렇지 않으면 이러한 레코드를 필터링 할 때 새 측정 값을 추가해야합니다. –

답변

1

정확하게 이해했다면 날짜가 T1입니다.

차원에서 키 설정이 있어야합니다. 사용자가 PK 열에서 수행했다고 가정합니다. 속성 내에서 해당 속성에 대해 세 가지를 정의 할 수 있습니다. KeyColumns NameColumns ValueColumns

은 KeyColumns는 PK 열 있는지 확인합니다.

SELECT 
{ [Measures].[YOURMEASURE] } ON COLUMNS, 
{ [T1].&[970] : NULL } ON ROWS 
FROM [MyCube] 

편집 : 당신의 PK와는두고 순차적 경우에 그 (! 그들이 진짜로한다)이 같은 MDX 쿼리를 만들 수 있습니다 후 그리고 당신은 "키"

로 설정되어 있는지 확인해야있는 OrderBy 속성해야 : 물론입니다. 큐브의 계산에 추가하십시오.

CREATE MEMBER CURRENTCUBE.[Measures].[MyOver970Measure] 
AS 
AGGREGATE({ [T1].&[970] : NULL },[Measures].[YOURMEASURE]) 
,VISIBLE=1; 
+0

측정 값을 만들 수 있습니까? – Felix

+0

그게 바로 내가 고마워 했어! – Felix