如何获得每个版本每个ID的Power Bi的天数(行数)差异

时间:2019-07-05 20:52:26

标签: powerbi dax powerbi-desktop

我需要计算每个ID,每个迭代(每个ID的第一条记录和每个版本的迭代次数为0)之间的天数(行数)之间的差。我尝试了一些代码段,但没有成功,例如:

Calculated Time = 
VAR Index = Table[Version]
VAR Reference = Table[Id]
VAR Prevtime =
    CALCULATE (
        FIRSTNONBLANK ( Table[Date], TRUE () ),
        FILTER (Table, Table[Id] = Reference  && Table[Version]  = Index)
    )
RETURN
Table[Date] - Prevtime

所需结果:

ID  Version Date              Calculated time      Formula
12345   1   11/1/2018 8:08      0                   0
12345   1   11/16/2018 8:39     15.02152778         =C3-C2
12345   1   11/16/2018 13:29    0.201388889         =C4-C3
12345   1   11/16/2018 13:32    0.002083333 
12345   2   11/16/2018 8:39     0   
12345   2   11/26/2018 14:24    10.23958333 
12345   2   11/26/2018 14:24    0   
12345   3   11/16/2018 8:39     0   
12345   3   12/6/2018 12:13     20.14861111 
12345   3   12/6/2018 12:20     0.004861111

任何输入都值得赞赏。如果我需要对以上代码进行一些更改,或者您可以为我提供帮助

,请告诉我

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找这样的东西:

enter image description here

它是这样的:
select t.b, count(distinct t.a) counter from (select * from tablea union all select * from tableb) t group by t.b 返回根据当前行的[ID]和[Version]过滤的“表”表。然后,CALCULATE函数从该过滤表中计算出最大的[日期],该值小于当前行中的[日期]。

EARLIER函数用于转到先前的filtercontext(即rowcontext),以从当前行获取[Date]值。

因此,VAR prevTime是具有相同[ID]和[Version]的前一个[Date]。如果没有以前的[日期],则prevTime为空白。

ALLEXCEPT ( 'Table', 'Table'[ID], 'Table'[Version] )