나는 MDX 지침을 찾고있는 상황이 있습니다.두 번째 MDX 쿼리는 첫 번째 MDX 쿼리에서 반환 한 각 행에 대한 결과를 반환해야합니다.
환경 : SQL 서버 2008 R2, SSRS 2008 R2
차원 : 열 DimMainProvider :에는 ProviderName DimAcademicYear : AcademicYear DimSectorSubjectArea : Estyn DimLearningAim : LearningAimReference
사실 : 열 교훈 : MainProviderKey, AgeBandKey , LearningAimKey, SuccessFlag
원하는 항목은 입니다. 1) 특정 MainProvider의 경우 Top 1 가져 오기 0 LearningAims 성공률로 표시하고 테이블 릭스 에 표시하십시오. 2) tablix의 각 행에 대해서도 모든 주 공급자가 해당 LearningAim의 최소값, 최대 값, 1 분위, 3 분위 값을 기본적으로 필요로하는 박스 플롯 그래프도 표시합니다.
내가 가진 것 은 2 MDX 쿼리
a)는 홈페이지 제공자 아래 MDX의 (간체 버전)에 대한 상위 10 개 활동을 얻는다 하나
WITH
SET Top10LearningAimsForSuccessRate
AS
NonEmpty(
TOPCOUNT([ReportedLearningAims],10,[Measures].[SuccessRate]),
[Measures].[SuccessRate]
)
SELECT
{
[Measures].[SuccessRate]
} ON COLUMNS
,NON EMPTY
{
EXISTS(
Top10LearningAimsForSuccessRate
,,"Learnings")
} ON ROWS
FROM
(
SELECT {[Measures].[TerminatedAssessableLASum]
,[Measures].[SuccessfulLASum]} ON COLUMNS
,{(StrToSet("[DimMainProvider].[ProviderName].&[44]",CONSTRAINED))} On ROWS
FROM [FECube]
)
WHERE
(StrToSet("[DimAcademicYear].[AcademicYear].[AcademicYear].[2009/10]",CONSTRAINED),
StrToSet("[DimSectorSubjectArea].[Estyn].&[2]",CONSTRAINED)
)
b)는 매개 변수로 LearningAim를 받아 통계 계산을 수행하고 나에게주는 또 다른 쿼리는 내 원래 아이디어는 각각 2 쿼리를 발사하는 것입니다
WITH
SET ProviderwideLearningAims
AS
ORDER(
NonEmpty([DimMainProvider].[ProviderName].[ProviderName],
[Measures].[SuccessRate]
)
,[Measures].[SuccessRate],BASC
)
MEMBER [Measures].[MaxValue]
AS
Max(ProviderwideLearningAims,[SuccessRate]),FORMAT_STRING = "Percent"
MEMBER [Measures].[MinValue]
AS
Min(ProviderwideLearningAims,[SuccessRate]),FORMAT_STRING = "Percent"
MEMBER [Measures].[MedianValue]
AS
Median(ProviderwideLearningAims,[SuccessRate]),FORMAT_STRING = "Percent"
Member [Measures].[ProviderCount] As [ProviderwideLearningAims].Count
MEMBER [Measures].[MeanValue]
AS
(SUM(ProviderwideLearningAims,[SuccessRate])/[Measures].[ProviderCount]),FORMAT_STRING = "Percent"
MEMBER [Measures].[LearningAimUniqueName]
AS
[DimLearningAim].[LearningAimReference].CurrentMember.UniqueName
Select
{ [Measures].[LearningAimUniqueName]
,[Measures].[MinValue]
,[Measures].[MaxValue]
,[Measures].[MedianValue]
,[Measures].[MeanValue]
} ON COLUMNS,
{
NonEmpty([DimLearningAim].[LearningAimReference].[LearningAimReference],ProviderwideLearningAims)
} ON ROWS
FROM
(
SELECT
StrToSet("[DimLearningAim].[LearningAimReference].&[50024991]",CONSTRAINED) ON COLUMNS
FROM [FECube]
)
WHERE
(StrToSet("[DimAcademicYear].[AcademicYear].[AcademicYear].[2009/10]",CONSTRAINED),
StrToSet("[DimSectorSubjectArea].[Estyn].&[2]",CONSTRAINED)
)
아래 MDX)의 (간체 버전 값 학습 목표는 첫 번째 쿼리에서 을 받았지만 SSRS Dataset 모델에서이를 구현할 수 없습니다. 이제 MDX 수준으로 돌아가서 어떻게 든이 두 가지를 병합하고 싶습니다. 내가 MSDN 포럼에 디팍 푸리의 도움으로 해결 방법은 다음과