【发布时间】:2019-06-05 00:51:00
【问题描述】:
我正在尝试根据“状态”来了解对象随时间的老化。其中一种状态是“暂停”,任何单个对象都可以多次暂停。 (数据库中的一对多表关系)。我已经在 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 时间戳。
【问题讨论】:
标签: sql powerbi dax powerbi-desktop