【问题标题】:Counting for every day individually单独计算每一天
【发布时间】:2019-11-27 13:02:21
【问题描述】:

我刚刚创建了一个如下所示的表格:

我通过将时间组和 ChargingPoint-ID (LPNumber) 都作为值放入表格(可视化工具)中来做到这一点。如您所见,我正在计算每次连接到充电点 (LPNumber) 的次数。因此我观望了好几天。因此,从 00:00 到 00:14(在第 1 行分组为 00:00)在 31 天的时间段内总共建立了 36 个连接。

我的问题:

只计算连接的开始时间(显然 - 我使用了 ConnectionStart Time),但我想计算处于活动状态的连接。因此,假设从 00:00 到 00:14 之间建立的 36 个连接中,10 个连接在 00:15 仍然处于活动状态,那么第 2 行应该是 10 + 25 = 35

作为数据,我有连接的开始时间和结束时间,当然还有 LPNumber(充电点的 ID 号)。我有更多数据,但我认为这 3 列应该是唯一重要的列。

您知道如何实现这一点吗?

【问题讨论】:

    标签: excel powerbi dax powerquery powerbi-desktop


    【解决方案1】:

    如果您有这样的数据 (Table):

    Start       End
    00:00:00    00:14:00
    00:10:00    00:20:00
    00:20:00    00:30:00
    00:22:00    00:40:00
    00:31:00    00:50:00
    00:00:00    01:00:00
    

    还有一个像这样的时间段 (Window) 表:

    Start
    00:00:00
    00:15:00
    

    您可以向Window 添加一个计算列,该列计算Table 中持续时间与Start + 14:59 min 重叠的行

    Col =
    CALCULATE (
        COUNTROWS ( 'Table' );
        FILTER (
            'Table';
            'Table'[Start]
                < ( Window[Start_Window] + TIME ( 0; 14; 59 ) )
                && 'Table'[End] > Window[Start_Window]
        )
    )
    

    如果需要生成Window 表可以使用这个公式:

    Window = GENERATESERIES(TIME(0;0;0);TIME(23;59;00);TIME(0;15;0))
    

    【讨论】:

    • 非常感谢。这正是我一直在寻找的!我使用了一个时间切片器,它引用了 'Table'[ConnectionStart'] 但是当我只选择一个月时,计算列中的值仍然包括所有时间的连接。我尝试在您的 FILTER() 函数中包含 MIN('Table'[ConnectionStart]) 和 MAX('Table'[ConnectionStart]) 但它不起作用。
    猜你喜欢
    • 2018-08-04
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多