Я пытаюсь получить старение объектов с течением времени, за «статус».Одним из состояний является «На удержании», любой отдельный объект может быть на удержании несколько раз.(Отношение 1 ко многим таблицам в БД).Я объединил две таблицы в Power BI и теперь хочу узнать общее время ожидания.У меня есть SQL-запрос, чтобы дать его мне, но я не уверен, как это сделать внутри Power Bi.
Вот запрос:
SELECT
H.onhold_project,
SUM(H.onhold_starttime) SUMSTART,
CASE
WHEN SUM(H.onhold_endtime) < SUM(H.onhold_starttime) THEN SUM(H.onhold_endtime) + corefunc.ConvertDateToUnix(GETDATE(), -7)
WHEN SUM(H.onhold_endtime) IS NULL THEN corefunc.ConvertDateToUnix(GETDATE(), -7)
ELSE SUM(H.onhold_endtime)
END SUMEND,
CASE
WHEN SUM(H.onhold_endtime) < SUM(H.onhold_starttime) THEN (SUM(H.onhold_endtime) + corefunc.ConvertDateToUnix(GETDATE(), -7)) - SUM(H.onhold_starttime)
WHEN SUM(H.onhold_endtime) IS NULL THEN corefunc.ConvertDateToUnix(GETDATE(), -7) - SUM(H.onhold_starttime)
ELSE SUM(H.onhold_endtime) - SUM(H.onhold_starttime)
END DURATION
FROM
proj.onhold H
GROUP BY H.onhold_project
Примечания:
все даты представлены в формате времени UNIX, который я затем преобразовываю в время эпохи Microsoft для отображения.
ConvertDateToUnix - это хранимая функция, которая преобразует временной код Microsoft в метку времени Unix.