VAR就是定义参数,DAX里面如果用了VAR,在DAX的最后面就需要加上RETURN
比如下面这个度量值:
ISINSCOPE B =
SWITCH(TRUE(),
ISINSCOPE(Sheet1[PRODUCT]),[AMT]/CALCULATE([AMT], ALLSELECTED(Sheet1[PRODUCT])),
ISINSCOPE(Sheet1[CATEGORY]), [AMT]/CALCULATE([AMT], ALLSELECTED(Sheet1[CATEGORY])),
[AMT]/CALCULATE([AMT], ALLSELECTED(Sheet1[PRODUCT]))
)
如果用上VAR的话:
ISINSCOPE B2 =
var a = [AMT]/CALCULATE([AMT], ALLSELECTED(Sheet1[PRODUCT]))
var b = [AMT]/CALCULATE([AMT], ALLSELECTED(Sheet1[CATEGORY]))
var c =
SWITCH(TRUE(),
ISINSCOPE(Sheet1[PRODUCT]), a,
ISINSCOPE(Sheet1[CATEGORY]), b,
a
)
return c
数值都是一样的,但是写出来的DAX就看着很舒服了