我有以下问题:
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])
它存在一个带有 Name Desk 的维度。此维度有一个名为 DeskName 的层次结构。最低级别是贸易。
服务台:-总计-部门-业务区域-部门-4级投资组合-服务台-贸易
通过下面显示的查询,我想显示在 2012 年 1 月 10 日日期具有度量“PerformanceTotalYtd”!= NULL 的所有交易,但在 2012 年日期具有度量“PerformanceTotalYtd”的交易!= NULL/ 01/09 !
例子:
2012 年 1 月 10 日与 Measure PerformanceTotalYtd 的交易:
美国广播公司 12,99
3,22 欧元
GHI 55,60
在 2012 年 1 月 9 日使用 Measure PerformanceTotalYtd 进行交易:
ABC 80,00
8,78 欧元
我想要以下结果,因为交易“GHI”在 2012/01/09 上不存在并且是新的:
GHI 55,60
下面显示的我的查询有这个结果:
美国广播公司 12,99
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
有人可以帮我吗?我找不到解决方案。
对不起,我的英语不好!
亚历克斯