2012-09-18 52 views
0
 
IF [Sales].[Retail] > 0 OR [Sales].[Reseller] > 0 
     SELECT [Measures].[Revenue] on 0 FROM [Cube] 
ELSE 
     Return nothing 

以上是我想要的行为类型的伪代码表示。有没有一种方法可以根据IF X OR Y布尔表达式在MDX中进行条件选择?我查看了一个if/else语句和case语句,但是我看到的所有例子都使用了常量,并且我一直在努力将这些函数和select语句混合使用(来自MSDN文章,我不确定这是可能的)。基于IF OR语句选择一组

回答

1

如何:

SELECT 
    IIF([Sales].[Retail] > 0 OR [Sales].[Reseller] > 0 , { [Measures].[Revenue] } , {}) on 0 
    FROM [Cube] 
1
select (case when ([Sales].[Retail] > 0 OR [Sales].[Reseller] > 0) 
       then [Measures].[Revenue] else 'nothing' end) as 'Revenue' from [Cube]