0
我有以下工作MDX查詢。問題出在TOPCOUNT,我使用一個案例聲明來計算我的數量。SSRS MDX數據集需要動態字段來源,是否有解決方法?
INVESTOR,ADVISER和ADVISERGROUP都是實際上相同的維度鏈接到不同的字段在一個事實表,即顧問它將是Entity.IDKey - > Fact.AdviserKey或投資者其實體.IDKey - > Fact.InvestorKey
所以問題是所有將返回相同的字段名稱,[ID KEY]但會有不同的位置,即數據集字段源定義需要不同。
在SSRS中,它僅適用於一種情況,即它在設計時運行的情況,對其他情況不正確。 有沒有辦法解決這個問題?
WITH MEMBER [Measures].[Previous Period] as
( [Measures].[Fact TOL Activity Count] ,
ParallelPeriod(
IIF(@GroupBy = 'Y', [Date].[Fiscal].[Fiscal Year],IIF(@GroupBy = 'Q' , [Date].[Fiscal].[Fiscal Quarter], [Date].[Fiscal].[Fiscal Month]))
, 1
,[Date].[Fiscal].CurrentMember))
MEMBER [Measures].[Current Period] as [Measures].[Fact TOL Activity Count]
MEMBER [Measures].[CPeriod] as [Date].[Fiscal].CurrentMember.Name
MEMBER [Measures].[PPeriod] as
ParallelPeriod(
IIF(@GroupBy = 'Y', [Date].[Fiscal].[Fiscal Year], IIF( @GroupBy = 'Q' , [Date].[Fiscal].[Fiscal Quarter], [Date].[Fiscal].[Fiscal Month]))
, 1
,[Date].[Fiscal].CurrentMember).Name
MEMBER [Measures].[Growth] as
IIF (ISEMPTY([Measures].[Previous Period]), 0 ,
[Measures].[Fact TOL Activity Count]/ [Measures].[Previous Period]), FORMAT = "Percent"
SELECT
{
[Measures].[Previous Period], [Measures].[Current Period], [Measures].[Growth], [Measures].[PPeriod],[Measures].[CPeriod]
} ON COLUMNS,
( TopCount(
Except({
CASE [Dim User Type].[User Type Key].CurrentMember.NAME
WHEN "Adviser" THEN [ADVISER].[ID Key].children
WHEN "Firm" THEN [ADVISERGROUP].[ID Key].children
WHEN "Investor" THEN [INVESTOR].[ID Key].children
ELSE [INVESTMENTMANAGER].[ID Key].children
END
} ,
CASE [Dim User Type].[User Type Key].CurrentMember.NAME
WHEN "Adviser" THEN [ADVISER].[ID Key].[Unknown]
WHEN "Firm" THEN [ADVISERGROUP].[ID Key].[Unknown]
WHEN "Investor" THEN [INVESTOR].[ID Key].[Unknown]
ELSE [INVESTMENTMANAGER].[ID Key].[Unknown]
END
)
, 10
, ( [Measures].[Growth], STRTOMEMBER(@CurrentPeriod, CONSTRAINED), [Dim EVENTTYPE].[IASEVENTTYPEKEY].&[ET00000040], STRTOMEMBER(@UserTypeKey, CONSTRAINED))
)) on rows
FROM [TOL Metrics Usage]
where ([Dim EVENTTYPE].[IASEVENTTYPEKEY].&[ET00000040], STRTOMEMBER(@UserTypeKey, CONSTRAINED), STRTOMEMBER(@CurrentPeriod, CONSTRAINED))