PowerBI:如何使用 DAX/Measure 将时间 calculate/convert 转化为百分比

PowerBI: How to calculate/convert Time into Percentage using DAX/Measure

我设法从 E 列获得了 Excel 所需的 % 时差 ,简单的工作只是将数据类型更改为百分比。我们计算的是这些 TimeDifferences 的百分比,一个一个(其他列微不足道)。

PowerBI 中没有同样的事情,我无法正确计算它,总是在逗号前得到“1”,然后得到结果 - 你可以在两者中比较它 tables/columns 我是什么谈论。

我正在寻找 way/DAX/measure 如何正确计算它,无论是小数还是直接百分比,只要 % 与 Excel 列中的相同。有什么想法吗?

P.S 左边是 Excel 右边是 PowerBI!

似乎 Excel 是基于 24 小时的百分比,这是我在计算中使用的(24 小时 = 24 * 3600 秒)。

我开始在 power query 中结合日期和时间,这与你过了一天的事实有关,你的计算仍然需要正确。

转到查询编辑器。 select 两列,合并它们。接下来将类型更改为Date/Time,结果:

保存并关闭编辑器。

在 Power Bi 中,添加一列:

NextDate = LOOKUPVALUE(Explog[Date];Explog[Index];Explog[Index] + 1)

这是根据索引 + 1 选择下一个日期

添加另一列 TimeDiffSec,以秒为单位计算 datediff:

TimeDiffSec = DATEDIFF(Explog[Date];Explog[NextDate];SECOND)

最后一步是添加百分比列:

% of time difference = 
var perc = Explog[TimeDiffSec]/ (24*3600)
return if(perc >= 1; perc -  1; perc)

最终结果:

注意:如果您不想混合使用系统(STYRAX - 洗涤器),您可以将以下内容用于 NextDate:

NextDate = 
var nextIndex = 
    CALCULATE(MIN(Explog[Index]);
        FILTER(Explog;Explog[Index] > EARLIER(Explog[Index]) && Explog[System] = EARLIER(Explog[System])))
return 
    LOOKUPVALUE(Explog[Date];Explog[Index];nextIndex; Explog[System];Explog[System])