在DAX里面使用VAR和RETERN

发布时间 2023-04-10 11:17:04作者: 本大王派你去寻山

 

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就看着很舒服了