Direct naar de tool
ViewCSV
Niets wordt geüpload

CSV-gegevens analyseren met een draaitabel

region-orders.csv· VOORBEELDGEGEVENS48 rijen · 7 kolommen
Rijen
  1. region
Kolommen
  1. month
Waarden
  1. Som van amount
  2. Aantal rijen
Totalen en volgorde
Getallen
Eerst rijen filteren
Opgeslagen indelingen
Nog geen opgeslagen indelingen.
Indelingen worden alleen in deze browser bewaard. Exporteer een indeling als JSON om die ergens anders te gebruiken.

Berekend uit alle 48 rijen van region-orders.csv.

1 waarde is geen getal en telt niet mee voor ‘Som van amount’.
Draaitabel met 40 waardecellen. Kies een waarde om de rijen erachter te zien.
region2026-012026-022026-032026-04Totaal
Som van amountAantal rijenSom van amountAantal rijenSom van amountAantal rijenSom van amountAantal rijenSom van amountAantal rijen
Amsterdam
Den Haag
Rotterdam
Eindtotaal

Sommen, minima, maxima en medianen zijn exact. Gemiddelden en percentages zijn exacte quotiënten, afgerond op 15 significante cijfers. Elk subtotaal en totaal wordt uit de rijen zelf berekend, niet uit andere cellen. Downloads bevatten alle cijfers.

Zo maak je een draaitabel van een CSV: open het bestand, zet velden bij Rijen en Kolommen en kies bij Waarden wat er berekend wordt: som, aantal, verschillende waarden, gemiddelde, mediaan, minimum of maximum. Subtotalen en het eindtotaal worden berekend uit de rijen van het bestand, niet uit de cellen erboven. Daardoor kloppen gemiddelden en aantallen verschillende waarden in elk totaal. Kies een waarde om de rijen erachter te zien, en download de tabel daarna als CSV of XLSX of maak er een grafiek van. Twee andere tabbladen beantwoorden andere vragen over hetzelfde bestand: Kolomprofiel toont per kolom het type, de lege cellen, dubbele rijen en statistieken, en SQL voert query’s uit over een of meer bestanden. Het bestand wordt niet geüpload.

Zo maak je een draaitabel van een CSV

  1. Open een bestand, plak tekst of probeer het voorbeeld. Het tabblad Draaitabel opent met een eerste indeling die al uit de kolomnamen is afgeleid.
  2. Voeg bij Rijen met Veld toevoegen maximaal vier velden toe; het eerste veld is de buitenste groep. Met de pijltjes verander je de volgorde, met × haal je een veld weg.
  3. Voeg bij Kolommen maximaal drie velden toe om hun waarden bovenaan naast elkaar te zetten. Laat dit leeg als je een gegroepeerde lijst wilt.
  4. Kies bij Waarden met Samenvatten op en Kolom wat er berekend wordt, en voeg met Waarde toevoegen maximaal acht waarden toe.
  5. Bij sommen en aantallen kun je met Weergeven als elke waarde tonen als percentage van het eindtotaal, van het rijtotaal of van het kolomtotaal.

Groepen worden gevormd uit de exacte tekst van de cel: North en North zijn verschillende groepen, een lege cel vormt een eigen groep die als (leeg) wordt getoond, en een code zoals 01067 houdt zijn voorloopnul. Wil je zulke groepen samenvoegen, haal dan eerst de spaties weg met CSV-gegevens opschonen.

Aantal rijenHet aantal rijen in de groep, ongeacht wat er in de kolom met waarden staat.
Aantal waardenHet aantal niet-lege cellen in de gekozen kolom.
Aantal verschillende waardenVerschillende waarden in de gekozen kolom, precies zoals ze er staan; voor elk totaal opnieuw geteld.
Som, minimum, maximumExact decimaal berekend over de getallen in de kolom.
GemiddeldeDe exacte som gedeeld door het aantal getallen, afgerond op 15 significante cijfers.
MediaanHet middelste getal, of het exacte gemiddelde van de twee middelste getallen.

