根据日期范围创建每日计数

Create Daily Counts based on Date Ranges

假设我有以下数据集

Case ID |  Dates Start Date [1]  |   Dates End Date [1]  |
002   | 2020-03-10T00:00:00.000Z  | 2020-03-13T00:00:00.000Z | 
008   | 2020-03-12T00:00:00.000Z  | 2020-03-20T00:00:00.000Z | 
322   | 2020-04-20T00:00:00.000Z  | 2020-04-25T00:00:00.000Z |

IMP:日期格式如下:2020-04-11T00:00:00.000Z

我需要创建在特定日期范围内位于该位置的每日人数。我可以选择在 PowerBI Desktop 或 Excel 中解决这个问题。例如,通过这个计算(使用上面的数据集)我期望每天的计数是这样的:

10/03/20 - 1
11/03/20 - 1
12/03/20 - 2
13/03/20 - 2
14/03/20 - 1

我尝试了以下解决方案,但不知何故它对我的情况不起作用:

非常感谢您的见解!提前致谢。

您可以使用 Power Query 轻松完成此操作。我不熟悉 PowerBI,但它可能类似。

  • 将第 1 列的类型设置为文本,将日期列的类型设置为整数
  • 添加一个自定义列,创建一个以开始日期和结束日期为界的列表
  • 删除原始开始日期和结束日期列
  • 将列表扩展到新行
  • 将数据类型更改为日期
  • 按日期分组,计数行作为聚合。

M-代码

let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Case ID", type text}, {"Start Date", Int64.Type}, {"End Date", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Dates", each {[Start Date]..[End Date]}),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Start Date", "End Date"}),
    #"Expanded Dates" = Table.ExpandListColumn(#"Removed Columns", "Dates"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Dates",{{"Dates", type date}}),
    #"Grouped Rows" = Table.Group(#"Changed Type1", {"Dates"}, {{"Count", each Table.RowCount(_), type number}})
in
    #"Grouped Rows"