根据IF OR语句选择一个集合

时间:2012-09-18 03:50:22

标签: sql ssas mdx data-warehouse

IF [Sales].[Retail] > 0 OR [Sales].[Reseller] > 0 
      SELECT [Measures].[Revenue] on 0 FROM [Cube]
ELSE
      Return nothing

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

2 个答案:

答案 0 :(得分:1)

怎么样:

SELECT
  IIF( [Sales].[Retail] > 0 OR [Sales].[Reseller] > 0 , { [Measures].[Revenue] } , {} ) on 0 
  FROM [Cube]

答案 1 :(得分:1)

select (case when ([Sales].[Retail] > 0 OR [Sales].[Reseller] > 0) 
              then  [Measures].[Revenue] else 'nothing' end) as 'Revenue' from [Cube]