Relatório de desempenho entre empresas sobre saldos Exact Online

3

Para resolver problemas de consolidação com outro pacote, baixamos todas as linhas de transação do Razão em uma planilha do Excel usando o Controle Inventivo. Em Exact Online, temos em cada empresa uma classificação 2 que contém o código do cliente, como '123400'. Existem várias empresas por cliente.

De outra planilha, referenciamos essas linhas de transação GL usando uma consulta como:

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

A fonte de dados é:

DSN=Excel Files;DBQ=PATH\Databestand EOL (bestandsnaam niet wijzigen).xlsm;DefaultDir=PATH;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;

No entanto, a consolidação por período em todas as empresas de um cliente leva 30 minutos por cliente. A maior parte do tempo é gasto milhares de vezes executando a consulta na planilha Exact Online por meio desta fórmula presente em aproximadamente 10 empresas x 14 períodos x 600 categorias = 84.000 células:

=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)

Como posso melhorar o desempenho para algo menor que um minuto?

    
por R. van Deursen 06.04.2017 / 10:50

1 resposta

1

Embora técnica e funcionalmente correta, a abordagem que você esboça é um pouco lenta e pesada nas APIs e no seu CPU. É melhor recuperar apenas os saldos somados do Exact Online e deixá-los fazer o trabalho pesado.

Exemplo:

Escolha as empresas certas para solicitar dados:

use
select DIVISIONCLASSES_DIVISIONCLASSNAME_DIVISIONCLASSNAMES_ADMINISTRATION_CODE_ATTR
from   AllAdministrationClassifications 
where  DIVISIONCLASSES_DIVISIONCLASSNAME_NUMBER_ATTR = 2 
and    CODE_ATTR = '123123' -- PUT HERE YOUR CLIENT CODE

A instrução use , diferente do SQL Server, permite que você especifique várias partições (que são empresas do Exact Online).

E, em seguida, buscar os resultados por conta contábil, período e divisão:

select BALANCE
,      PERIODS_YEAR_YEARS_BALANCE_CODE_ATTR
,      DIVISION_HID
,      PERIODS_YEAR_REPORTINGYEAR_ATTR
,      REPORTINGPERIOD_ATTR
from   BalanceLinesPerPeriod 

Na minha configuração, leva 10 segundos para recuperar os valores consolidados em 10 grandes empresas.

Existem algumas variantes de tabela disponíveis, como com unidade de custo / centro de custo e saldos de abertura / fechamento do ano.

    
por 06.04.2017 / 10:54