Если у вас в таблице есть колонка типа «Время», то полночь может быть указана как «00:00:00» или «24:00:00».
Power Query поймёт и обработает любой вариант.
Но есть ли различия, и когда какое значение лучше использовать?
Давайте разбираться.
Для начала немного логики.
Если вы хотите сказать, что работали с 22-30 до полуночи, то логично использовать такой формат: с 22:30:00 до 24:00:00.
Если надо показать, что вы работали с полуночи до 2 часов ночи, то следует использовать другой формат: с 00:00:00 до 02:00:00.
Для примера:
если мы укажем, что работали с 00:00:00 до 02:00:00, то при вычислении продолжительности получим результат 2 часа. Всё верно.
Если мы укажем, что работали с 24:00:00 до 02:00:00, то вычисление продолжительности даст нам 22 часа. Не совсем то, что требовалось.
Power Query поймёт оба варианта и корректно посчитает продолжительность с учётом заложенной логики.
Но если потребуется сравнить оба значения «24:00:00» и «00:00:00», тогда возникнут проблемы:
#time( 0, 0, 0) = #time( 0, 0, 0) // true
#time( 0, 0, 0) = #time(24, 0, 0) // false
#time(24, 0, 0) = #time(24, 0, 0) // true
Если попробовать преобразовать время в число, то мы получим разные значения:
Number.From(#time( 0,0,0)) // 0
Number.From(#time(24,0,0)) // 1
Для корректного сравнения придётся задействовать дополнительные функции:
Time.ToRecord(#time( 0, 0, 0)) = Time.ToRecord(#time( 0, 0, 0)) // true
Time.ToRecord(#time( 0, 0, 0)) = Time.ToRecord(#time(24, 0, 0)) // true
Time.ToRecord(#time(24, 0, 0)) = Time.ToRecord(#time(24, 0, 0)) // true
Это один из возможных вариантов.
Если вы знаете другие способы, напишите, пожалуйста, в комментариях.
Жителям Петропавловска-Камчатского спокойной ночи!
Статья подготовлена по материалам блога Ben Gribaudo.