我有两个摄像头的数据:车号,摄像头,date_time。摄像机A是第一个,B-第二个摄像机。
我需要计算通过两个摄像头的汽车的平均速度,通过时间至少为5分钟,不超过30分钟。摄像机之间的距离为6公里。
对于同一辆车,我只计算了最近的过车时间。我找不到最近的A穿越时间的B相机穿越时间。
Diff_time =
VAR temp =
TOPN (
1;
FILTER (
'TEST2';
'TEST2'[license_plate] = EARLIER ( 'TEST2'[license_plate])
&& 'TEST2'[Date_time] < EARLIER ( 'TEST2'[Date_time] )
);
'TEST2'[Date_time]; DESC
)
RETURN
DATEDIFF ( MINX ( temp; 'TEST2'[Date_time] ); 'TEST2'[Date_time]; MINUTE )license_plate是车号。

发布于 2019-06-21 23:00:15
当您有一个如下所示的表时:

然后,像这样的DAX表达式将创建计算出的列MIN_diff_Minutes_with_Camera A。对于带有摄像头B的行,它返回摄像头A的DT_stamp在分钟内的最小差值,小于该行中的DT,表示同一辆车,介于5到30分钟之间。对于带有摄像头A的行,它返回一个空白。
MIN_diff_Minutes_with_Camera A =
VAR DT_camera_A =
CALCULATE (
MAX ( TEST2[DT_Stamp] ),
ALLEXCEPT ( TEST2, TEST2[Car] ),
'TEST2'[Camera] = "A",
'TEST2'[DT_Stamp] < EARLIER ( TEST2[DT_Stamp] )
)
VAR Time_Diff_in_Minutes =
DATEDIFF ( DT_camera_A, 'TEST2'[DT_Stamp], MINUTE )
RETURN
IF (
'TEST2'[Camera] = "B"
&& TIme_Diff_in_Minutes >= 5
&& Time_Diff_in_Minutes <= 30,
Time_Diff_in_Minutes, --For avg speed in km/h use: 6*(Time_Diff_in_Minutes/60)
BLANK ()
)https://stackoverflow.com/questions/56703516
复制相似问题