Powerbi 如何使用DAX计算同一id的两个不同状态转换之间的天数差异

Powerbi 如何使用DAX计算同一id的两个不同状态转换之间的天数差异,powerbi,dax,Powerbi,Dax,首先,我将从一个示例数据开始,根据该示例数据,我将解释我想要的结果: 指数 身份证件 时间戳 地位 1. 25730 2020-06-24 07:22:31.297 进行中 2. 25730 2020-06-29 06:28:20.193 准备好的 3. 25730 2020-06-30 07:21:05.147 进行中 4. 25730 2020-06-30 09:40:27.670 准备好的 5. 25730 2020-07-01 07:23:11.277 进行中 6. 25730 2020

首先,我将从一个示例数据开始,根据该示例数据,我将解释我想要的结果:

指数 身份证件 时间戳 地位 1. 25730 2020-06-24 07:22:31.297 进行中 2. 25730 2020-06-29 06:28:20.193 准备好的 3. 25730 2020-06-30 07:21:05.147 进行中 4. 25730 2020-06-30 09:40:27.670 准备好的 5. 25730 2020-07-01 07:23:11.277 进行中 6. 25730 2020-07-05 11:06:02.413 准备好的 110 25735 2020-06-30 09:36:04.050 准备好的 141 25738 2020-06-28 11:49:09.557 进行中 142 25738 2020-06-28 11:51:44.503 准备好的 143 25738 2020-06-29 05:05:45.777 进行中 144 25738 2020-06-29 05:12:54.617 准备好的 145 25738 2020-07-13 12:17:46.873 准备好的 146 25738 2020-07-15 16:21:09.667 进行中 147 25738 2020-07-20 16:46:59.840 准备好的 148 25738 2020-07-24 16:49:57.003 进行中
签出此视频可能会有所帮助
延迟桶分析检查此视频可能会有所帮助 延迟桶分析

整个度量(如果指数是唯一的):

measure2=
var\uuu currentIndex=SELECTEDVALUE(表1[索引])
var\uuu currentID=SELECTEDVALUE(表1[ID])
var\uuuu previousReady=计算(最大值(Sheet1[时间戳]),过滤器(全部(Sheet1),Sheet1[ID]=\uuuu currentID和Sheet1[Index]<\uu currentIndex和Sheet1[Status]=“Ready”))
返回
计算(DATEDIFF(uu previousReady,SELECTEDVALUE(Sheet1[时间戳]),DAY),过滤器(ALL(Sheet1[状态]),Sheet1[状态]=“进行中”))
整个度量(如果索引是唯一的):

measure2=
var\uuu currentIndex=SELECTEDVALUE(表1[索引])
var\uuu currentID=SELECTEDVALUE(表1[ID])
var\uuuu previousReady=计算(最大值(Sheet1[时间戳]),过滤器(全部(Sheet1),Sheet1[ID]=\uuuu currentID和Sheet1[Index]<\uu currentIndex和Sheet1[Status]=“Ready”))
返回
计算(DATEDIFF(uu previousReady,SELECTEDVALUE(Sheet1[时间戳]),DAY),过滤器(ALL(Sheet1[状态]),Sheet1[状态]=“进行中”))

Measure 2 = 
var __currentIndex = SELECTEDVALUE(Sheet1[Index])
var __currentID = SELECTEDVALUE(Sheet1[ID])
var __previousReady = CALCULATE( MAX(Sheet1[timestamp]), FILTER(ALL(Sheet1), Sheet1[ID] = __currentID && Sheet1[Index] < __currentIndex && Sheet1[Status] = "Ready"))

return
CALCULATE( DATEDIFF(__previousReady, SELECTEDVALUE(Sheet1[timestamp]) ,DAY), FILTER(ALL(Sheet1[Status]), Sheet1[Status] = "In Progress"))