美文网首页
switch与var

switch与var

作者: BI罗 | 来源:发表于2020-12-11 14:59 被阅读0次
Action_ePOS_Offtake = 
SWITCH (
    TRUE (),
    SELECTEDVALUE ( ePOS_Action_Time[Action_Time] ) = "Flexible Date Range", [BD_Offtake],
    SELECTEDVALUE ( ePOS_Action_Time[Action_Time] ) = "MTD", [MTD_Offtake],
    SELECTEDVALUE ( ePOS_Action_Time[Action_Time] ) = "FYTD", [FYTD_Offtake],
    SELECTEDVALUE ( ePOS_Action_Time[Action_Time] ) = "FYTD2", 1
)

Action_ePOS_Offtake_var = 
VAR a = [BD_Offtake]
VAR b = [MTD_Offtake]
VAR c = [FYTD_Offtake]
RETURN
    SWITCH (
        TRUE (),
        SELECTEDVALUE ( ePOS_Action_Time[Action_Time] ) = "Flexible Date Range", a,
        SELECTEDVALUE ( ePOS_Action_Time[Action_Time] ) = "MTD", b,
        SELECTEDVALUE ( ePOS_Action_Time[Action_Time] ) = "FYTD", c
    )

左边单纯switc,右边是switch+var,明显var的query多三个,查询更慢,为什么?因为即使var是惰性计算,在需要时(return)才会计算,但是,整个dax的上下文也会先一步作用在var的定义里,不管你是否也被立刻计算出来,我先给你一套上下文。


相关文章

网友评论

      本文标题:switch与var

      本文链接:https://www.haomeiwen.com/subject/bwpjgktx.html