MDX Query - 0, если пуст - PullRequest
       22

MDX Query - 0, если пуст

0 голосов
/ 16 июня 2011

Трудно сделать эту простую вещь: вернуть 0 вместо «ноль»

SELECT
{
    [Measures].[Count]
} ON COLUMNS 
, {
CASE WHEN  
        [TimeDMY].[Month] = 0
    Then 0
    Else 
    [TimeDMY].[Month]
    End

} ON ROWS 
FROM [Views]
WHERE {
    (
    [TimeDMY].[Year -  Month -  Date].[Month].&[2011-07-01T00:00:00]

Возвращает правильное значение, если значение Count не является нулевым для данного месяца.

Если значение для данного месяца равно нулю, я получаю:

Запрос (20, 1) Функция ожидает выражение набора кортежей для аргумента 1.Использовалось строковое или числовое выражение.

Я пытался заставить эту работу работать с функциями IIF и IsEmpty ... с таким же успехом, как и этот.

1 Ответ

1 голос
/ 16 июня 2011

Я бы использовал рассчитанную меру :

with member [Measures].[count-x] as 
      IIF( isEmpty( ([Measures].[Count], [TimeDMY].[Month].currentMember) ), 
           0, 
           ( [Measures].[Count], [TimeDMY].[Month].currentMember ) 
      )

SELECT 
  [Measures].[count-x]  ON 0,
  [TimeDMY].[Month].members on 1  
FROM [Views]
...