Hoe subtotalen en totalen worden berekend

Met Subtotalen per rijgroep krijgt elke buitenste rijgroep een totaalrij onder de rijen die erbij horen. Rij en kolom met eindtotalen voegt de rij met het eindtotaal toe en, als er kolomvelden zijn, ook een totaalkolom. Elk van die totalen wordt berekend uit de bijbehorende rijen van het bestand, niet door de cellen erboven op te tellen. Daardoor klopt ook een gemiddelde, een mediaan of een aantal verschillende waarden in een totaal: het algemene gemiddelde is de som van alle bedragen gedeeld door het aantal bedragen, niet het gemiddelde van de groepsgemiddelden, en een klant die in twee regio’s kocht, telt in het eindtotaal maar één keer.

Cellen in een numerieke waarde die geen getal zijn, zoals n/a of 12 kg, worden weggelaten en geteld in een melding onder de tabel; lege cellen worden genegeerd. Zet je Decimaalteken in het bestand op komma, dan wordt 1,5 gelezen als anderhalf. Zo kun je ook bedragen uit een Nederlandse export optellen. Scheidingstekens voor duizendtallen en valutasymbolen worden nooit als getal gelezen.

Sorteer de rijen op hun labels of op een van de waarden, oplopend of aflopend; met subtotalen wordt elk niveau binnen zijn bovenliggende groep gesorteerd. Aantal decimalen en Duizendtallen groeperen veranderen alleen de weergave: downloads bevatten alle cijfers.

Details van een waarde bekijken, exporteren en de indeling hergebruiken

  • Kies een waarde in de tabel om de rijen erachter te zien, met hun aantal; de eerste 1.000 worden getoond. Download ze allemaal als CSV, of open ze in de editor als het er 1.000 of minder zijn. Met Terug naar de draaitabel ga je weer verder.
  • Eerst rijen filteren beperkt de draaitabel tot rijen die aan voorwaarden voldoen; de regel boven de tabel zegt hoeveel rijen er zijn gebruikt.
  • Download de uiteindelijke tabel als CSV of XLSX. Totalen zijn rijen en kolommen met een label, en getallen houden hun exacte cijfers; in de XLSX blijven getallen met meer dan 15 significante cijfers tekst, zodat Excel ze niet kan afronden. Het is een vaste tabel, geen Excel-draaitabel die je nog kunt omgooien.
  • Grafiek maken stuurt de detailrijen zonder subtotalen en totalen naar Grafiek maken van CSV, zodat niets dubbel wordt geteld.
  • Opgeslagen indelingen bewaart een indeling in deze browser; met Indeling exporteren en Indeling importeren neem je hem als klein JSON-bestand mee naar een ander apparaat. Gebruikt een indeling kolommen die in een ander bestand ontbreken, dan kies je een vervangende kolom of laat je dat veld weg.

SQL-query’s op een of meer bestanden

Het tabblad SQL laadt het geopende bestand in een SQLite-database binnen dit tabblad. De tabel krijgt de naam van het bestand zonder extensie, met spaties en leestekens vervangen door _: sales 2026.csv wordt sales_2026. Elke kolom wordt als tekst opgeslagen, zodat waarden precies blijven zoals ze zijn; gebruik CAST(amount AS REAL) als een query moet rekenen.

Met Nog een bestand toevoegen laad je meer bestanden als extra tabellen en koppel je ze in één query. Query uitvoeren toont het resultaat als tabel, die je als CSV downloadt of in de editor opent. Het SQL-tabblad werkt alleen met bestanden binnen de interactieve limiet (25 MB). Gebruik voor grotere bestanden de draaitabel: die kan het hele bestand in streamingmodus lezen.

Kolomprofiel: typen, lege cellen, dubbele rijen en statistieken

