过滤MDX中特定成员的维度

时间:2016-03-09 15:30:10

标签: mdx olap mondrian

我需要为特定的[Year] .Member。

过滤维度[Line]

例如, [时间] [2004]显示结果([产品]。[线]。[经典汽车]和[产品]。[线]。[船舶]) - [时间]的[产品]。[线]成员的其余部分。[2004]但不要排除[产品]。[行]成员为其他[时间]。成员。

我需要一个与Mondrian兼容的代码。 有什么建议吗?

SELECT
    NON EMPTY {[Measures].[Sales]} ON COLUMNS,
    NON EMPTY NonEmptyCrossJoin([Time].[Years].Members, [Product].[Line].Members) ON ROWS
FROM 
    [SteelWheelsSales]

enter image description here

1 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

SELECT 
  NON EMPTY 
    {[Measures].[Sales]} ON COLUMNS
 ,NON EMPTY 
    {
      (
        [Time].[2004]
       ,{
          [Product].[Line].[Classic Cars]
         ,[Product].[Line].[Ships]
        }
      )
     ,NonEmptyCrossJoin
      (
        Except
        (
          [Time].[Years].MEMBERS
         ,[Time].[2004]
        )
       ,[Product].[Line].MEMBERS
      )
    } ON ROWS
FROM [SteelWheelsSales];