DAX if else 用于衡量
DAX if else for measure
如何在度量中为 DAX 使用 if else。如果行值 =1,则取 var a 计算值,否则取 var b 计算值
x:=var a=[DATA1]
var b=[DATA2]
return(if([HOUR]=1),a,b)
我使用上面的公式时出错
您的问题似乎是您在创建度量时没有聚合列。度量仅适用于在给定上下文中聚合数据,通常如果您想对每行执行计算,您应该使用计算列而不是度量。
计算列的 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 )
)
如果有帮助请告诉我。
如何在度量中为 DAX 使用 if else。如果行值 =1,则取 var a 计算值,否则取 var b 计算值
x:=var a=[DATA1]
var b=[DATA2]
return(if([HOUR]=1),a,b)
我使用上面的公式时出错
您的问题似乎是您在创建度量时没有聚合列。度量仅适用于在给定上下文中聚合数据,通常如果您想对每行执行计算,您应该使用计算列而不是度量。
计算列的 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 )
)
如果有帮助请告诉我。