2014-07-23 1 views
1

SQL Server Reporting Service에서 큐브에 연결하여 데이터 집합을 만들 때 쿼리 디자이너에서 필터를 사용하여 쿼리를 만듭니다. 그것은 나를 위해 다음 MDX를 만듭니다SSRS (SQL Server Reporting Services) 용 MDX 매개 변수를 만드는 방법은 무엇입니까?

SELECT NON EMPTY { KPIValue("KPI1"), KPIGoal("KPI1"), KPIStatus("KPI1") } 
ON COLUMNS, NON EMPTY { ([Create Date].[Month Num].[Month Num].ALLMEMBERS * [Create Date].[Hierarchy].[Month].ALLMEMBERS) } 
DIMENSION PROPERTIES MEMBER_CAPTION, 
MEMBER_UNIQUE_NAME ON ROWS FROM (SELECT 
(STRTOSET(@CreateDateYear, CONSTRAINED)) 
ON COLUMNS FROM [ERP]) 
WHERE (IIF(STRTOSET(@CreateDateYear, CONSTRAINED).Count = 1, 
STRTOSET(@CreateDateYear, CONSTRAINED), 
[Create Date].[Year].currentmember)) 
CELL PROPERTIES VALUE, BACK_COLOR, 
FORE_COLOR, FORMATTED_VALUE, 
FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS 

나는이 데이터 집합을 추가 할 때보고 서비스는 CreateDateYear라는 매개 변수를 만듭니다. 이 매개 변수에 "2014"와 같은 값을 전달하면 아무 것도 얻지 않고 [Create Date].[Year].&[2014]과 같은 값을 전달해야합니다.

추악한 대신 "2014"와 같은 값을 전달하고 사용자에게 친숙한 문자열 인 [Create Date].[Year].&[2014]을 전달하기 위해이 매개 변수를 변경하려면 어떻게 보고서를 변경할 수 있습니까?

답변

2

MDX를 변경하지 않았습니다.

="[Create Date].[Year].&[" + Parameters!Year.Value + "]" 

그리고 문제는

해결 : 내 보고서의 데이터 집합 속성에서 나는 Parameter Value에 변경된
0

문자열 연결을 사용하여 "접두사"[만든 날짜]. [연도]를 추가하십시오. & [ '와'접미사 ''] MDX에서 '@CreateDateYear는 "2014"같은 것을 포함

STRTOSET('{ [Create Date].[Year].&[' + @CreateDateYear + '] }', CONSTRAINED) 

합니다.

참고 : MDX 집합의 올바른 구문이므로 멤버 고유 이름 주위에 중괄호도 추가했습니다. 다중 선택을 허용하려면 MDX 대신 Reporting Services에서 문자열 연결을 수행하는 것이 좋습니다.

관련 문제