Как я могу получить минимальную и максимальную дату из таблицы? - PullRequest
0 голосов
/ 05 октября 2018

У меня есть одна таблица, как показано ниже.Я хочу иметь другую таблицу в power bi, которая может сообщить мне в определенную дату, что такое Min (StartTime) и Max (endTime).

LogTime   Job_Name   StartTime       endTime
9/18/2018   Job1    9/18/2018 10:27 9/18/2018 10:28
9/18/2018   Job2    9/18/2018 9:47  9/18/2018 9:51
9/18/2018   Job3    9/18/2018 9:41  9/18/2018 9:50
9/18/2018   Job4    9/18/2018 9:46  9/18/2018 9:48
9/17/2018   Job5    9/17/2018 11:23 9/17/2018 11:25
9/17/2018   Job6    9/17/2018 11:17 9/17/2018 11:24
9/16/2018   Job7    9/16/2018 17:20 9/16/2018 17:23
9/16/2018   Job8    9/16/2018 17:18 9/16/2018 17:21
9/16/2018   Job9    9/16/2018 17:17 9/16/2018 17:21
9/14/2018   Job10   9/14/2018 17:19 9/14/2018 17:21
9/14/2018   Job11   9/14/2018 17:19 9/14/2018 17:20
9/14/2018   Job12   9/14/2018 17:17 9/14/2018 17:20
9/14/2018   Job13   9/14/2018 17:16 9/14/2018 17:20

Обязательная таблица:

LogTime      StartTime       endTime        endTime-StartTime
9/18/2018   9/18/2018 9:46  9/18/2018 10:28 hh:mm
9/17/2018   9/17/2018 11:17 9/17/2018 11:25 
9/16/2018   9/16/2018 17:17 9/16/2018 17:23 
9/14/2018   9/14/2018 17:16 9/14/2018 17:21 

1 Ответ

0 голосов
/ 06 октября 2018

Этого можно добиться с помощью редактора Power Query.Я назвал отправную точку (ваши данные) baseTable и использовал ее в качестве источника для targetTable (вашей Обязательной таблицы).

enter image description here

Это следующие шаги:

  1. Используйте [Группировать по] (дополнительно) на вкладке Преобразование.Группа "LogTime".Сделайте две агрегации (minTime и maxTime "). Операция: Все строки.
  2. Добавьте два пользовательских столбца, извлекая запись StartTime и EndTime. (См. Сценарий)
  3. Разверните запись в обоихстолбцы
  4. Создание настраиваемого столбца (вычтите начальное время из конечного времени). Измените тип данных на длительность
  5. Удалите столбцы [Минутное время] и [Максимальное время]

Сценарий выглядит следующим образомthis:

let
Source = #"baseTable",
#"Grouped Rows" = Table.Group(Source, {"LogTime"}, {{"minTime", each _, type table}, {"maxTime", each _, type table}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "minStart", each Table.Min([minTime],"StartTime")),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "maxEnd", each Table.Max([maxTime],"endTime")),
#"Expanded minStart" = Table.ExpandRecordColumn(#"Added Custom1", "minStart", {"StartTime"}, {"StartTime"}),
#"Expanded maxEnd" = Table.ExpandRecordColumn(#"Expanded minStart", "maxEnd", {"endTime"}, {"endTime"}),
#"Added Custom2" = Table.AddColumn(#"Expanded maxEnd", "endTime-StartTime", each [endTime]-[StartTime]),
#"Changed Type" = Table.TransformColumnTypes(#"Added Custom2",{{"StartTime", type time}, {"endTime", type time}, {"endTime-StartTime", type duration}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"minTime", "maxTime"})
in
#"Removed Columns"

Когда вы копируете этот скрипт в расширенный редактор, используя пустой запрос для нового источника, вы должны иметь возможность просмотреть Applied Steps.

...