Pivottabell

oppsummeringsverktøy; aggregert tabell av grupperte verdier

En pivottabell er en tabell av grupperte verdier som aggregerer de individuelle elementene fra en mer omfattende tabell (for eksempel fra en database, et regneark, eller program for forretningsinnsikt) innenfor en eller flere diskrete kategorier. Dette sammendraget kan inneholde summer, gjennomsnitt eller annen statistikk som pivottabellen grupperer sammen ved hjelp av en valgt aggregeringsfunksjon som brukes på de grupperte verdiene.

Mekanikk rediger

Typisk gjøres dataregistrering og -lagring i flattabeller, hvilket betyr at tabellen bare består av kolonner og rader, som for eksempel i den følgende tabellen som viser data om skjortetyper:

A B C D E F G
1 Region Kjønn Type Forsendelsesdato Enheter Pris Kostnad
2 Øst Gutt T-skjorte 2005-01-31 12 11.04 10.42
3 Øst Gutt Golf 2005-01-31 12 13.00 12.60
4 Øst Gutt Fjong 2005-01-31 12 11.96 11.74
5 Øst Jente T-skjorte 2005-01-31 10 11.27 10.56
6 Øst Jente Golf 2005-01-31 10 12.12 11.95
7 Øst Jente Fjong 2005-01-31 10 13.74 13.33
8 Vest Gutt T-skjorte 2005-01-31 11 11.44 10.94
9 Vest Gutt Golf 2005-01-31 11 12.63 11.73
10 Vest Gutt Fjong 2005-01-31 11 12.06 11.51
11 Vest Jente T-skjorte 2005-01-31 15 13.42 13.29
12 Vest Jente Golf 2005-01-31 15 11.48 10.67

Flattabeller kan inneholde mange dataelementer, men det kan være vanskelig å få et oppsummert bilde av helheten ved å se på dem. Pivottabeller kan derimot hjelpe med å raskt oppsummere dataene og fokusere på ønsket informasjon. Bruken av en pivottabell kan være ekstremt bred og avhenger av situasjonen. Når man skal utforme en pivottabell kan man for eksempel stille seg spørsmålet "Hva er det jeg søker?" I eksemplet med skjortene kan man for eksempel lure på "Hvor mange enheter har vi solgt i hver region for hver forsendelsesdato?"

Sum av enheter Forsendelsesdato ▼
Region ▼ 2005-01-31 2005-02-28 2005-03-31 2005-04-30 2005-05-31 2005-06-30
Øst 66 80 102 116 127 125
Nord 96 117 138 151 154 156
Sør 123 141 157 178 191 202
Vest 78 97 117 136 150 157
(tom)
Totalsum 363 435 514 581 622 640

Et pivottabell består vanligvis av felter for rader, kolonner og data (eller fakta). I eksempelet over er kolonnen forsendelsesdato, raden er region og dataene man ønsker å se på er (summen av) enheter. Disse feltene tillater flere typer aggregering, inkludert: sum, gjennomsnittlig, standardavvik, telling, med mer. I dette tilfellet vises det totale antallet sendte enheter ved hjelp av en sum-aggregering.

Implementering rediger

Ved hjelp av eksempelet ovenfor finner programvaren alle forskjellige verdier for region. I dette tilfellet er de nord, sør, øst og vest. Videre finner programmet alle forskjellige verdier for forsendelsesdato. Basert på aggregeringstypen (her: sum) vil faktaene (her: enheter) oppsummeres, og vil vises i et flerdimensjonalt diagram. I eksemplet ovenfor er det første datumet 66. Dette tallet ble regnet ut ved å finne alle poster hvor både region er øst og forsendelsesdato er 2005-01-31, og deretter lagt sammen enheter for denne samlingen av oppføringer (altså cellene E2 til E7) sammen for å få et sluttresultat.

Pivottabeller opprettes vanligvis ikke automatisk. I for eksempel Microsoft Excel må man først velge alle dataene i den opprinnelige tabellen og deretter gå til Sett inn-fanen og velge "Pivottabell" (eller "Pivotdiagram"). Brukeren vil da få muligheten til å enten sette inn pivottabellen i et eksisterende ark eller opprette et nytt ark for å huse pivottabellen. Det vil da komme opp en feltliste for pivottabellen som viser viser alle kolonneoverskriftene i dataene. I en tabell over salgsdata for et selskap kan kolonneoverskrifter inkludere salgsdato, selger, vare solgt, farge på varen, solgte enheter, enhetspris, og totalpris. Dette gjør dataene lettere tilgjengelige.

Salgsdato Selger Vare solgt Farge på varen Antall solgte enheter Pris per enhet Totalbeløp
2013-10-01 Hansen Bærbar Svart 8 25 000 200 000
2013-10-02 Dahl Bærbar Rød 4 35 000 140 000
2013-10-03 Johnsen Mus Rød 6 850 5100
2013-10-04 Karlsen Bærbar Hvit 10 27 000 270 000
2013-10-05 Hansen Mus Svart 4 700 2800

Feltene som blir opprettet vil vanligvis bli synlige på høyre side av regnearket, og vanligvis vil utformingsvelgeren for pivottabellen vises under denne listen. Pivottabellfeltene er byggesteinene i pivottabeller. Hvert av feltene fra listen kan dras videre til denne utformeren, som har fire alternativer:

  1. Filter
  2. Kolonne
  3. Rad
  4. Verdi

