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])
我设法从 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])