TypeGeheel getal, decimaal getal, booleaans, datum, datum en tijd, of tekst. Een kolom krijgt alleen een type als elke niet-lege waarde erbij past. Een mix van gehele en decimale getallen is decimaal, een mix van datums en datums met tijd is datum en tijd, al het andere is tekst. Ook het aandeel waarden dat past, wordt getoond.
Lege cellenCellen die leeg zijn of alleen spaties bevatten. Ze tellen bij geen enkele andere statistiek mee.
Verschillende en meest voorkomende waardenHoeveel verschillende waarden de kolom bevat en welke 10 het vaakst voorkomen, exact vergeleken zoals ze er staan: paid en paid zijn twee waarden.
LengteDe kortste en langste waarde in tekens, waarbij elke emoji of letter met accent als één teken telt.
VoorloopnullenHoeveel waarden beginnen met 0 gevolgd door een cijfer, zoals 00731. Dat zijn meestal codes die tekst moeten blijven.
Overtollige spatiesHoeveel waarden spaties aan het begin of eind hebben.
Dubbele en lege rijenRijen die in elke cel gelijk zijn aan een eerdere rij, en rijen waarin elke cel leeg is.
Numerieke samenvattingHet aantal numerieke waarden, de exacte som, het exacte minimum en maximum (getoond zoals ze er staan, dus 4.50 blijft 4.50), het gemiddelde, de standaardafwijking van de steekproef, de mediaan, het eerste en derde kwartiel, en een histogram met 5 tot 20 even brede klassen.

Welke waarden als getal tellen, en hoe nauwkeurig de resultaten zijn

Een waarde telt als getal als het een gewoon decimaal getal met een punt is: een optioneel teken, cijfers, eventueel een decimaal deel en eventueel een exponent, zoals -12.5, 120.00 of 3e5. Scheidingstekens voor duizendtallen worden niet geaccepteerd, dus 1,234 wordt nooit als 1234 of 1.234 gelezen, en 12 kg, $5 of 1,5 zijn geen getallen. Bedragen in Nederlandse notatie tellen in het kolomprofiel dus als tekst.

De som, het minimum en het maximum worden exact decimaal berekend. 0.1 + 0.2 is dus precies 0.3, en twee nummers van 16 cijfers zoals 9007199254740992 en 9007199254740993 houden hun echte minimum, maximum en totaal.

Het gemiddelde, de standaardafwijking, de kwartielen en het histogram gebruiken gewone rekenkunde met dubbele precisie en kunnen daardoor afrondingsruis tonen, zoals 16.049999999999997 voor een kwartiel. Waarden die een double niet getrouw kan bevatten, blijven buiten deze statistieken en worden apart geteld: gehele getallen buiten ±9.007.199.254.740.991 (`Number.MAX_SAFE_INTEGER`), decimale getallen met meer dan 15 significante cijfers, en waarden die te groot zijn of te dicht bij nul liggen voor een double, zoals 1e-1000. Zo’n waarde wordt nooit een nep-0 en smelt niet samen met zijn buurwaarde. Geldt het voor elke waarde, dan blijven het gemiddelde en de kwartielen gewoon leeg.

Kwartielen worden lineair geïnterpoleerd tussen de gesorteerde waarden. Ze zijn exact voor de eerste 1.000.000 getallen in een kolom; daarna komen ze uit een reproduceerbare willekeurige steekproef van 1.000.000 waarden en worden ze als benadering gemarkeerd.

De resultaten goed lezen

  • Een kolom met nummers met voorloopnullen, zoals 001041, wordt als tekst gemeld (vanwege die nullen), maar de waarden zijn nog steeds als getal te lezen. Je ziet dus een som en een gemiddelde. Negeer die: het aantal voorloopnullen vertelt je dat de kolom een code is en geen hoeveelheid.
  • Wordt een kolom met getallen als tekst herkend, dan zit er meestal één afwijkende waarde in: n/a, 12 kg, een decimale komma of een scheidingsteken voor duizendtallen. Het aandeel per type laat zien hoeveel waarden passen; de rest vind je in de CSV-viewer.
  • Datums worden alleen in ISO-notatie herkend (2026-03-25, 2026-03-25T14:30:00Z). 11/03/2026 is tekst, omdat het zowel 3 november als 11 maart kan betekenen.
  • Het aantal verschillende waarden is exact tot 100.000 verschillende waarden per kolom. Daarboven houdt de tool de 50.000 meest voorkomende bij, en zijn het aantal verschillende waarden en de meest voorkomende waarden een benadering. Het aantal dubbele rijen is exact tot er 500.000 verschillende rijen zijn gezien; daarna wordt het niet meer gemeld.

