我希望过滤超过特定金额的帐户余额,例如1,000,并且仅显示在选定时间内超过1,000的帐户,并且与第二个选定时间相比已被删除。因此,如果'Amy'在'六月'的选定月份中超过1,000,现在她的余额低于1,000,我希望看到她列出新的余额。
select [Measures].[Amount] on 0,
FILTER( [Instrument].[Account Num].MEMBERS, [Measures].[Committed Amt]>1000)
ON 1
from [TEST]
where
except({[Time].[Calendar Year].[Month].&[06]&[2012]},
{[Time].[Calendar Year]. [Month].&[07]&[2012]});
使用上面的代码,我可以过滤一定数量的余额。我无法只显示丢失的记录,这是我试图通过使用EXCEPT功能。有任何想法吗?这是使用2008 Analysis Server的MDX代码
答案 0 :(得分:0)
您只需将7月放入Where子句并在过滤器中使用此条件:
([Measures].[Committed Amt], [Time].[Calendar Year].[Month].&[06]&[2012]) > 1000 AND [Measures].[Committed Amt] < 1000
查询变为:
SELECT [Measures].[Amount] ON 0,
FILTER( [Instrument].[Account Num].MEMBERS, ([Measures].[Committed Amt], [Time].[Calendar Year].[Month].&[06]&[2012]) > 1000 AND ([Measures].[Committed Amt] < 1000, [Time].[Calendar Year].[Month].&[07]&[2012])) ON 1
FROM [TEST]
WHERE ([Time].[Calendar Year].[Month].&[07]&[2012])
在结果中,您将获得具有Committed Amnt&gt;的工具的7月份金额(如果您想更改此更改where子句)。 6月份为1000并且&lt;七月1000。
答案 1 :(得分:0)
以下查询将返回[Measures]的[Measures]。[Amount]。[Measures]。[Amount] 6月份的[承诺金额]低于1000且7月份高于1000
SELECT
[Measures].[Amount] ON 0
,Filter
( [Instrument].[Account Num].MEMBERS ,
([Measures].[Committed Amt],[Time].[Calendar Year].[Month].&[06]&[2012]) > 1000
AND
([Measures].[Committed Amt],[Time].[Calendar Year].[Month].&[07]&[2012]) > 1000
) ON 1
FROM [TEST]