Я подключил свой Excel к базе данных ODBC SQL (SQL Server), и теперь моя сводная таблица Excel получает данные из VIEW сервера SQL. Всего около 1 миллиона строк из QUERY. Из данных я создал новые столбцы в Excel для выполнения вычислений. Каждый раз, когда я выполнял нарезку и деление из раскрывающегося списка в сводной таблице, формулы приходилось пересчитывать, и на выполнение вычислений уходило около 10 минут. Есть ли более эффективный способ сделать это, потому что я не могу заставить пользователя сидеть и ждать 10 минут, чтобы получить необходимые ему данные.
Советы приветствуются.
решение1
Я бы выполнил это требование с помощью надстройки Power Pivot. Она может объединять данные из разных SQL-запросов вместе с таблицами Excel и другими источниками.
Полученная модель сжимается и хранится в памяти для очень быстрых и масштабируемых сводных таблиц. Для любого процесса с 32-разрядным Office (который есть у большинства людей) существуют ограничения памяти, но 64-разрядный Office ограничен только доступным объемом оперативной памяти.
Вы можете добавлять вычисления в Power Pivot с помощью формул DAX — простые формулы похожи на стандартные формулы Excel, а при необходимости обладают гораздо большей вычислительной мощностью.
Для сложных задач по преобразованию данных я использую надстройку Power Query, которая может преобразовывать и передавать данные в модель Power Pivot.