Доброго дня.
Прошу помочь ускорить обновления данных по запросу в PowerQuery. Я новичок. Моя задача была создать файл аккумулирующий данные из разных ехсел файлов в один. Я создал запрос к папке, где хранятся файлы. В исходных файлах нужные значения находятся на разных листах исходников, поэтому я отсортировал нужные. Проблема - при добавлении нового файла в папку обновление запроса идет 2 минуты. Код запроса прилагаю.
let
Источник = Folder.Files("M:\\Перевозки\2024"),
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([Extension] = ".xlsm")),
#"Вызвать настраиваемую функцию1" = Table.AddColumn(#"Строки с примененным фильтром", "Преобразовать файл (2)", each #"Преобразовать файл (2)"([Content])),
#"Развернутый элемент Преобразовать файл (2)" = Table.ExpandTableColumn(#"Вызвать настраиваемую функцию1", "Преобразовать файл (2)", {"Name", "Data"}, {"Преобразовать файл (2).Name", "Преобразовать файл (2).Data"}),
#"Удаленные столбцы" = Table.RemoveColumns(#"Развернутый элемент Преобразовать файл (2)",{"Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
#"Сведенный столбец" = Table.Pivot(#"Удаленные столбцы", List.Distinct(#"Удаленные столбцы"[#"Преобразовать файл (2).Name"]), "Преобразовать файл (2).Name", "Преобразовать файл (2).Data"),
#"Развернутый элемент Заявление" = Table.ExpandTableColumn(#"Сведенный столбец", "Заявление", {"Column4", "Column8"}, {"Заявление.Column4", "Заявление.Column8"}),
#"Строки с примененным фильтром2" = Table.SelectRows(#"Развернутый элемент Заявление", each ([Заявление.Column4] = "Страховая сумма")),
#"Развернутый элемент Сертификат" = Table.ExpandTableColumn(#"Строки с примененным фильтром2", "Сертификат", {"Column1", "Column3", "Column9"}, {"Сертификат.Column1", "Сертификат.Column3", "Сертификат.Column9"}),
#"Строки с примененным фильтром3" = Table.SelectRows(#"Развернутый элемент Сертификат", each ([Сертификат.Column1] = "Вид транспорта:" or [Сертификат.Column1] = "Выгодоприобретатель:" or [Сертификат.Column1] = "Дата отправки" or [Сертификат.Column1] = "ИНФОРМАЦИЯ О ПЕРЕВОЗКЕ:" or [Сертификат.Column1] = "Наименование груза:" or [Сертификат.Column1] = "Номера и даты #(lf)перевозочных документов:" or [Сертификат.Column1] = "Описание транспорта (№):" or [Сертификат.Column1] = "Пункт назначения:" or [Сертификат.Column1] = "Пункт отправления:" or [Сертификат.Column1] = "Пункты перегрузки/место промежуточного хранения:")),
#"Объединенные столбцы" = Table.CombineColumns(Table.TransformColumnTypes(#"Строки с примененным фильтром3", {{"Сертификат.Column9", type text}}, "ru-RU"),{"Сертификат.Column3", "Сертификат.Column9"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Сведено"),
#"Замененное значение" = Table.ReplaceValue(#"Объединенные столбцы","ИНФОРМАЦИЯ О ПЕРЕВОЗКЕ:","Страховая премия",Replacer.ReplaceText,{"Сертификат.Column1"}),
#"Сведенный столбец1" = Table.Pivot(#"Замененное значение", List.Distinct(#"Замененное значение"[Заявление.Column4]), "Заявление.Column4", "Заявление.Column8"),
#"Сведенный столбец2" = Table.Pivot(#"Сведенный столбец1", List.Distinct(#"Сведенный столбец1"[Сертификат.Column1]), "Сертификат.Column1", "Сведено"),
#"Извлеченные первые символы" = Table.TransformColumns(#"Сведенный столбец2", {{"Дата отправки", each Text.Start(_, 10), type text}}),
#"Измененный тип" = Table.TransformColumnTypes(#"Извлеченные первые символы",{{"Страховая премия", type number}, {"Дата отправки", type date}})
in
#"Измененный тип"
Прошу помочь ускорить обновления данных по запросу в PowerQuery. Я новичок. Моя задача была создать файл аккумулирующий данные из разных ехсел файлов в один. Я создал запрос к папке, где хранятся файлы. В исходных файлах нужные значения находятся на разных листах исходников, поэтому я отсортировал нужные. Проблема - при добавлении нового файла в папку обновление запроса идет 2 минуты. Код запроса прилагаю.
let
Источник = Folder.Files("M:\\Перевозки\2024"),
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([Extension] = ".xlsm")),
#"Вызвать настраиваемую функцию1" = Table.AddColumn(#"Строки с примененным фильтром", "Преобразовать файл (2)", each #"Преобразовать файл (2)"([Content])),
#"Развернутый элемент Преобразовать файл (2)" = Table.ExpandTableColumn(#"Вызвать настраиваемую функцию1", "Преобразовать файл (2)", {"Name", "Data"}, {"Преобразовать файл (2).Name", "Преобразовать файл (2).Data"}),
#"Удаленные столбцы" = Table.RemoveColumns(#"Развернутый элемент Преобразовать файл (2)",{"Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
#"Сведенный столбец" = Table.Pivot(#"Удаленные столбцы", List.Distinct(#"Удаленные столбцы"[#"Преобразовать файл (2).Name"]), "Преобразовать файл (2).Name", "Преобразовать файл (2).Data"),
#"Развернутый элемент Заявление" = Table.ExpandTableColumn(#"Сведенный столбец", "Заявление", {"Column4", "Column8"}, {"Заявление.Column4", "Заявление.Column8"}),
#"Строки с примененным фильтром2" = Table.SelectRows(#"Развернутый элемент Заявление", each ([Заявление.Column4] = "Страховая сумма")),
#"Развернутый элемент Сертификат" = Table.ExpandTableColumn(#"Строки с примененным фильтром2", "Сертификат", {"Column1", "Column3", "Column9"}, {"Сертификат.Column1", "Сертификат.Column3", "Сертификат.Column9"}),
#"Строки с примененным фильтром3" = Table.SelectRows(#"Развернутый элемент Сертификат", each ([Сертификат.Column1] = "Вид транспорта:" or [Сертификат.Column1] = "Выгодоприобретатель:" or [Сертификат.Column1] = "Дата отправки" or [Сертификат.Column1] = "ИНФОРМАЦИЯ О ПЕРЕВОЗКЕ:" or [Сертификат.Column1] = "Наименование груза:" or [Сертификат.Column1] = "Номера и даты #(lf)перевозочных документов:" or [Сертификат.Column1] = "Описание транспорта (№):" or [Сертификат.Column1] = "Пункт назначения:" or [Сертификат.Column1] = "Пункт отправления:" or [Сертификат.Column1] = "Пункты перегрузки/место промежуточного хранения:")),
#"Объединенные столбцы" = Table.CombineColumns(Table.TransformColumnTypes(#"Строки с примененным фильтром3", {{"Сертификат.Column9", type text}}, "ru-RU"),{"Сертификат.Column3", "Сертификат.Column9"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Сведено"),
#"Замененное значение" = Table.ReplaceValue(#"Объединенные столбцы","ИНФОРМАЦИЯ О ПЕРЕВОЗКЕ:","Страховая премия",Replacer.ReplaceText,{"Сертификат.Column1"}),
#"Сведенный столбец1" = Table.Pivot(#"Замененное значение", List.Distinct(#"Замененное значение"[Заявление.Column4]), "Заявление.Column4", "Заявление.Column8"),
#"Сведенный столбец2" = Table.Pivot(#"Сведенный столбец1", List.Distinct(#"Сведенный столбец1"[Сертификат.Column1]), "Сертификат.Column1", "Сведено"),
#"Извлеченные первые символы" = Table.TransformColumns(#"Сведенный столбец2", {{"Дата отправки", each Text.Start(_, 10), type text}}),
#"Измененный тип" = Table.TransformColumnTypes(#"Извлеченные первые символы",{{"Страховая премия", type number}, {"Дата отправки", type date}})
in
#"Измененный тип"