Loading
Tableau-semantikk
Delte dimensjoner i Tableau-semantikk

Delte dimensjoner i Tableau-semantikk

Analyser og sammenlign data på tvers av flere faktatabeller ved å koble dem til hverandre via de samme dimensjonstabellene. Bygg komplekse, forretningsrelevante analyser på en ren og pålitelig måte ved å unngå duplikatrelasjoner og eliminere sykluser i den semantiske modellen.

I de fleste datasett sporer forskjellige forretningsdomener sine egne hendelser separat: Salg sporer transaksjoner, Markedsføring sporer kampanjer, Lagerbeholdning sporer lagernivåer og så videre. Hver av disse forretningsprosessene er representert som en faktumtabell, som inneholder kjernemålinger og transaksjonsdata som er relevante for det domenet.

For å gjøre disse dataene meningsfylte kobler hver faktatabell til én eller flere dimensjonstabeller, som Produkter, Datoer, Kampanjer, Kunder eller Leverandører. Dimensjoner beskriver faktaene og lar brukere gruppere, filtrere eller aggregere dem (for eksempel etter dato, etter produktkategori eller etter kundesegment).

Ofte deler forskjellige faktatabeller de samme dimensjonene. Både markedsføring og salg er for eksempel relatert til Produkter og Datoer.

Diagram over delte dimensjoner

Når faktatabeller er relatert til en delt dimensjon, kan organisasjonen justere dataene og analysere verdiene sammen slik at du kan

  • Sammenligne kampanjekostnader fra markedsføring og omsetning fra salg etter produkt
  • Dele opp beholdningsnivåer og salgsytelse etter leverandør eller kunde
  • Analyser kundestøtteaktivitet sammen med virkemåte for kjøp og retur.

Slike spørringer spenner over forskjellige faktatabeller, mens de delte dimensjonene gir tilkoblingspunktene som lar deg samle disse faktaene og utforske dem side ved side.

For å understøtte dette i den semantiske modellen introduserer vi begrepet delte tabeller. Når en dimensjonstabell er merket som delt, vet systemet at den kan brukes til å koble sammen flere faktatabeller sikkert. Dette aktiverer ren, syklusfri analyse med flere fakta og sikrer at den semantiske modellen kan tolke og utføre spørringer på tvers av domener riktig.

Relaterte kontra ikke-relaterte tabeller

Et annet nøkkelbegrep i delte tabeller er forskjellen mellom relaterte og ikke-relaterte tabeller.

To tabeller anses som relatert når de er direkte tilkoblet av en definert relasjon. Spørringer mellom relaterte tabeller fungerer som forventet: systemet bruker den definerte banen til å delta i dem.

Hvis to tabeller er fullstendig ikke relatert, som betyr at de ikke har noen direkte eller delt tilkobling, kan ikke systemet bestemme hvordan dataene skal kombineres, og spørringen mislykkes.

I noen tilfeller kobles tabeller til bare via en delt dimensjon. Hvis du spør etter felt fra begge faktatabellene uten å inkludere et felt fra den delte tabellen, og feltene ikke aggregeres, utfører systemet en krysskobling. Det betyr at hver rad fra én faktatabell kombineres med hver rad fra den andre siden det ikke er noen delt nøkkel for å justere dem.

Hvis for eksempel Salg og Markedsføring begge er koblet til en delt Produkter-tabell, og du spør [Salg] [Salgsmengde] og [Marketing] [Bruk] uten [Produkter] [Produktnavn], kombinerer systemet bare alle salgsrader med alle Markedsføring-rader.

For å unngå dette må spørringen inkludere et felt fra den delte tabellen, som Produkt eller Dato, som fungerer som koblingsnøkkelen og gir en delt akse for gruppering og aggregering av verdier på tvers av de to faktaene.

Delte dimensjoner gjør det mulig å analysere data fra tabeller som ellers ville vært isolert, men bare når de brukes riktig i spørringen.

Faktumtrær og deres struktur

Et faktatre er en gruppe tabeller som tilhører samme forretningsområde og er koblet til hverandre. Den inneholder vanligvis én eller flere faktatabeller sammen med dimensjonstabeller.

Denne strukturen er ikke bare et modellkonsept – det er noe systemet bygger automatisk når du kjører en spørring. Faktatre er hvordan det semantiske laget organiserer tabeller internt for å evaluere delte dimensjoner riktig.

I eksempeldiagrammet ovenfor er Markedsføring en faktatabell koblet til delte tabeller Produkter og datoer. Dette danner faktumtreet. Salg er en annen faktatabell som kobles til de samme delte dimensjonene og danner et eget faktatre. Denne strukturen lar systemet forstå hvordan hvert tre fungerer uavhengig, samtidig som det aktiverer analyse på tvers av trær gjennom delte dimensjoner.

Faktumtrær må forbli syklusløse. Sykluser introduserer tvetydighet: Hvis systemet kan nå samme tabell via mer enn én bane, vet det kanskje ikke hvilken som skal følges, eller hvordan filtre og aggregeringer skal brukes riktig. Av denne grunn er det ikke tillatt å opprette en ny relasjon som introduserer en syklus, som å koble markedsføring direkte til underkategori (som allerede er tilgjengelig via Produkt).

