Power Query - Найти время с момента первой записи в таблице - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть запрос, который вытягивает имя пользователя и время входа. Я хочу, чтобы запрос содержал имя пользователя, время входа и время с самого первого времени ввода в минутах.

Боб, 12/01/2019 18:00, 0 Карл, 12/01/2019 18 : 02, 2 Дейв, 12/01/2019 18:30, 30

Мне удалось создать запрос, который вычисляет минимальное время из таблицы, но я не смог присоединиться к ним, и это в любом случае может быть проще сделать это за один шаг.

1 Ответ

1 голос
/ 06 февраля 2020

Группировка по .. продвинутый .... по имени пользователя. Добавьте два новых имени столбца, чтобы получить максимальное и минимальное время входа в столбец. Затем добавьте столбец .. пользовательский столбец ... и создайте формулу, которая вычитает новый максимальный столбец из минимального столбца

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"username", type text}, {"entrytime", type time}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"username"}, {{"In", each List.Min([entrytime]), type time}, {"Out", each List.Max([entrytime]), type time}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Out]-[In])
in #"Added Custom"

Выше предполагается, что вы просматриваете данные за одну дату. Для данных с несколькими датами, когда человек никогда не останется на ночь, сгруппируйте по ... расширенному .... по имени пользователя и дате.

Редактировать:

Чтобы сравнить каждую строку с минимальным временем каждого , получите минимальное время каждого

 MinTime = List.Min(Source[Time]),

Затем создайте новый пользовательский столбец, который вычитает

#"Added Custom" = Table.AddColumn(#"Prior Step", "Custom", each [Time]-MinTime)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...