我正在尝试根据“状态”使对象随时间老化。状态之一是“保留”,任何单个对象都可以多次保留。 (DB中的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时间戳。
答案 0 :(得分:0)
如果sql查询提供了您所需要的内容,那么最基本的是,您只需要将集合导出到文件中,通过获取数据将数据加载到powerBI中,然后将所有字段添加到矩阵可视化中。当然,对于持续的业务需求,此过程应该更优雅。
答案 1 :(得分:0)
我最终弄清楚了这一点。 Power BI可以选择使用SQL查询来加载数据。这样,您就可以拥有SQL并报告它。
我相信,另一种我从未尝试过的可行方法是使用View。