Создавайте ежедневные подсчеты на основе диапазонов дат - PullRequest
0 голосов
/ 07 мая 2020

Предположим, что у меня есть следующий набор данных

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

Я пробовал следующее решение, но в моем случае оно почему-то не сработало: Подсчет столбцов на основе диапазона дат

Буду признателен за ваше понимание! Заранее спасибо.

1 Ответ

1 голос
/ 07 мая 2020

Вы можете легко сделать это с помощью 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"

введите описание изображения здесь

...