Brede og smale tabeller er to alternative metoder for å presentere tabelldata.
Det er mulig å konvertere tabeller fra den ene typen visningen til den andre.
I en bred tabell vises de forskjellige variablene i hver sin kolonne:
| Person | Alder | Vekt | Høyde |
|---|---|---|---|
| Jakob | 32 | 168 | 180 |
| Nora | 24 | 150 | 175 |
| Olivia | 64 | 144 | 165 |
I en smal tabell vises noen av variablene i en variabelkolonne, og den tilhørende verdien for hver enkelte variabel i en egen verdikolonne som inneholder alle verdiene. Man kan si at variabelkolonnen viser konteksten til verdien.
| Person | Variabel | Verdi |
|---|---|---|
| Bob | Alder | 32 |
| Bob | Vekt | 168 |
| Bob | Høyde | 180 |
| Alice | Alder | 24 |
| Alice | Vekt | 150 |
| Alice | Høyde | 175 |
| Steve | Alder | 64 |
| Steve | Vekt | 144 |
| Steve | Høyde | 165 |
En fordel med smale tabeller i datasystemer (samt med penn og papir, forøvrig) er at det er enklere å endre dem siden det å legge til en ny variabel ikke krever endringer i strukturen til tabellen. De kan også være enklere å implementere teknisk. Ulempen er at de er mindre leselige for mennesker.
Mange systemer for statistikk og databehandling har funksjoner for å konvertere mellom brede og smale tabeller. Programmeringspråket R har for eksempel pakken tidyr med flere, og i Python har pandas-pakken funksjonen melt for å konvertere fra bred til smal tabell.
I forbindelse med datatransformasjon blir prosessen med å konvertere en tabell fra smal til bred noen ganger kalt «pivotering»,. I pandas-pakken for Python kan funksjonen pivot brukes for å omforme (transformere) fra smal til bred.