Utformingen kan til en viss grad være gjenstand for personlig smak, og man kan for eksempel velge å transponere en tabell ved å flytte om på rader og kolonner.[trenger referanse]

I noen programmer kan pivottabeller brukes til analyse av spørreskjemaer med valgfrie svar, men noen implementasjoner av pivottabeller tillater ikke disse brukstilfellene. Eksempelvis er ikke implementasjonen i LibreOffice Calc siden 2012 i stand til å behandle tomme celler.[1][2]

Filter rediger

Et rapportfilter vil gjelde for en hel tabell. Dersom for eksempel feltet "farge på varen" dras til filter-området vil tabellen som er konstruert få et rapportfilter for "farge på varen" satt inn over tabellen. Dette rapportfilteret vil få rullegardinalternativer (i eksempelet ovenfor: svart, rødt og hvitt). Når et alternativ blir valgt fra nedtrekkslisten vil tabellen bare vise dataene fra de radene som har den (eller de) valgte fargene.

Kolonne rediger

Kolonneetiketter brukes for å anvende et filter på en eller flere kolonner som må vises i pivottabellen. Dersom for eksempel feltet "selger" dras til kolonne-området vil pivottabellen få verdier fra kolonnen selger, altså vil man få et antall kolonner likt antallet selgere. Det vil også vises en ekstra kolonne for totalsum. I eksemplet ovenfor ville dette opprettet fem kolonner i tabellen, med en for hver selger, og totalsum. Det vil være et filter for kolonne-etiketter ovenfor dataene hvor man kan velge eller fjerne bestemt(e) selger(e) for pivottabellen.

Denne tabellen vil ikke ha noen numeriske verdier ettersom ingen numeriske felter er valgt, men når numeriske felter velges vil verdiene automatisk oppdateres i totalsum-kolonnen.

Rad rediger

Radetiketter brukes for å anvende et filter på en eller flere rader som må vises i pivottabellen. Dersom for eksempel feltet "selger" dras til rad-området vil den andre utdatatabellen som konstruert ha verdier fra selger-kolonnen, altså vil man ha et antall rader som er likt antallet selgere. Det vil også bli lagt til en ekstra rad med "totalsum". I eksemplet ovenfor ville man fått 5 rader i tabellen – én for hver av de 4 selgerne og én for totalsum. Med radetikettene vil man få et filter over dataene hvor man kan velge eller velge bort bestemte selgere for pivottabellen.

Denne tabellen vil ikke ha noen numeriske verdier ettersom ingen numeriske felter er valgt, men når numeriske felter velges vil verdiene automatisk oppdateres i totalsum-kolonnen.

Verdier rediger

Verdi-feltet tar vanligvis et felt som har numeriske verdier som kan brukes til ulike typer beregninger. Bruk av tekstverdier vil imidlertid ikke være feil, men vil istedet for numerisk sum resultere i telling av antall elementer. I eksempelet ovenfor: Dersom feltet for "antall solgte enheter" dras til verdi-feltet sammen med radetiketten "selger" vil det legges til en ny kolonne for "sum av solgte enheter" som vil ha verdier mot hver selger.

Radetiketter Antall solgte enheter
Hansen 12
Dahl 4
Johnsen 6
Karlsen 10
Totalsum 32

Applikasjonsstøtte rediger

Pivottabeller eller pivotfunksjonalitet er en integrert del av mange programmer for regneark, noe databaseprogramvare, samt at det finnes i andre verktøy for datavisualisering og forretningsinnsikt.

Regneark rediger

  • Microsoft Excel støtter pivottabeller, og kan visualiseres gjennom pivotdiagrammer[3]
  • Apache POI
  • LibreOffice Calc og Openoffice Calc støtter pivottabeller. Før versjon 3.4 ble denne funksjonen kalt "DataPilot".
  • Calligra Sheets støtter pivottabeller.[4]
  • Google Sheets støtter pivottabeller.[5]
  • Numbers fra Apple fikk pivottabellstøtte i versjon 11.2. [6]

Databasestøtte rediger

  • PostgreSQL er et objekt-relasjons-databasehåndteringssystem som tillater opprettelse av pivottabeller ved hjelp av tablefunc modulen.[7]
  • MariaDB er en MySQL-forgrening som tillater pivottabeller ved hjelp av CONNECT-lagringsmotoren.[8]
  • Microsoft Access støtter pivotspørringer under navnet crosstab-spørring.
  • Microsoft SQL Server støtter pivot som fra SQL Server 2016 med nøkkelordene FROM...PIVOT[9]
  • Oracle Database støtter operasjonen PIVOT
  • Noen populære databaser som ikke direkte støtter pivotfunksjonalitet, for eksempel SQLite, kan vanligvis simulere pivotfunksjonalitet ved hjelp av innebygde funksjoner, dynamisk SQL eller under-spørringer. Problemet med pivotering i slike tilfeller er vanligvis at antall utdatakolonner må være kjent når spørringen begynner å kjøre, men for pivotering er ikke dette mulig da antall kolonner er basert på selve dataene. Derfor må navnene være hardkodet eller så må spørringen som skal utføres selv opprettes dynamisk (hvilket betyr før hvert kall) basert på dataene.

Se også rediger

Referanser rediger