计算两个不同列之间的时间间隔

时间:2019-07-12 21:00:13

标签: powerbi powerbi-desktop

我正在计算上一次面试结束时间与下一次面试开始时间之间的时间间隔。以所附图像为例,我想计算L72-M71以获得5分钟,但对于L [n] -M [n-1]的所有值。我可以在Excel中轻松完成此操作,但是,在弄清楚如何在Power BI中执行此操作时遇到了困难。

如果任何人都可以提供见解,那将不胜感激!

我的示例表:

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以使用:

Time GAP = 
var totsecs = DATEDIFF(timeTest[ST];timeTest[ET];SECOND)
var minutes = FLOOR(totsecs/60;1)
return TIME(FLOOR(minutes/60;1);MOD(minutes;60);MOD(totsecs;60))

您需要确保该列的类型为“时间”,默认情况下它将转换为DateTime

答案 1 :(得分:0)

@Aldert几乎正确,但是缺少对上一行的引用。

为了使其正常工作,您应该在数据集中有一些索引字段,可以在将数据加载到Power BI之后添加这些索引字段:Creating an index column for Power Bi

然后,您可以使用dax EARLIER函数从上一行获取采访结束时间并计算时间GAP,如下所示:

Time GAP = 
var prevEt = CALCULATE(MAX([Interview End Time]);ALL(Table1); Table1[Index]+1=EARLIER(Table1[Index]))
var totsecs = DATEDIFF(prevEt;Table1[Interview Start Time];SECOND)
var minutes = FLOOR(totsecs/60;1)
return TIME(FLOOR(minutes/60;1);MOD(minutes;60);MOD(totsecs;60))