Как создать столбец даты и времени из столбца даты и часа в Power Query

#datetime #powerquery

#дата и время #powerquery

Вопрос:

У меня есть этот столбец в таблице:

2019-10-01 01
2019-10-01 02
2019-10-01 03…

Как я могу использовать Power Query для преобразования его (или создания нового столбца) в правильный столбец даты и времени, где значения «01,02,03» выше — это часы? Я имею дело только с датами и часами.

Power Query не распознает его изначально.

Ответ №1:

Если вы добавляете ":00" в конец столбца, он должен иметь возможность интерпретировать его как формат даты и времени.

 Table.TransformColumns(Source,{{"Col", each DateTime.FromText(_amp;":00"), type datetime}})
  

Комментарии:

1. Спасибо, Алексис! Я использовал вариант вашей темы: = Таблица. AddColumn (#»PreviousStep», «DateTime», каждый [Дата] и «:00») Поскольку я работал со временем окончания часа, мне пришлось также заменить час 24:00 на 00:00. Затем он распознал его как действительную дату / время.

Ответ №2:

Я использовал следующую таблицу ввода

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

Это сработало для меня

 let
    source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    splitByDelimiter = Table.SplitColumn(source, "Input", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, true), {"Date", "Time"}),
    changedType = Table.TransformColumnTypes(splitByDelimiter,{{"Date", type date}, {"Time", type time}})
in
    changedType
  

со следующим результатом

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

Ответ №3:

Если у вас есть столбец с именем Column1, например:

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

Вы можете использовать этот код:

 Table.TransformColumns(Source,{"Column1", each #datetime(Number.From(Text.Range(_,0,4)),Number.From(Text.Range(_,5,2)),Number.From(Text.Range(_,8,2)),Number.From(Text.Range(_,11,2)),0,0)})
  

Чтобы получить это:

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

Просто скопируйте приведенный выше код, щелкните введите описание изображения здесьи вставьте код в строку формул. Если у вашего столбца нет имени Column1, замените ссылку на Column1 именем вашего столбца.