Video: Relationer i PowerPivot 2024
Du behøver ikke være en ekspertdatabase modeler til at bruge Power Pivot. Men det er vigtigt at forstå forhold. Jo bedre du forstår, hvordan data lagres og styres i databaser, desto mere effektivt vil du udnytte Power Pivot til rapportering.
A forholdet er mekanismen, hvormed separate tabeller er relateret til hinanden. Du kan tænke på et forhold som en VLOOKUP, hvor du relaterer dataene i et dataområde til dataene i et andet datafelt ved hjælp af et indeks eller en unik identifikator. I databaser gør relationer det samme, men uden besværet med at skrive formler.
Forhold er vigtige, fordi de fleste af de data, du arbejder med passer ind i et flerdimensionelt hierarki af sorter. For eksempel kan du have et bord der viser kunder, der køber produkter. Disse kunder kræver fakturaer, der har faktura numre. Disse fakturaer har flere transaktionslinjer med notering af, hvad de købte. Der findes et hierarki der.
I den endimensionale regnearkverden lagres disse data typisk i et fladt bord, som det her vist.
Fordi kunder har mere end én faktura, skal kundens oplysninger (i dette eksempel, CustomerID og CustomerName) gentages. Dette forårsager et problem, når disse data skal opdateres.
For eksempel forestil dig, at navnet på firmaet Aaron Fitz Electrical ændres til Fitz and Sons Electrical. Når man ser på bordet, ser man, at flere rækker indeholder det gamle navn. Du skal sørge for, at hver række, der indeholder det gamle firmanavn, opdateres for at afspejle ændringen. Eventuelle rækker, du savner, vil ikke korrekt kortlægge tilbage til den rigtige kunde.
Ville det ikke være mere logisk og effektivt at registrere kun kundens navn og oplysninger en gang? Derefter skal du i stedet for at skrive de samme kundeoplysninger gentagne gange, du kunne bare have en form for kundereferencenummer.
Dette er tanken bag relationer. Du kan adskille kunder fra fakturaer og placere hver i deres egne tabeller. Derefter kan du bruge en unik identifikator (f.eks. CustomerID) til at relatere dem sammen.
Følgende figur illustrerer, hvordan disse data ville se i en relationsdatabase. Dataene skulle opdeles i tre separate tabeller: Kunder, InvoiceHeader og InvoiceDetails. Hver tabel vil derefter blive relateret ved hjælp af unikke identifikatorer (CustomerID og InvoiceNumber, i dette tilfælde).
Databaser bruger relationer til at gemme data i unikke tabeller og relatere disse tabeller til hinanden.Kunderne tabellen vil indeholde en unik rekord for hver kunde. På den måde, hvis du skal ændre en kundes navn, skal du foretage ændringen i kun den pågældende post. Selvfølgelig vil Kunder-tabellen i virkeligheden indeholde andre attributter, såsom kundeadresse, kundenummer og kundens startdato. Enhver af disse andre attributter kunne også nemt gemmes og styres i Kunder-tabellen.
Den mest almindelige forholdstype er et forhold mellem en til mange. Det vil sige, for hver post i ét bord kan en rekord matches med mange poster i et separat bord. F.eks. Er en fakturaoverskriftstabel relateret til en faktura detaljeret tabel. Fakturaoverskriftstabellen har en unik identifikator: Faktura nummer. Faktura detaljer vil bruge fakturanummer for hver post, der repræsenterer en detalje af den pågældende faktura.
En anden slags forholdstype er forholdet mellem en-til-en: For hver post i en tabel er en og kun en matchende post i en anden tabel. Data fra forskellige tabeller i et enkelt-til-en-forhold kan teknisk kombineres i et enkelt bord.
Endelig, i et mange til mange forhold, kan optegnelser i begge tabeller have et antal matchende poster i den anden tabel. For eksempel kan en database hos en bank få en oversigt over de forskellige typer af lån (boliglån, billån osv.) Og et bord af kunder. En kunde kan have mange typer lån. I mellemtiden kan hver type lån ydes til mange kunder.