我正在尝试获取对象随时间的老化情况,每个“状态”。其中一种状态是"On Hold“,任何单个对象都可以多次处于hold状态。(数据库中的一对多表关系)。我已经在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是一个存储函数,用于将微软纪元时间代码转换为unix时间戳。
发布于 2019-12-02 06:17:38
我最终弄明白了这一点。Power BI可以选择使用SQL查询来加载数据。这样你就可以拥有你的SQL并报告它了。
我相信另一种我没有尝试过的工作方式是使用视图。
发布于 2019-06-05 09:22:15
如果sql查询提供了您需要的内容,那么,最基本的情况是,您只需要将集合导出到文件,通过get data将数据加载到powerBI中,然后将所有字段添加到矩阵可视化中。当然,对于正在进行的业务需求,这个过程应该更加优雅。
https://stackoverflow.com/questions/56452987
复制相似问题