【问题标题】:Power BI - find the sum of fields if other fields are equalPower BI - 如果其他字段相等,则查找字段的总和
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我最终想通了。 Power BI 可以选择使用 SQL 查询来加载数据。这样您就可以拥有自己的 SQL 并报告它。

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

      【讨论】:

        猜你喜欢
        • 2011-05-15
        • 1970-01-01
        • 1970-01-01
        • 2021-02-09
        • 2021-09-20
        • 2012-04-30
        • 2020-02-29
        • 1970-01-01
        • 2021-05-29
        相关资源
        最近更新 更多