Power Query, разделение столбца дата и время не работает - PullRequest
0 голосов
/ 24 октября 2018

Пожалуйста, помогите мне, как разделить дату и время столбца, в исходных файлах источников дд-ммм-гггг (двойной пробел) чч: мм: сс xls sources data

Проблема в том, что все столбцы извлеченытолько дата (мне также нужно время), пожалуйста, смотрите изображение

Query Result

А вот код

let
    Source = Excel.Workbook(File.Contents("D:\IP_Enquiry_Result_20181015_082020.xls"), null, true),
    #"Enquiry Result1" = Source{[Name="Enquiry Result"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(#"Enquiry Result1",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}, {"Column11", type text}, {"Column12", type text}, {"Column13", type text}, {"Column14", type text}, {"Column15", type text}, {"Column16", type text}, {"Column17", type text}, {"Column18", type text}, {"Column19", type text}, {"Column20", type text}, {"Column21", type text}, {"Column22", type text}, {"Column23", type text}, {"Column24", type text}, {"Column25", type text}, {"Column26", type text}, {"Column27", type text}, {"Column28", type text}, {"Column29", type text}, {"Column30", type text}, {"Column31", type text}, {"Column32", type text}, {"Column33", type text}, {"Column34", type text}, {"Column35", type text}, {"Column36", type text}, {"Column37", type text}, {"Column38", type text}, {"Column39", type text}, {"Column40", type text}, {"Column41", type text}, {"Column42", type text}, {"Column43", type text}, {"Column44", type text}, {"Column45", type text}, {"Column46", type text}, {"Column47", type text}, {"Column48", type text}, {"Column49", type text}, {"Column50", type text}, {"Column51", type text}, {"Column52", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column47] <> null)),
    #"Promoted Headers" = Table.PromoteHeaders(#"Filtered Rows", [PromoteAllScalars=true])
in
    #"Promoted Headers"

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Я нашел способ заставить его появиться, он использовал запрос Microsoft, и все было в порядке.Я пытался использовать 'MS OLE DB Provider для драйвера ODBC', но источники Excel не могут быть заменены.
Спасибо всем за помощь, хорошего дня :))

0 голосов
/ 24 октября 2018

Я полагаю, что когда вы переводите таблицу вашей электронной таблицы в PowerQuery в качестве источника, она изменит двойной пробел между датой и временем на один пробел.По крайней мере, это то, что он сделал для меня.Затем все, что вам нужно сделать, это выбрать столбец с датой и временем, которое вы хотите разделить, и затем нажать Преобразовать > Разделить столбец > По разделителю > затем измените - Пользовательский - на Пробел и установите переключатель для крайний левый разделитель и нажмите OK.

Воткак в итоге выглядит код (моя таблица называлась Table1, а столбец назывался DateTime):

let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"DateTime", type datetime}}),
#"Split Column by Delimiter" = Table.SplitColumn(Table.TransformColumnTypes(#"Changed Type", {{"DateTime", type text}}, "en-US"), "DateTime", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"DateTime.1", "DateTime.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"DateTime.1", type date}, {"DateTime.2", type time}})
in
#"Changed Type1"

Если он не меняет ваши двойные пробелы на одинарные, когда вы переносите свою таблицу в: вместо изменения - Пользовательский - на Пробел , введите два пробела (дважды нажмите клавишу пробела) в поле ниже - Пользовательский - .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...