1

在查看以下答案时,我想用过滤器替换范围。

MDX - 基于“记录时间范围”的并发计算?

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]

在比较值方面寻找什么条件语句?任何帮助都会很棒!

谢谢!

4

1 回答 1

1

Filter 语句需要一个 SET 和一个 EXPRESSION 来过滤。您可以将其放在 SUM 函数中。过滤器的表达式部分几乎可以是任何东西,但它必须为 SET 中的每个单元格计算为真/假。

-- 过滤器(设置,表达式)

不知道您的数据的结构有点困难,但您的陈述可能最终会像下面这样,在您的时间段内过滤少于 50 个“未使用”的行,然后将它们作为示例求和。

`

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] 
于 2009-12-10T17:34:16.853 回答