[Решено] LO Calc. Скорость работы фильтров

Автор ost, 30 июня 2022, 07:26

0 Пользователи и 1 гость просматривают эту тему.

ost

Доброго, есть ли возможность увеличить скорость работы с автофильтром LibreOffice Calс?
Использование автофильтра в нескольких колонках таблицы на 20 тыс. строк превращается в муку.

Version: 7.2.7.2 (x64) / LibreOffice Community
Build ID: 8d71d29d553c0f7dcbfa38fbfda25ee34cce99a2
CPU threads: 8; OS: Windows 6.1 Service Pack 1 Build 7601; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: CL

kompilainenn

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

ost

Большой он. Покажу, как только деперсонализирую =)

ost

Похоже, непосредственное применение автофильтра (и открытия выпадающего списка с опциями) автоматически вызывает перерасчет формул.
Можно ли отключить автоматическое вычисление формул в момент применения фильтра?
Сброс галки "Данные > Содержимое ячейки > Вычислять автоматически" на скорость работы фильтра не влияет.

kompilainenn

Да не надо гадать, надо файл показать просто. НУ и еще, попробуйте в распоследней разрабатываемой версии
https://dev-builds.libreoffice.org/daily/master/Win-x86_64@tb77-TDF/2022-06-29_05.53.24/LibreOfficeDev_7.5.0.0.alpha0_Win_x86-64.msi
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

eeigor

#5
Рекомендация:
прекратить использование Автофильтра (зачем заполнять список автовыбора, когда элементов >1000) и перейти к использованию расширенного фильтра с минимумом автоматизации оного.
Быстро, наглядно + regexes
Диапазон условий расположите над данными, первую строку данных закрепите. Фильтровать на месте.
Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

economist

Если не требуется переформатирования отфильтрованных строк, то самая быстрая замена Автофильтра - метод doImport c подменой SQL-запроса.

Если данные не из БД, а хранятся в том же файле Calc - придется изменить логику: данные храним и дополняем на одном листе, а автофильтруем/сортируем с doImport - на другом, где "выпадающие списки" с опциями реализованы контролами ComboBox или "трехпозиционными" кнопками, что очень удобно в ряде случаев. Сам стиль работы "автофильтра" неудобен - много кликов, сложно найти элемент в большом списке, они м.б. не все видны.  Автофильтр MS Excel 2007, кстати, отображает только первых 10к уников, поэтому многие в нем не найдут то что ищут.

20k строк - это уже объемы для БД.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

sokol92

Цитата: ost от 30 июня 2022, 09:25Похоже, непосредственное применение автофильтра (и открытия выпадающего списка с опциями) автоматически вызывает перерасчет формул.
Кстати, этот эффект наблюдается в Excel и крайне затрудняет использование автофильтров для диапазонов, содержащих формулы.
Владимир.

kompilainenn

В отличие от Эксель, Кальк не пересчитывает формулы, когда дергаешь Автофильтр
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

sokol92

Посмотрел скорость работы автофильтра Calc на достаточно большом листе - не вижу существенного замедления скорости по сравнению с Excel. Ждем пример для исследования.
Владимир.

ost

#10
Цитата: kompilainenn от 30 июня 2022, 10:20надо файл

Файлик в районе 4 мб https://yadi.sk/d/psv4zzvPNUKnHA

От клика, например, по кнопке автофильтра в Столец011 до появления списка опций у меня проходит около 20 сек. Очистка этогофильтра - еще 20 сек.



ost

Цитата: economist от 30 июня 2022, 11:2920k строк - это уже объемы для БД
Согласен. 20000 строк - это кусок выгрузки из БД, на котором хотелось "вручную", с помощью формул, проверить результаты работы "автоматического" алгоритма. В ту же сторону и автофильтр хотел использовать.

ost

Цитата: eeigor от 30 июня 2022, 10:40Рекомендация:

Похоже, мне привычки нужно менять. =)

mikekaganski

При проверке на версии 7.2.0 (файл сохранён в 7.2.7) я вижу приблизительно то же время (чуть больше 20 с). При работе в 7.3.4 на той же системе - около 3 с.
С уважением,
Михаил Каганский

ost

Действительно, LO 7.3.4.2 заметно быстрее.