2017-03-16 30 views
0

如果我有這種數據: enter image description here減去DAX中的行值;雙向電力

我想計算碧和Bi + 1,在PowerBI值之間的時間差。也就是說,在新的一列,在查詢編輯器(在併購所以寫),我想有:

C3 = B3-B2

C4 = B4 - B3

等。

你知道如何在PowerBI中實現這個嗎?

回答

1

您可以使用計算列像下面每一行與上一個,然後使用DATEDIFF函數計算在幾秒鐘的區別:如果你想將它與上一個ID時間值

Difference in Seconds = 
DATEDIFF (
    'Table'[Time], 
    CALCULATE (
     MIN ([Time]), 
     FILTER (ALL ('Table'), [ID] < EARLIER ('Table'[ID])) 
    ), 
    SECOND 
) 

,不管時間值越高,你可以簡單地使用:

Difference in Seconds = 
DATEDIFF (
    'Table'[Time], 
    CALCULATE (
     MIN ([Time]), 
     FILTER (ALL ('Table'), [ID] = EARLIER ('Table'[ID]) - 1) 
    ), 
    SECOND 
) 

使用LOOKUPVALUE

Difference in Seconds = 
DATEDIFF (
    'Table'[Time], 
    LOOKUPVALUE ('Table'[Time], 'Table'[ID], [ID] - 1), 
    SECOND 
) 

更新:通過M語言從源添加列。

使用像這樣的自定義列:

=Table.AddColumn(#"YourLastStep", "Diff", 
each 
    (try DateTime.From(#"YourLastStep"[Time]{[ID]-2}) 
    otherwise DateTime.From([Time])) - [Time] 
) 

enter image description here

希望它能幫助。

+0

感謝您的評論; 我現在意識到我希望在查詢編輯器中創建這個新列,因此可以在刷新時自動執行此計算。 你知道如何在M中執行此操作嗎? – Mariah

+0

@Mariah,在M中,它就像我在我的答案中發佈的示例。試一試。 –