首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DAX计算Powerbi中的平均速度

使用DAX计算Powerbi中的平均速度
EN

Stack Overflow用户
提问于 2019-06-21 20:29:46
回答 1查看 368关注 0票数 1

我有两个摄像头的数据:车号,摄像头,date_time。摄像机A是第一个,B-第二个摄像机。

我需要计算通过两个摄像头的汽车的平均速度,通过时间至少为5分钟,不超过30分钟。摄像机之间的距离为6公里。

对于同一辆车,我只计算了最近的过车时间。我找不到最近的A穿越时间的B相机穿越时间。

代码语言:javascript
复制
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是车号。

example of data

EN

回答 1

Stack Overflow用户

发布于 2019-06-21 23:00:15

当您有一个如下所示的表时:

然后,像这样的DAX表达式将创建计算出的列MIN_diff_Minutes_with_Camera A。对于带有摄像头B的行,它返回摄像头A的DT_stamp在分钟内的最小差值,小于该行中的DT,表示同一辆车,介于5到30分钟之间。对于带有摄像头A的行,它返回一个空白。

代码语言:javascript
复制
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 ()
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56703516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档