Slik påvirker delte dimensjoner spørringer

Delte dimensjoner hjelper ikke bare med å strukturere den semantiske modellen – de styrer også hvordan spørringer oppfører seg ved kjøretid, og sikrer nøyaktige resultater og konsistent logikk.

La oss si at du analyserer hvordan markedsføringsforbruk er relatert til salgsmengde. Disse to målingene kommer fra forskjellige faktatabeller: Markedsføring og salg. De kan ikke justeres meningsfylt alene fordi det ikke er noen delt kontekst å gruppere dem etter. Hvis du bare drar begge feltene til en spørring uten å bruke en delt referanse, kan ikke systemet samsvare radene og kan returnere villedende resultater eller mislykkes.

Men når du har hentet inn to delte dimensjoner, som Produkt og Dato, endres situasjonen. Med disse på plass kan du spørre: "Hvor mye brukte vi på markedsføring for hvert produkt og hver måned, og hvor mange enheter ble solgt?"

I og med at både salg og markedsføring er koblet til Produkter og Datoer (delte tabeller), kan systemet nå justere begge målingene riktig – etter produkt, etter måned – og returnere meningsfylte, aggregerte resultater:

Produkt Måned Markedsføringsforbruk Salgsmengde
Bike Jan 2024 5000 12
Bike Feb 2024 null 8
Bil Jan 2024 10,320 22
Bil Feb 2024 5000 10

Virkemåte ved filtrering

Filtre brukes på en måte som unngår å endre data fra ikke-relaterte tabeller.

  • Når du bruker et filter på et faktumspesifikt felt, som Markedsføringstype, filtrerer det bare denne faktumtabellen – ikke noen annen faktum eller delt dimensjon.
  • Når du bruker et filter på en delt dimensjon, som Produktnavn eller Dato, gjelder det for alle faktatabeller som er koblet til den.

Denne virkemåten hindrer filtre i å fjerne ikke-relaterte poster. Hvis du for eksempel velger Online i filteret Marketingtype, blir bare Markedsføringsutgifter oppdatert -- Salgsmengde beholdes upåvirket.

Faktumtrær må forbli syklusløse. Sykluser introduserer tvetydighet: Hvis systemet kan nå samme tabell via mer enn én bane, vet det kanskje ikke hvilken som skal følges, eller hvordan filtre og aggregeringer skal brukes riktig. Av denne grunn er det ikke tillatt å opprette en ny relasjon som introduserer en syklus, som å koble markedsføring direkte til underkategori (som allerede er tilgjengelig via Produkt).

Beregnede felt og faktumtreinnhold

Beregnede felt må respektere faktumtregrenser. Hvis du oppretter et beregnet felt på radnivå, for eksempel:

Hvis [Support].[Prioritet] <= 1 DA "Høy" ELSE "Lav"

-- dette feltet er gyldig så lenge det befinner seg i det samme faktumetreet (støtte i dette tilfellet). Du kan bruke den til å analysere mønstre eller filtrere støtterelatert aktivitet mot dimensjoner som Kunde eller Produkt (hvis disse dimensjonene deles), og alt vil virke som forventet.

Men hvis du prøver å opprette et beregnet felt som går over flere faktatabeller, som

[Inventory].[Quantity] + [Sales].[Sales Quantity]

-- plattformen kommer med en feil. Den forsøker å kombinere radnivådata fra to forskjellige faktumtrær, og systemet kan ikke løse et felles detaljnivå for det uttrykket. Hvert faktatre har sin egen uavhengige detaljnivå og filtreringskontekst.

For å oppnå gyldige beregninger på tvers av fakta må du aggregere hver faktum uavhengig og deretter kombinere disse aggregeringene på visningsnivået:

SUM([Inventory].[Quantity]) + SUM([Sales].[Sales Quantity])

Dette uttrykket er tillatt fordi begge målingene aggregeres før de kombineres, og aggregeringen omfanges til produktnivået eller hvilken som helst dimensjon som er i visningen.

Begrensninger for delte dimensjoner og faktumtrær

  • Faktatabeller må forbli frakoblet fra hverandre. De kan ikke slå sammen direkte. Eventuell tilkobling mellom dem må skje bare via delte dimensjonstabeller.
  • Beregnede felt på radnivå – enten det er dimensjoner eller målinger – må være fullstendig inneholdt i ett faktumtre.
  • Du kan ikke koble en delt tabell til en annen delt tabell og deretter til en faktatabell. Med andre ord kan bare én delt tabell finnes i tilkoblingsbanen mellom en faktatabell og dens dimensjoner. Hvis Produkter for eksempel er en delt tabell koblet til Datoer (en annen delt tabell), og begge kobles til Salg, støttes ikke denne strukturen.
  • Når du filtrerer felt fra flere faktumtrær i samme spørring, må disse filtrene kombineres med en AND-betingelse, ikke OR.
  • Opprette en ny delt tabell
    Bruk delte tabeller til å koble sammen flere faktatabeller via en felles dimensjon for å sammenligne poster på tvers av forskjellige tabeller. Dette holder datamodellen ren og entydig og sikrer at filtrene fungerer riktig på tvers av forskjellige datasett.
 
Laster
Salesforce Help | Article