[]
        
在线Demo 免费试用
(Showing Draft Content)

任意时间段的差值分析

1. 需求描述

在智能用电中,每个电表的用电量记录都是按频率收集的。

例如,收集频率是每 10分钟一次(可能以秒、分钟和小时为单位)。分析时,需要统计这个时间范围内的用电量(结束时间用电量减去开始时间用电量),会按照小时、日、月、年等不同维度进行显示。

2. 在仪表板中实现

  1. 原有统计数据示例如下,每十分钟统计一次。

    image2021-12-17_14-43-24.png

  2. 实际每个时间段的用电量需要用下一行的数据减去当前行。这里我们需要创建一个数据列,使每一行都返回数据。用窗口函数 LEADW拿到下一行的数据,然后再减去当前数据。

    image2021-12-17_15-4-21.png

    image

    LEADW(
        null,
        'GrapecityElectricityData_Direct'[Electricity Value],
        PARTITIONBY(
            'GrapecityElectricityData_Direct'[Device ID]
            ),
        ORDERBY(
            'GrapecityElectricityData_Direct'[Collection DateTime]
            )
        )
    -
    'GrapecityElectricityData_Direct'[Electricity Value]
  3. 绑定实际用电量,可见每一行得到的都是下一行的值减去当前行。

    image2021-12-17_14-59-14.png

  4. 这样就得到了每一个10分钟的用电量,后续可使用该数据进行按天,月等维度进行统计。(下图中的 leadwcal 即实际用电量)

    image2021-12-17_15-2-6.png

    type=info

    提示

    使用 leadw 进行计算时会存在一定误差,因为最后一行在计算时没有下一行来参与运算,所以无法正确返回结果。

    image2021-12-17_15-6-24.png