矩阵 Table - 日期列、位置行和计算日期位置的天数

Matrix Table - Date Columns, location rows and count days at location for date

我希望在 Power BI 报表中创建一系列矩阵 table。

我们拥有的数据是:

EventID|VehicleID|LocationID|StartDate|EndDate
1      |1        |GBR       |2010-1-1 |2010-1-5
2      |9        |RUS       |2010-1-3 |2010-1-7
3      |6        |GBR       |2010-1-3 |2010-1-5
4      |1        |USA       |2010-1-5 |2010-1-7

输出

    LocationID 2010-1-1|2010-1-2|2010-1-3|2010-1-4|2010-1-5|2010-1-6
GBR               1    |   1    |     2  |     2  |   0    |    0
USA               0    |   0    |     0  |     0  |   1    |    1
RUS               0    |   0    |     1  |     1  |   1    |    1

每辆车在一个时间段内只有一个事件,每辆车的时间没有重叠。我们正在尝试获取每个日期每个位置的车辆数量,例如如果 LocationID 在 1 月 1 日有 4 辆车,我们在 4 矩阵单元格中显示 4。

我在我们的 SQL 服务器中创建了一个日期 Table(我们正在使用直接查询),但我真的很难计算每天每个位置的车辆数量。我假设我必须以某种方式将每个事件的日期范围转换为事件日期列表,并且每个事件的天数为 1。然后,我只需要创建矩阵,其中的列为日期 table 的日期和事件 table 的位置 ID,但我不知道如何获取 locationIDS 的计数。有任何想法吗?

我基于 StartDateEndDate 使用 DAX 创建了一个新的 table:

Date = CALENDAR(MIN(Event[StartDate]), MAX(Event[EndDate]))

并通过将日期与 StartDateEndDate 进行比较并计算行数来构建 Count 度量:

Count = 
COUNTROWS(
    FILTER(
        Event,
        Event[StartDate] <= MAX('Date'[Date]) &&
        Event[EndDate] > MIN('Date'[Date])
    )
) + 0

结果: