Страницы: 1
RSS
Долгое обновление данных PQ
 
Добрый день! Я совсем прям новичок во всем этом деле, но поскольку я единственный человек во всем офисе, которые более-менее что-то шарит в компьютерах, мне была поставлена задача разобраться в следующей проблеме.

Есть основной файл, где собирается вся информация. Он весит примерно 30 мб. Открывается довольно быстро, но обновление всего файла может занимать до 15 минут, что кажется очень долгим.

В этот файл собирается вся информация с других маленьких файлов, которые весят от 0,5 до 3мб. В них примерно по 100-150 строк. Всего таких файлов около 40 штук.

Все операции происходят на компе, из интернета ничего не подтягивается. Я переносил все эти файлы на другой пк, чтобы исключить техническую неспособность пк обрабатывать информацию, но на других пк все работает так же медленно. Есть ли какие-то операции, которые можно было бы сделать, чтобы ускорить процесс?
 
Добрый день

Добавьте хотя бы код запроса из основного файла
 
Dark1589, простите за глупый вопрос, но где его посмотреть?

подозреваю, что это оно:
Код
let
    Источник = Folder.Files("C:\Users\Елена\Downloads\Запросы"),
    #"Отфильтрованные скрытые файлы1" = Table.SelectRows(Источник, each [Attributes]?[Hidden]? <> true),
    #"Вызвать настраиваемую функцию1" = Table.AddColumn(#"Отфильтрованные скрытые файлы1", "Преобразовать файл из Большой запрос", each #"Преобразовать файл из Большой запрос"([Content])),
    #"Переименованные столбцы1" = Table.RenameColumns(#"Вызвать настраиваемую функцию1", {"Name", "Source.Name"}),
    #"Другие удаленные столбцы1" = Table.SelectColumns(#"Переименованные столбцы1", {"Source.Name", "Преобразовать файл из Большой запрос"}),
    #"Столбец расширенной таблицы1" = Table.ExpandTableColumn(#"Другие удаленные столбцы1", "Преобразовать файл из Большой запрос", Table.ColumnNames(#"Преобразовать файл из Большой запрос"(#"Пример файла (2)"))),
    #"Измененный тип" = Table.TransformColumnTypes(#"Столбец расширенной таблицы1",{{"Source.Name", type text}, {"№", Int64.Type}, {"Дата", type date}, {"Товар", type text}, {"Количество", Int64.Type}, {"Цена", Int64.Type}, {"Сумма#(lf)без скидки", Int64.Type}, {"Скидка", type number}, {"Сумма", type number}, {"Проверка скидки", type number}, {"Без скидки колличество", Int64.Type}, {"Итого если без скидки", Int64.Type}, {"Итого со скидкой", type number}, {"Цена покупки у Мегаполиса с НДС", type number}, {"За сколько купили все", type number}, {"Выручка ", type number}, {"после скидки все", type number}, {"Категория", type text}, {"Точка продаж", type text}, {"Канал продажи", type text}, {"Должен ФМ", type number}, {"Column21", type text}, {"Column22", type text}}),
    #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Измененный тип",{"№", "Дата", "Товар", "Количество", "Цена", "Сумма#(lf)без скидки", "Скидка", "Сумма", "Проверка скидки", "Без скидки колличество", "Итого если без скидки", "Итого со скидкой", "Цена покупки у Мегаполиса с НДС", "За сколько купили все", "Выручка ", "после скидки все", "Категория", "Source.Name", "Точка продаж", "Канал продажи", "Должен ФМ", "Column21", "Column22"}),
    #"Замененное значение" = Table.ReplaceValue(#"Переупорядоченные столбцы",".xlsx","",Replacer.ReplaceText,{"Source.Name"}),
    #"Переименованные столбцы" = Table.RenameColumns(#"Замененное значение",{{"Точка продаж", "Точка продаж 1"}, {"Source.Name", "Точка продаж"}}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Переименованные столбцы",{"Точка продаж 1"}),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Удаленные столбцы",{{"Дата", type date}}),
    #"Переупорядоченные столбцы1" = Table.ReorderColumns(#"Измененный тип1",{"№", "Дата", "Товар", "Количество", "Цена", "Сумма#(lf)без скидки", "Скидка", "Проверка скидки", "Сумма", "Без скидки колличество", "Итого если без скидки", "Итого со скидкой", "Цена покупки у Мегаполиса с НДС", "За сколько купили все", "Выручка ", "после скидки все", "Категория", "Точка продаж", "Канал продажи", "Должен ФМ", "Column21", "Column22"}),
    #"Переименованные столбцы2" = Table.RenameColumns(#"Переупорядоченные столбцы1",{{"Скидка", "Скидка1"}, {"Проверка скидки", "Скидка"}}),
    #"Удаленные столбцы1" = Table.RemoveColumns(#"Переименованные столбцы2",{"Скидка1", "Цена покупки у Мегаполиса с НДС", "За сколько купили все", "Выручка ", "после скидки все", "Должен ФМ", "Column21", "Column22"}),
    #"Строки с примененным фильтром" = Table.SelectRows(#"Удаленные столбцы1", each [#"№"] <> null)
in
    #"Строки с примененным фильтром"
Изменено: magrega - 19.04.2019 13:22:58
 
magrega, откройте запрос который собирает данные, на вкладке "Главная" кнопка "Расширенный редактор"
 
Dark1589, да, указал выше.
 
magrega, отредактируйте сообщение с кодом. Выделите код и нажмите
 
Dark1589, готово.
 
magrega, все файлы в папке "Запросы" одинаковые? Для начала можете попробовать поставить быструю загрузку данных

По коду я не вижу каких-то затыков, которые могли бы сильно влиять на время обработки (хотя количество шагов можно сократить).
 
Dark1589, да быструю загрузку данных включал, и отключал фоновую загрузку так же. Что вы имеете в виду под "одинаковыми"? У них разные имена, но структура одинаковая. Тот же формат таблицы в одном файле.

Вы говорите, можно уменьшить количество шагов. Как это осуществить? Не могли бы хотя бы направить в нужном направлении?
 
magrega, ну у вас несколько раз идёт Переупорядоченные столбцы + Переимен.
Вообще попробуйте сделать новый запрос и просто развернуть результат (без других шагов). Посмотрите сколько он будет выполняться.
 
Dark1589, хорошо, я попробую.
 
Dark1589,, да, развернули голую информацию и всё произошло значительно быстрее. Буду копать в примененных шагах и в функциях внутри файла, полагаю. Спасибо.
Изменено: magrega - 19.04.2019 13:56:09
 
Цитата
magrega написал:
"Преобразовать файл из Большой запрос"
вот в этой функции копаться надо, да. Там, скорее всего, вся проблема
F1 творит чудеса
Страницы: 1
Наверх