获取给定时间范围内的最新记录

时间:2021-05-01 05:57:24

标签: powerbi dax

我有一个 Power BI 热图,用于测量当前小时和前 8 小时的设备正常运行时间:

enter image description here

问题在于给定的小时可能并不总是有记录;在上面的示例中,机器从凌晨 4 点到早上 6 点不间断运行,并且没有任何记录表明它在整个小时内都已启动并运行了凌晨 5 点。 -3 小时应显示 100%,但错误地显示为 0%。

此可视化具有每小时的单独度量,用于计算每小时的正常运行时间。例如,Hour -3 的计算如下:

-3 = IF(ISBLANK(CALCULATE(COUNTROWS(UptimeCombined), FILTER(UptimeCombined, UptimeCombined[Hours_Offset] = 3))) = TRUE,
(CALCULATE('UptimeCombined'[Uptime %], FILTER(UptimeCombined, UptimeCombined[Hours_Offset] > 3 && UptimeCombined[ShiftDateTime] = MAX(UptimeCombined[ShiftDateTime])))),
(CALCULATE('UptimeCombined'[Uptime %], FILTER('UptimeCombined', 'UptimeCombined'[Hours_Offset] = 3))))

如果行数返回空白,那么我需要及时向后查看(最大记录,其中 Hour_Offset > 3)并找到最后一条记录的状态(“RN”或“DN”)并显示那一小时的正常运行时间值(分别为 100% 或 0%),但我无法让这部分措施正常工作; -3 小时应显示 100%,因为之前的最新记录状态为“RN”(在 -4 小时内)。数据如下所示:

enter image description here

在此度量的第 2 行中,根据该小时之前的最新记录,将正常运行时间设置为 100% 或 0% 所需的正确 DAX 是什么?

1 个答案:

答案 0 :(得分:0)

在数据到达 Power BI 之前,我最终在 SQL Server 端的源视图中填充了数据空白……这种方式比试图弄乱复杂的计算和度量要简单得多。

相关问题