Grote bestanden en limieten van de draaitabel

Bestanden tot 25 MB, 100.000 rijen, 250 kolommen of 2 miljoen cellen openen interactief. Tot 20.000 rijen werkt de draaitabel zich bij terwijl je de indeling aanpast; bij meer rijen kies je Draaitabel berekenen. Grotere bestanden worden in streamingmodus gelezen: Over het hele bestand berekenen leest het bestand in stukken in een achtergrondproces en neemt elke rij mee in de draaitabel, nooit alleen het voorbeeld. Het kolomprofiel werkt bij grote bestanden op dezelfde manier; voor het SQL-tabblad moet het bestand binnen de interactieve limiet passen.

Een draaitabel kan maximaal 20.000 rijgroepen, 200 kolomgroepen en 1.000.000 cellen in de uiteindelijke tabel hebben; voor medianen en aantallen verschillende waarden kunnen maximaal 4.000.000 waarden in het geheugen worden bewaard. Kom je boven een limiet, dan krijg je een foutmelding die de limiet noemt, in plaats van een ingekorte tabel. De pagina toont de eerste 500 rijen en 60 waardekolommen; downloads bevatten de hele tabel. De analyse gebeurt in dit tabblad en het CSV-bestand wordt nooit naar een server gestuurd.

Voorbeeld: bedragen per regio en maand

Zes orders, waarvan één met een leeg bedrag en één met n/a. In de indeling staat region bij Rijen, month bij Kolommen, en er zijn twee waarden: de som van amount en het aantal verschillende waarden van customer. Hieronder zie je de gedownloade CSV. De n/a telt niet mee in de som en wordt gemeld. Het eindtotaal telt 4 verschillende klanten, niet de 2 + 3 uit de twee maandkolommen, omdat C02 in beide maanden iets kocht.

CSV
order_id,month,region,customer,amount
001041,2026-01,North,C01,19.90
001042,2026-01,South,C02,4.50
001043,2026-01,North,C01,
001044,2026-02,North,C03,19.90
001045,2026-02,South,C02,120.00
001046,2026-02,South,C04,n/a
Download van de draaitabel (CSV)
region,2026-01 · Sum of amount,2026-01 · Distinct values of customer,2026-02 · Sum of amount,2026-02 · Distinct values of customer,Total · Sum of amount,Total · Distinct values of customer
North,19.9,1,19.9,1,39.8,2
South,4.5,1,120,2,124.5,2
Grand total,24.4,2,139.9,3,164.3,4

Vragen en antwoorden

Waarom is het gemiddelde in het eindtotaal niet het gemiddelde van de rijen erboven?

Totalen worden opnieuw berekend uit de rijen van het bestand. Een groep met veel orders weegt zwaarder in het totale gemiddelde dan een groep met weinig orders, dus het gemiddelde van de groepsgemiddelden zou niet kloppen. Hetzelfde geldt voor medianen en aantallen verschillende waarden.

Kan ik het resultaat als Excel-draaitabel openen?

De XLSX-download is een gewoon werkblad met de uiteindelijke tabel, inclusief subtotalen en totalen. Het is geen interactieve Excel-draaitabel; wil je de tabel anders indelen, pas dan hier de indeling aan en download opnieuw.

Waarom wijkt de standaardafwijking in het kolomprofiel af van STDEV.P in Excel?

Het profiel geeft de standaardafwijking van de steekproef (gedeeld door n − 1). Die komt overeen met STDEV.S in Excel en Google Spreadsheets. STDEV.P deelt door n en geeft bij kleine steekproeven een lagere waarde.

Standaarden en bronnen