#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 именем вашего столбца.