在查看以下答案时,我想用过滤器替换范围。
MDX - Concurrent calculations based on a "record time range"?
MDX是:
with member [Measures].[TotalUsed] as sum({[Date].[YQM].&[20090501]:[Date].[YQM].&[20090907]}, [Measures].[Used])
select {[Measures].[Total Used]}on columns,
{[Color].[Colors].[All].MEMBERS}on rows
from [Cube]
我正在尝试使用以下过滤器替换日期范围:
with member [Measures].[TotalUsed] as sum(FILTER([Date].[YQM], [Date].[YQM] < [Date].[YQM].&[20090907]), [Measures].[Used])
select {[Measures].[Total Used]}oncolumns,
{[Color].[Colors].[All].MEMBERS}on rows
from [Cube]
在比较价值方面寻找的条件语句是什么?任何帮助都会很棒!
谢谢!
答案 0 :(得分:1)
Filter语句需要一个SET然后一个EXPRESSION来过滤。您可以将其放在SUM函数中。过滤器的表达式部分几乎可以是任何东西,但必须为SET中的每个单元格调整为真/假。
- FILTER(SET,EXPRESSION)
有点难以知道你的数据是什么样的结构,但你的声明可能最终会像下面这样,过滤你的时间段少于50'UnUsed'的行,然后将它们作为一个例子加以总结。
`
WITH MEMBER [Measures].[TotalUsed]
AS SUM (FILTER ( [Date].[YQM].members, [Measures].[UnUsed] > 50 ),
[Measures].[Used] )
SELECT {[Measures].[Total Used]} ON COLUMNS,
{[Color].[Colors].[All].MEMBERS} ON ROWS
FROM [Cube]