Мне удалось найти решение этой проблемы с помощью следующего:
Создал вычисляемую таблицу, в которой были созданы дата и адрес электронной почты для каждого отдельного пользователя в указанном диапазоне времени.
hoursWorked =
GENERATE(CALENDAR(DATE(2020, 1, 1), DATE(2030, 12, 31)), SUMMARIZE('Packing Jobs - Pick Lines', 'Packing Jobs - Pick Lines'[Email]))
Созданы два вычисляемых столбца, один для получения первой отметки времени дня для каждого пользователя, а другой для последней отметки времени каждый день.
startTime =
CALCULATE (
MIN('Packing Jobs - Pick Lines'[Timestamp]),
FILTER(
'Packing Jobs - Pick Lines',
'Packing Jobs - Pick Lines'[Email] = hoursWorked[Email] && FORMAT(hoursWorked[Date], "DD-MM-YYYY") = FORMAT('Packing Jobs - Pick Lines'[Timestamp], "DD-MM-YYYY")
)
)
endTime =
CALCULATE (
MAX('Packing Jobs - Pick Lines'[Timestamp]),
FILTER(
'Packing Jobs - Pick Lines',
'Packing Jobs - Pick Lines'[Email] = hoursWorked[Email] && FORMAT(hoursWorked[Date], "DD-MM-YYYY") = FORMAT('Packing Jobs - Pick Lines'[Timestamp], "DD-MM-YYYY")
)
)
Наконец, я вычислил значение минут для каждого дня у пользователя есть временные метки, которые хранятся в последнем вычисляемом столбце, называемом минутами.
minutes =
DATEDIFF(hoursWorked[startTime], hoursWorked[endTime], MINUTE)
Чтобы сопоставить это с данными в 'Packing Jobs - Pick Lines'
, я создал связь между полем email
в обеих таблицах.
Надеюсь, это поможет любому, кто может столкнуться с такой же проблемой!