我有以下問題:MDX使用除不起作用
Select
{
[Measures].[PerformanceTotalYtd]
} on columns,
Non Empty{
Except(([Desk].[DeskName].[Trade].Members,[Time].[Year-Month-Day].[Day].&[2012]&[1]&[10]),([Desk].[DeskName].[Trade].Members,[Time].[Year-Month-Day].[Day].&[2012]&[1]&[09]))
} on rows
from [Cube]
where ([Entity].[Entity].&[9], [Audience].[View].&[GOD])
它的存在與名稱服務檯維度。此維有一個名稱爲DeskName的層次結構。最低等級ist貿易。
臺: - 總 - 段-BusinessArea -Department -4th等級組合-Desk - 行業
與下面的查詢顯示,我想告訴所有行業,即有措施「PerformanceTotalYtd」 = NULL上! 2012/01/10的日期,除了「PerformanceTotalYtd」度量值的交易!!= 2012/01/09日期的空值!
實施例:
交易與測量在2012/01/10 PerformanceTotalYtd:
ABC 12,99
DEF 3,22
GHI 55,60
2012/01/09度量PerformanceTotalYtd的交易:
ABC 80,00
DEF 8,78
我想下面的結果,因爲貿易 「GHI」 不存在於2012/01/09,是新的:
GHI 55, 60
我下面的查詢顯示有這樣的結果:
ABC 12,99
DEF 3,22
GHI 55,60
它不會從2012/01/09刪除現有的交易。
我在SQL一個解決方案,但要讓它在MDX:
SELECT DD.Code, Sum(PerformanceTotalYtd) as TOTAL
FROM [Reporting_DB].[Star].[Fact_PerformanceTotal] FIS
inner join Star.Dimension_Desk DD on FIS.DeskID = DD.DeskID
WHERE FIS.TimeID = 20120110 and FIS.EntityID = 9 AND DD.Code not in (SELECT DD.Code
FROM [Reporting_DB_HRE].[Star].[Fact_PerformanceTotal] FIS inner join Star.Dimension_Desk DD on FIS.DeskID = DD.DeskID WHERE FIS.TimeID = 20120109 and FIS.EntityID = 9 group by DD.Code)group by DD.Code
任何人可以幫助我嗎?我找不到解決方案。
對不起,我的英語不好!
亞歷
非常感謝!有用! :)稍後我會用Except聲明發佈一個解決方案!我可以在我的文章寫作8小時後做到這一點! – Alexo 2012-01-13 13:03:16