Alle kostenplaatsen van 1 bepaalde administratie via I_SQL_SELECT_TABLE ophalen

Is het mogelijk om alle kostenplaatsen van één bepaalde Exact Online administratie te downloaden. In eerste instantie is het de bedoeling om alle kosten te sommeren van de kostenplaats beginnend met bijvoorbeeld de eerste drie cijfers.

Dit zou niet mogelijk zijn dus zoek ik een workaround, zonder telkens te moeten exporteren en importeren.

Indien ik volgende instructie input, krijg ik op elke lijn enkel en alleen de allereerste kostenplaats:

{=I_SQL_SELECT_TABLE("select code_attr from exactonlinexml..Costcenters where division_code=xxxxx";;;0)}

(xxxxx is de administratiecode in cijfers)

Gaaf! Het is inderdaad mogelijk om met een Excel matrixformule (tegenwoordig ook in Nederland bekend als “array formule”) meerdere cellen tegelijk te vullen met de uitkomst van een Invantive SQL-query. Microsoft is langzaam Excel breder toepasbaar hiervoor aan het maken; vandaar ook vorig jaar het vaker tonen van “@” in Excel-formules.

De getoonde Excel-formule is ook correct.

Het invoeren van een matrixformule om meerdere cellen in 1x te vullen uit Exact Online vereist enige handigheid:

  • Gebruik de I_SQL_SELECT_TABLE formule.
  • Maar gebruik ctrlshiftenter om de formule in te voeren over de geselecteerde cellen.

Meer uitleg over het invoeren van Excel matrixformules is te vinden op Een matrixformule maken - Microsoft Ondersteuning.

Als in plaats van ctrlshiftenter alleen enter gebruikt wordt, zal alleen de eerste cel in het geselecteerde bereik gevuld worden.

Een video die het invoeren van matrixformules laat zien is:

Deze wijze van invoeren in Excel geldt ook voor alle queries op Exact Online via I_SQL_SELECT_TABLE.

Merk op dat er bewust gekozen is voor de overige Invantive-formules om alleen een enkele cel te vullen (“scalar”) om de drempel laag te houden. De adoptie van matrixformules is nog erg laag buiten actuarieel rekenwerk.

Deze vraag is automatisch gesloten na tenminste 2 weken inactiviteit nadat een mogelijk passend antwoord is gegeven. Het laatste gegeven antwoord is gemarkeerd als oplossing.

Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.