DAX表达式-根据“时间”列中的时间确定“移位”列中的移位

时间:2020-04-07 18:11:44

标签: if-statement powerbi dax case-statement

(请参见视觉)我正在寻找DAX表达式,该表达式可用于使“ Shift”列中的值依赖于“ Time”列中的值。与下面的SQL case语句脚本完全相同或相似。我对DAX相对较新,并且在Power BI中似乎无法使用相同的逻辑。我已经尝试过寻找解决方案,但似乎找不到与我要寻找的东西完全匹配的东西。

  CASE 
        WHEN CONVERT(VARCHAR(8), si.dtincidentdate, 108) BETWEEN 
             '07:00:00' AND '14:59:00' THEN 'Day' 
        WHEN CONVERT(VARCHAR(8), si.dtincidentdate, 108) BETWEEN 
             '15:00:00' AND '22:59:00' THEN 'Evening' 
        ELSE 'Night'          
      END AS ShiftName

谢谢!

Time table visual

1 个答案:

答案 0 :(得分:0)

您可以使用Switch语句:

WorkShift = SWITCH(TRUE(), 
    [Time] >= TIME(7, 0, 0) && [Time] < TIME(15,0,0), "DAY",
    [Time] >= TIME(15,0,0) && [Time] < TIME(23,0,0), "Evening",
    "Night")

TIME是用于返回“时间”变量类型以进行比较的函数。