Jet Reports traag of loopt Excel vast? Dit is waarom cel-voor-cel rapportages duizenden verzoeken worden, drie oplossingen om te proberen in Jet, en een snellere aanpak.
Het draaien van uw maandrapportagepakket in Jet Reports duurt twintig minuten en terwijl dit gebeurt, is Excel onbruikbaar. Als dat uw dinsdag omschrijft, dan is dit artikel voor u.
Het korte antwoord
Jet Reports is traag bij grote financiële rapportages omdat elke Jet-functie in het werkblad een afzonderlijk verzoek is aan Business Central. Een kolommenbalans met 360 rekeningen verdeeld over 12 perioden betekent 4.320 verzoeken voordat u een tweede bedrijf toevoegt. Vermenigvuldig dat met een handvol entiteiten en één werkblad stelt Business Central tienduizenden vragen, één voor één, terwijl Excel wacht.
U kunt dat aantal verminderen met de eigen optimalisatieadviezen van Jet (hieronder behandeld), maar u kunt het model niet veranderen. De oplossing die de ervaring echt verandert, is het ophalen van datasets in plaats van cellen: één verzoek retourneert alle relevante grootboekposten, en Excel voert de berekening lokaal uit. In een recente demo liep een rapport dat in Jet ongeveer 20 minuten duurde, op die manier in ongeveer 20 seconden.
Het ligt niet aan uw laptop
Eerder deze maand zat ik in een demo met een Amerikaanse Business Central-partner en twee controllers van hun klant. Zelfde bedrijf, dezelfde laptops, dezelfde Business Central-omgeving. Beiden omschreven dezelfde afgelopen zes maanden: Excel die vastliep, niet crashte, maar gewoon niet reageerde, terwijl er op de achtergrond een Jet-rapport draaide. Ze dachten dat het een hardwareprobleem was en stonden op het punt om IT om nieuwe machines te vragen.
Het lag niet aan de machines. Een snellere processor zorgt ervoor dat elk verzoek iets sneller terugkomt, maar doet niets aan het aantal verzoeken. Als uw rapport 30.000 round-trips naar Business Central nodig heeft, heeft een nieuwe laptop nog steeds 30.000 round-trips nodig. De wachttijd verschuift van twintig minuten naar achttien, maar het vastlopen blijft.
De meeste online adviezen behandelen de traagheid van Jet als een configuratieprobleem, en soms is dat ook zo; maar wanneer het rapport een echt maandrapportagepakket is voor een echte groep, is de traagheid structureel.
Waarom een financieel rapport in Jet duizenden verzoeken wordt
Financiële rapporten in Jet zijn opgebouwd uit functies. NL retourneert een lijst of tabel met records, NF retourneert een veldwaarde van een record, en GL retourneert een grootboeksaldo voor een rekening, periode en set filters. Table Builder, de manier waarop de meeste mensen beginnen, voegt een NL("Table")-functie toe. Elk van die functies resulteert, wanneer het rapport wordt uitgevoerd, over het algemeen in een eigen verzoek aan Business Central. Dat is de reden waarom de eigen prestatierichtlijnen van Jet zich richten op het verminderen van het aantal functie-aanroepen.
Een winst-en-verliesrekening of kolommenbalans wordt vrijwel altijd cel voor cel opgebouwd. Elk kruispunt van een rekening en een periode is een GL-functie met een eigen rekeningfilter en datumfilter. Het werkblad ziet eruit als een normaal financieel overzicht, en het gedraagt zich als een spreadsheet vol met kleine database-aanroepen.
De eigen documentatie van Jet, "Improve Report Performance", is hier eerlijk over. Er staat in dat NL(First)-verzoeken een afzonderlijk databaseverzoek per aanroep vereisen, dat NL gebruikt voor rijen of kolommen de hele tabel moet scannen om unieke waarden te vinden, en er wordt aangeraden om NF te gebruiken op gecachte recordsleutels, filters zo te sorteren dat de meest beperkende als eerste komt, en te verwijzen naar andere tabbladen of vluchtige Excel-functies te vermijden. Dat advies is logisch. Het bevestigt ook het model: de belasting van een Jet-rapport schaalt met het aantal functies dat erin staat.
De berekening, uitgewerkt
Neem een middelgrote groep en tel mee. De onderstaande tabel is ter illustratie. De verzoekaantallen gaan uit van één Jet-functie per cel (rekening-en-periode) en één tabblad per bedrijf; echte werkbladen variëren afhankelijk van de lay-out, filters en hoeveel cellen NF versus GL gebruiken.
[[TABLE_START]]
Grootte rapport (rekeningen x perioden x bedrijven) | Geschat aantal Jet-verzoeken (één functie per cel) | Exsion-aanpak (één query per blok) | Verwachte ervaring (illustratief)
120 rekeningen x 12 perioden x 1 bedrijf | Ongeveer 1.440 verzoeken | 1 query op Grootboekposten, gefilterd op het boekjaar | Jet: koffie halen. Exsion: secondenwerk.
360 rekeningen x 12 perioden x 1 bedrijf | Ongeveer 4.320 verzoeken | 1 query | Jet: enkele minuten, Excel bezet. Exsion: secondenwerk, Excel blijft reageren.
360 rekeningen x 12 perioden x 5 bedrijven | Ongeveer 21.600 verzoeken | 1 query over meerdere bedrijven (bedrijfskolom in het resultaat) | Jet: het rapport van twintig minuten. Exsion: tientallen seconden.
360 rekeningen x 12 perioden x 10 bedrijven | Ongeveer 43.200 verzoeken | 1 query over meerdere bedrijven, of 1 per blok als u de voorkeur geeft aan aparte tabbladen | Jet: inplannen en weglopen. Exsion: minder dan een minuut.
Voeg budget- en vorig jaarkolommen toe aan de versie met 5 bedrijven | Ongeveer 64.800 verzoeken | 2 tot 3 queries (realisatie, budget uit Grootboekbudgetposten, vorig jaar) | Jet: draait vaak 's nachts. Exsion: ongeveer een minuut.
[[TABLE_END]]
Het gaat niet om de exacte cijfers. Het punt is dat de Jet-kolom groeit met elke rekening, elke periode, elk bedrijf en elke vergelijkingskolom die u toevoegt, terwijl de Exsion-kolom alleen groeit met het aantal logische blokken in het rapport. Het toevoegen van een zesde bedrijf aan een op datasets gebaseerde query voegt rijen toe aan het resultaat, geen verzoeken.
Waarom Excel vastloopt in plaats van crasht
Het vastlopen dat de twee controllers beschreven, is het natuurlijke gevolg van het model, geen bug. Terwijl een add-in zijn werk doet in het werkboek, is Excel bezig. Een bezette Excel ververst het scherm niet, accepteert geen klikken en laat u geen ander bestand openen. Er is niets kapot. Het doet wat er is gevraagd, het ene verzoek na het andere, en wordt weer actief als het klaar is. Daarom is het symptoom zo consistent op verschillende machines.
Voordat u overstapt: drie dingen om te proberen in Jet
Als u Jet gebruikt en het rapport is traag, probeer dan eerst dit. Deze tips komen uit InsightSoftware's eigen prestatierichtlijnen voor Jet Reports en ze helpen echt.
Gebruik NF op gecachte recordsleutels in plaats van herhaalde zoekopdrachten. Waar u al een recordsleutel heeft uit een NL-functie, adviseert de documentatie van Jet om NF te gebruiken tegen die sleutel in plaats van een nieuwe zoekopdracht uit te voeren. NL(First)-aanroepen worden expliciet genoemd als aanroepen die een databaseverzoek per aanroep vereisen. Door een kolom hiervan te vervangen door NF op een sleutel die u al heeft, vermindert u het aantal round-trips aanzienlijk.
Zet het meest beperkende filter bovenaan. Het advies van Jet is om filters zo te ordenen dat het filter dat de meeste records uitsluit, als eerste wordt geëvalueerd. Op Grootboekposten (tabel 17) betekent dit meestal het boekingsdatumbereik vóór het rekeningbereik, omdat één boekjaar een veel kleiner deel is van een tien jaar oud grootboek dan één rekening over alle jaren heen. Het herordenen van filters kost niets.
Vermijd vluchtige functies en verwijzingen naar andere tabbladen. Vluchtige Excel-functies zoals NU, VANDAAG, VERSCHUIVING en INDIRECT herberekenen bij elke wijziging, en de documentatie van Jet waarschuwt hiertegen, evenals tegen verwijzingen naar cellen op andere tabbladen binnen de argumenten van Jet-functies. Vervang een vluchtige datum door een parametercel en houd de argumenten die een Jet-functie leest op hetzelfde tabblad. De documentatie van Jet merkt ook op dat NL gebruikt voor rijen of kolommen de hele tabel moet scannen op unieke waarden. Dus als u dit gebruikt om alle grootboekrekeningen op te sommen, overweeg dan een gefilterde NL(Table) of een statische rekeningenlijst.
Samen toegepast kunnen deze maatregelen de doorlooptijd merkbaar verkorten. Wat ze echter niet veranderen, is het feit dat een pakket met 360 rekeningen, 12 perioden en 5 bedrijven nog steeds tienduizenden verzoeken vereist. Als dat de vorm van uw rapport is, lees dan verder.
Een andere manier om hetzelfde rapport te draaien: haal datasets op, geen cellen
Exsion Reporting kiest voor de tegenovergestelde aanpak. In plaats van Business Central te vragen om één saldo per cel, retourneert een enkele query alle relevante grootboekposten, bijvoorbeeld de volledige tabel 17 (Grootboekposten) gefilterd op het boekjaar en de bedrijven die u belangrijk vindt. Excel doet vanaf daar de berekeningen. Een kolommenbalans wordt een draaitabel of een SOMMEN.ALS over een resultaatset die al op uw machine staat.
Het aantal verzoeken stort in. Een kolommenbalans voor 5 bedrijven is één verzoek, geen 21.600. Het toevoegen van een budget is een tweede verzoek op de Grootboekbudgetposten. Het toevoegen van het vorige jaar is een breder datumfilter op het eerste verzoek, of een derde verzoek als u dit apart wilt houden. Het werkboek groeit in rijen, niet in round-trips.
Twee cijfers uit recente demo's geven een idee van het verschil. Een rapport dat in Jet Reports ongeveer 20 minuten duurde, draaide in Exsion in ongeveer 20 seconden (dit is een specifiek geval; de verbetering hangt af van het rapport, dus lees dit als "tot" in plaats van "altijd"). En het ophalen van 700.000 rijen uit de tabel Grootboekposten was in minder dan vijf seconden voltooid.
Tijdens beide processen bleef Excel gewoon reageren. U kunt doorgaan met typen in een ander tabblad terwijl de vernieuwing wordt uitgevoerd. De koffiepauze is verleden tijd.
Als de resultaatset groot is, kan de query rechtstreeks naar een Power Pivot-datamodel worden gestuurd in plaats van naar een werkblad. Dit omzeilt de limiet van 1.048.576 rijen per Excel-werkblad volledig en houdt het bestand klein. Dat is een apart onderwerp dat we in detail hebben behandeld in Business Central-rapportage voorbij de Excel-rijlimiet.
Hoe dezelfde rapporten eruitzien in Exsion
Lees de derde kolom van de bovenstaande tabel nog eens. De Jet-kolom telt cellen; de Exsion-kolom telt blokken. Een maandrapportagepakket voor een groep heeft doorgaans drie tot zes logische blokken (realisatie, budget, vorig jaar, wellicht een kasstroomopstelling en een dimensie-analyse), dus het hele pakket is drie tot zes verzoeken, ongeacht hoeveel rekeningen of bedrijven het omvat.
Omdat de querydefinitie in het werkboek is geschreven als een leesbaar raster (tabel, bedrijven, velden, filters, koppelingen en flowfield-berekeningen), kan de ontvanger van het pakket precies zien wat er is opgehaald en dit, met een licentie, aanpassen. We schreven over waarom dat belangrijk is in een Business Central Excel-rapport moet zichzelf uitleggen.
Als u toch een formule in een cel wilt
Op datasets gebaseerde queries zijn het juiste hulpmiddel voor volume. Ze zijn niet altijd het juiste hulpmiddel voor presentatie. Soms wilt u een enkel rekeningsaldo in een specifieke cel op een presentatiewaardige pagina, en u wilt dat dit live is.
Exsion heeft hiervoor 16 ingebouwde financiële functies: rekeningsaldo, rekeningnaam, klantsaldo, dimensienaam enzovoort, die elk live een enkele waarde uit Business Central ophalen. Ze gebruiken de eigen filtersyntaxis van Business Central, dus een datumbereik wordt geschreven met twee punten (01-01-26..31-03-26), jokertekens gebruiken een asterisk (*), en een sluisteken (|) betekent OF, precies zoals u dat zou typen in een filterveld in Business Central. De documentatie van Microsoft voor die syntaxis vindt u hier. Met de optie 'Details weergeven' op een van die cellen wordt Business Central geopend, gefilterd op exact de rekening en het boekingsdatumbereik dat de cel gebruikte.
Nu de eerlijke grens. Live celformules hebben ook een prijs, en de prestaties beginnen af te nemen bij ongeveer 40.000 tot 50.000 formuleberekeningen in één werkmap. Een kolommenbalans van 360 rekeningen bij 12 perioden is ongeveer 4.320 formules, dus een rapport voor één bedrijf valt daar ruim binnen. Tien bedrijven op aparte tabbladen, elk cel voor cel opgebouwd, niet.
Wanneer een blok de limiet nadert, schakelt u dat blok over naar een query en laat u een draaitabel of SOMMEN.ALS de presentatie doen. De vuistregel die we klanten geven is eenvoudig: datasets voor volume, formules voor presentatie.
Wat er verandert in een normale maand
Het praktische verschil is niet het spectaculaire getal, het is wat mensen doen wanneer het vernieuwen seconden in plaats van minuten duurt.
Excel loopt niet meer vast, dus de controller die voorheen het rapportagepakket opstartte en naar een vergadering ging, vernieuwt het nu vlak voor de vergadering. Rapporten worden voor elke bespreking vernieuwd in plaats van eenmalig bij de afsluiting, omdat de drempel om te vernieuwen nihil is. Wanneer een financieel directeur in de vergadering vraagt waarom marketing in bedrijf drie 8 procent over budget is, past iemand een dimensiefilter aan in het raster, vernieuwt de data en geeft antwoord terwijl de vraag nog op tafel ligt. Niemand zegt meer: "Ik kom er later op terug."
Een van de klanten bij de demo in september, een consultancybureau dat wekelijks zo'n 1.500 urenboekingen registreert, gaf aan dat hun resource-, klant-, project- en ticketrapportage tot de langzaamste behoorde in Jet. Dat rapport is een koppeling (join) over vier tabellen. In een op datasets gebaseerde query is dit één verzoek met drie joins, en de berekening (uren per resource per klant per week) vindt plaats in een draaitabel. We behandelen joins uitgebreid in de volgende post in deze serie, Business Central-tabellen koppelen in Excel.
Niets te installeren op een server
Het is de moeite waard om te vermelden waar deze snelheid niet van afhankelijk is. Exsion maakt rechtstreeks verbinding met Business Central via de API. Er is geen datawarehouse, geen Azure SQL-replica, geen virtuele machine, geen gateway en geen geplande gegevensopdracht die in de lucht gehouden moet worden. De gegevens die u ziet, zijn de gegevens in Business Central op het moment dat u op vernieuwen drukte.
Machtigingen worden automatisch overgenomen. Exsion respecteert de rechten van de Business Central-gebruiker, dus een controller die bedrijf vijf niet mag zien in Business Central, kan dit ook niet zien in Excel, zonder dat er extra gebruikersinrichting aan de Business Central-kant nodig is. Installatie gebeurt vanuit AppSource via Extensiebeheer, vervolgens de Excel-add-in, een verbindings-URL en inloggen; ongeveer vijf minuten in getimede demo's.
Twee stappen vereisen mogelijk een beheerder: het installeren van de add-in op een beveiligde laptop, en de eenmalige toestemming voor de verbinding met Business Central. Hoe de directe verbinding zich verhoudt tot op kopieën gebaseerde architecturen is het onderwerp van het hoofdartikel in deze serie, Alternatieven voor Jet Reports voor Business Central in 2026.
Zie uw langzaamste rapport live draaien
Neem uw allertraagste Jet-rapport en bouw het opnieuw op. Installeer Exsion Reporting vanuit AppSource, start de proefperiode van 30 dagen (de licentie ontvangt u binnen ongeveer een minuut per e-mail) en neem de tijd op.
Voor teams die overstappen van Jet Reports bouwen we het eerste rapport kosteloos samen op. Exsion gebruikt AI om de lijst met tabellen en velden die het Jet-werkboek gebruikt te extraheren en bouwt dit opnieuw op als een Exsion-raster, zodat u appels met appels vergelijkt in plaats van met een leeg blad te beginnen. Prijzen vindt u op de prijzenpagina, zonder een complex zakelijk verkooptraject vooraf.
Als het rapport van twintig minuten een rapport van twintig seconden wordt, weet u dat binnen een uur. Als dat niet zo is, heeft u een middag verloren maar wel een benchmark gewonnen.
Veelgestelde vragen
[[FAQ_START]]
Waarom is Jet Reports zo traag bij mijn financiële rapporten? | Elke Jet-functie in een werkboek (GL, NL, NF) is een eigen verzoek aan Business Central, waardoor een cel-voor-cel opgebouwd rapport schaalt met het aantal cellen. Een kolommenbalans met 360 rekeningen en 12 perioden betekent ongeveer 4.320 verzoeken voor één bedrijf, en een pakket voor vijf bedrijven ruim 20.000. De wachttijd is een gevolg van het rapportontwerp, niet van de laptop.
Waarom loopt Excel vast tijdens het uitvoeren van een Jet-rapport? | Excel is bezet wanneer een add-in in het werkboek aan het werk is, en een bezette Excel ververst het scherm niet en accepteert geen invoer. Het rapport crasht niet; het verwerkt verzoeken achter elkaar en wordt weer actief zodra dit klaar is. Een snellere machine verkort elk verzoek iets, maar vermindert het aantal verzoeken niet.
Hoe kan ik Jet Reports sneller maken zonder van tool te veranderen? | De eigen prestatierichtlijnen van InsightSoftware adviseren om NF te gebruiken op gecachte recordsleutels in plaats van herhaalde NL(First)-zoekopdrachten, filters zo te sorteren dat de meest beperkende bovenaan staat, en vluchtige Excel-functies en verwijzingen naar andere tabbladen binnen Jet-argumenten te vermijden. Deze wijzigingen kunnen de doorlooptijd aanzienlijk verkorten. Ze veranderen echter niets aan het feit dat een groot pakket voor meerdere bedrijven nog steeds tienduizenden verzoeken vereist.
Hoe voorkomt Exsion deze traagheid? | Exsion haalt datasets op in plaats van cellen. Eén query retourneert alle relevante grootboekposten, bijvoorbeeld het volledige boekjaar van tabel 17 voor vijf bedrijven, en Excel voert de berekening lokaal uit in een draaitabel of met SOMMEN.ALS. In een recente demo liep een rapport dat in Jet ongeveer 20 minuten duurde, in Exsion in circa 20 seconden, en een extractie van 700.000 rijen uit Grootboekposten was binnen vijf seconden klaar.
Heeft Exsion zelf ook een prestatielimiet? | Ja. Live celformules (de 16 financiële functies van Exsion) beginnen te vertragen bij ongeveer 40.000 tot 50.000 formuleberekeningen in één werkboek. Wanneer een blok dat aantal naders, schakelt u dat blok over naar een query en gebruikt u formules alleen voor de presentatiecellen.
Kan ik een Business Central-kolommenbalans maken in Excel zonder datawarehouse? | Ja. Exsion maakt rechtstreeks verbinding met Business Central via de API zonder datawarehouse, Azure SQL-replica, VM of gateway, en neemt de gebruikersrechten van Business Central over. De kolommenbalans is een query op Grootboekposten gefilterd op de gewenste periode en bedrijven, gepresenteerd in een draaitabel of met SOMMEN.ALS.
[[FAQ_END]]
Aanbevolen lectuur

Excel-native rapporten bouwen voor Microsoft Dynamics 365 Business Central: Een gids voor CFO's en controllers

Grootboekcontroles in Excel zonder het gedoe

Voorkom datafouten bij de bron in Business Central

In 6 stappen inzoomen op transacties in Excel voor BC (2026)

Hoe BC-managementrapportages te bouwen in Excel in 7 stappen (2026)