2017-01-17 18 views
1

Как использовать, если еще для DAX в измерении. Если значение строки = 1, то возьмите вар вычисленное значение еще взять вар б вычисленное значениеDAX if else для меры

x:=var a=[DATA1] var b=[DATA2] return(if([HOUR]=1),a,b)

Я получаю ошибку, используя вышеприведенную формулу

ответ

0

Кажется, Ваша проблема заключается в том, что вы не агрегирование столбцы при создании меры. Меры только работают с агрегированием данных в данном контексте, как правило, если вы хотите выполнять вычисления на строку, вы должны использовать вычисляемый столбец вместо меры.

И выражение DAX для вычисляемого столбца должно быть:

MyColumn = IF([HOUR] = 1, [DATA1], [DATA2]) 

В противном случае, если вы хотите использовать меру, вы должны явно агрегировать значения столбцов в данном контексте, то есть:

MyMeasure = 
VAR a = 
    FIRSTNONBLANK (ExampleTable[Data1], 0) 
VAR b = 
    FIRSTNONBLANK (ExampleTable[Data2], 0) 
RETURN 
    IF (SUM (ExampleTable[Hour]) = 1, a, b) 

Или просто:

MyMeasure = 
IF (
    SUM ([Hour]) = 1, 
    FIRSTNONBLANK (ExampleTable[Data1], 0), 
    FIRSTNONBLANK (ExampleTable[Data2], 0) 
) 

Позвольте мне знать, если это помогает.

 Смежные вопросы

  • Нет связанных вопросов^_^