Чтобы решить проблемы консолидации с другим пакетом, мы загружаем все строки транзакции из Главной книги в лист Excel с помощью Invantive Control. В Exact Online у каждой компании есть классификация 2, которая содержит код клиента, например, «123400». На одного клиента приходится несколько компаний.
Из другой таблицы мы ссылаемся на эти строки транзакции GL с помощью запроса, такого как:
SELECT `'Exact transacties$'`.Administratie, `'Exact transacties$'`.Jaar2, `'Exact transacties$'`.Periode, `'Exact transacties$'`.Grootboeknr, `'Exact transacties$'`.Grootboekomschr, `'Exact transacties$'`.Classificatie_code, `'Exact transacties$'`.Zoek_code, `'Exact transacties$'`.Dagboek, `'Exact transacties$'`.Valuta, `'Exact transacties$'`.Bedrag
FROM `'Exact transacties$'` `'Exact transacties$'`
ORDER BY `'Exact transacties$'`.Administratie, `'Exact transacties$'`.Jaar2, `'Exact transacties$'`.Grootboeknr
Источник данных:
DSN=Excel Files;DBQ=PATH\Databestand EOL (bestandsnaam niet wijzigen).xlsm;DefaultDir=PATH;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
Однако консолидация за период во всех компаниях клиента занимает 30 минут на клиента. Большая часть времени тратится тысячи раз на выполнение запроса в электронной таблице Exact Online с помощью этой формулы, представленной примерно в 10 компаниях x 14 периодов x 600 категорий = 84 000 ячеек:
=ALS(W$511<=Huidige_periode;V595+(-SOMMEN.ALS(Tabel_Query_van_Excel_Files_1[Bedrag];Tabel_Query_van_Excel_Files_1[Administratie];Cliëntnr_EOL1;Tabel_Query_van_Excel_Files_1[Jaar2];HuidigBoekjaar;Tabel_Query_van_Excel_Files_1[Periode];W$511;Tabel_Query_van_Excel_Files_1[Classificatie_code];$B595&"*";Tabel_Query_van_Excel_Files_1[Dagboek];"<900"));0)
Как я могу улучшить производительность менее чем за одну минуту?