Power BI - 如果其他字段相等,则求字段的总和

Power BI - find the sum of fields if other fields are equal

根据 "status",我正在尝试了解对象随时间的老化情况。其中一种状态是 "On Hold" 任何单个对象都可以多次搁置。 (数据库中的 1 对多 table 关系)。我在 Power BI 中合并了两个 table,现在我想找到总的暂停持续时间。我有一个要提供给我的 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 时间格式,然后我将其转换为微软纪元时间以供显示。

ConvertDateToUnix 是一个将 Microsoft 纪元时间代码转换为 unix 时间戳的存储函数。

如果 sql 查询提供了你所需要的,那么最基本的你只需要将集合导出到文件,通过获取数据将数据加载到 powerBI 中,然后将所有字段添加到一个矩阵可视化。当然,对于持续的业务需求,这个过程应该更加优雅。

我终于弄明白了。 Power BI 可以选择使用 SQL 查询来加载数据。这样你就可以得到你的 SQL 并报告它。

我相信另一种我没有尝试过的可行方法是使用视图。