DAX 表达式 - 根据 "Time" 列中的时间确定 "Shift" 列中的移位
DAX Expression - Determine Shift in "Shift" column based on Time in "Time" Column
(见图表)我正在寻找一个 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
您可以使用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
是return一个"time"变量类型的函数,用于比较。
(见图表)我正在寻找一个 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
您可以使用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
是return一个"time"变量类型的函数,用于比较。