where 子句中的 MDX 'is not equal to'

MDX 'is not equal to' in where clause

我想将所有年份的 [Net sales] 除以 [Year][Week],直到现在我遇到了问题。

我写了两个查询,但都不起作用。

第一个是基本的,我只显示 [Net sales] 除以周和年,这正是我想要的,但首先:即使 [Net sales] 为 Null,我也会显示周和年,并且其次,有 [Year][Week] 的 'All' 成员不希望出现。

如何过滤掉 [All] 和空值?

实际查询:

select  
{[Measures].[Net sales]} on columns,
{([Time].[Year].MEMBERS,
    [Time].[Week].MEMBERS )} on rows
from [Sales]
where ( 
{[Department].[Department name].&[WRO], [Department].[Department name].&[KAT]});

第二个查询,根本不起作用。这是试图过滤掉 [Year][All] 成员。

select  
{ [Measures].[Net sales] } on columns,
{ [Time].[Week].MEMBERS } on rows
from [Sales]
where ( except([Time].[Year].MEMBERS, [Time].[Year].&[All]),
    {[Department].[Department name].&[WRO], [Department].[Department name].&[KAT]});

总结:我只想显示净销售额除以周数。周应按年分组。

要过滤掉 [All] 成员,请使用 CHILDREN 而不是 MEMBERS。

要不获取没有净销售额的周和年,请使用 NON EMPTY:

   NON EMPTY {([Time].[Year].CHILDREN,
        [Time].[Week].CHILDREN )} on rows