Bygga en datamodell för relationer mellan faktatabeller

Analys involverar ofta sammanförandet av tabeller med data som inte har en direkt relation till varandra men som båda hänför sig till samma information, som datum eller plats. Denna typ av analys kallas ibland analys av flera faktatabeller med delade dimensioner.

För att utföra den här typen av analys i Tableau måste du skapa en datakälla som använder flera bastabeller sammankopplade genom delade tabeller.

  • Bastabeller är tabellerna längst till vänster i datamodellen på fliken Datakälla. Mer information om hur du avgör vilka tabeller som ska användas som bastabeller finns i När ska en datamodell för relationer mellan faktatabeller användas?.
  • Delade tabeller är tabeller nedströms med flera inkommande relationer. Dessa tabeller innehåller fält som kan användas för att sammanfoga orelaterade fält under analys i en visualisering. Datum och Plats är exempel på tabeller som ofta delas.

Bygga modellen

Att bygga en datamodell för relationer mellan flera faktatabeller är i princip detsamma som att skapa vilken annan datakälla som helst som använder relationer, men med ytterligare två delar: ytterligare bastabeller och flera inkommande relationer till delade tabeller.

  1. Ansluta till data. Du kan använda flera dataanslutningar om inte alla dina tabeller finns i samma databas.
  2. Dra en tabell till arbetsytan för att skapa den första bastabellen.
  3. Dra en annan tabell från den vänstra rutan till målområdet Ny bastabell.

    datamodelleringsområdet med en befintlig bastabell och ett målområde för ny bastabell

    Tableau visar en varning om att du bygger en datamodell med flera bastabeller. Vi rekommenderar att du bara ställer in en modell med flera bastabeller om det krävs för aktuella data. Använd annars en modell med en enskild bastabell för att undvika komplexiteten som följer med en modell med flera bastabeller.

    en datamodell med två bastabeller, en med en varning för flera bastabeller

  4. Dra ett annat fält till arbetsytan och relatera det till en av bastabellerna. Konfigurera varje relation om det behövs.

    en tabell läggs till nedströms i datamodellen

  5. Håll muspekaren över den ännu inte relaterade bastabellen för att visa ett plustecken (som kärleksfullt kallas ”köttbulle”).

    bastabellen Klubbar med en markör över och plustecknet ”köttbulle” visas

  6. Dra plustecknet till den delade tabellen för att skapa en ny inkommande relation (även kallad ”nudel”).

    en köttbulle som drar en ny nudel till en befintlig tabell nedströms

  7. Valfritt: Fortsätt lägga till nedströmstabeller och bastabeller. Klicka och dra plustecknet för att bygga delade tabeller efter behov.

Obs! Istället för att börja med bastabellerna kan du också bygga en modell med en enskild bastabell först och lägga till ytterligare bastabeller senare.

Utforska modellen

En datamodell med flera bastabeller byggs med relationer, men inte alla tabeller är relaterade till varandra i samma grad. Varje bastabell definierar ett träd, som innehåller varje tabell som är relaterad till den bastabellen, antingen direkt relaterad eller nedströms från en relaterad tabell. Delade tabeller finns i flera träd. Mer information om grader av släktskap finns i Om datamodeller för relationer mellan faktatabeller.

När du visar en modell med flera bastabeller finns det olika alternativ för att utforska och hantera datamodellen. Dessa alternativ är särskilt användbara när en datamodell är komplex.

en datamodell med fyra bastabeller och flera delade tabeller samt odelade nedströmstabeller

Ett exempel på en komplex datamodell med fyra bastabeller, flera delade tabeller och nedströmstabeller som både delas och inte delas mellan bastabellerna.

I 2024.2 introducerades några nya layoutdetaljer för datamodellen. I en datamodell för relationer mellan faktatabeller kombineras relationer för att hjälpa till att hålla koll på hur många inkommande relationer en tabell har, och delade tabeller (och delade tabeller nedströms) har en kraftigare kontur än tabeller som inte delas.

Terminologi

Tabeller i en datamodell för flera bastabeller har specifika roller. Bastabeller och delade tabeller är de enda tabeller som måste finnas i en datamodell för relationer mellan faktatabeller. (Om det bara finns en bastabell är det inte någon datamodell för relationer mellan faktatabeller. Om det inte finns någon delad tabell som kopplar samman bastabellerna är det ingen giltig datamodell.)

På grund av den ofta komplexa karaktären hos de här modellerna är det praktiskt att alla använder samma terminologi för att diskutera andra typer av tabeller efter hur de passar in i datamodellen.

  • Bastabeller finns längst ut till vänster och har inga inkommande relationer.
    •  I exemplet är Inventory (Lager), Marketing (Marknadsföring), Sales (Försäljning) och Support bastabeller.
  • Underordnade bastabeller är ett mellanting mellan en bastabell och en delad tabell.
    • I exemplet är Parts (Delar) en underordnad bastabell.
  • Delade tabeller har fler än en inkommande relation.
    • I exemplet är Products (Produkter), Dates (Datum), Customer (Kund) och Supplier (Leverantör) delade tabeller.
  • Nedströms delade tabeller har exakt en inkommande relation och har en delad tabell någonstans uppströms.
    • I exemplet är Subcategory (Underkategori) och Category (Kategori) nedströms delade tabeller.
  • Nedströms odelade tabeller har exakt en inkommande relation och har inga delade tabeller uppströms.
    • I exemplet finns det inga nedströms odelade tabeller.

En datamodell över termerna bastabell, underordnad bastabell, nedströms odelad tabell, delad tabell och nedströms delad tabell.

Testa din förståelse: identifiera de olika sorternas tabeller i exempeldatakällan

en datamodell med fyra bastabeller och flera delade tabeller samt odelade nedströmstabeller

  • Bastabell: Inventory (Lager), Marketing (Marknadsföring), Sales (Försäljning) och Support
  • Underordnad tabell: Parts (Delar)
  • Delade tabeller: Products (Produkter), Dates (Datum), Customer (Kund) och Supplier (Leverantör)
  • Nedströms delade tabeller: Subcategory (Underkategori) och Category (Kategori)
  • Nedströms odelade tabeller: inga

Identifiera ett relationsträd

Håll muspekaren över en tabell för att framhäva de tabeller som den är relaterad till. Tableau framhäver trädet för den tabellen och betonar inte orelaterade tabeller.

den komplexa modellen, med en bastabells träd framhävt och de andra tabellerna nedtonade

Trädet för bastabellen Marketing (Marknadsföring) består av två delade tabeller, Dates (Datum) och Products (Produkter), och de nedströms delade tabellerna Subcategory (Underkategori) och Category (Kategori).

Visa relationsdetaljer

Håll muspekaren över en relation eller ett relationspaket för att se detaljerna i ett verktygstips.

En trippel nudelbunt, med ett verktygstips som har en rad för varje relationsdetalj

De inkommande relationerna till tabellen Produkter inkluderar tre individuella relationer till bastabellerna Lager, Marknadsföring och Försäljning.

Välj en relation

När en relation har valts markeras den i blått på datamodellens arbetsyta och dess detaljer visas i rutan Tabelldetaljer under datamodellens arbetsyta. I panelen Tabelldetaljer kan du inspektera eller ändra relationsklausulen.

Det finns flera sätt att välja en relation:

  • Klicka på en relationslinje (nudel) på arbetsytan. Varje relation har en klickbar zon som väljer just den nudeln.
  • Högerklicka eller Control-klicka på en tabell på arbetsytan för att öppna dess meny. Välj alternativet Välj relation och välj vilken tabells relation du vill använda.
  • Klicka på ett relationspaket i arbetsytan för att få fram ett beständigt verktygstips (om du håller muspekaren över ett paket visas verktygstipset. Du måste klicka för att det ska stå kvar). Välj sedan en rad i verktygstipset för att framhäva den relationen i modellen.
  • Öppna menyn i verktygsfältet i rutan Tabelldetaljer och välj önskad relation. Du kan också använda den här menyn för att välja en specifik tabell och förhandsvisa den i rutan.

    menyn i rutan Tabelldetaljer

Byt plats med bastabell

Mellanliggande tabeller i en relation mellan en bastabell och delade tabeller ger dig möjlighet att byta plats på nedströmstabellen och bastabellen. Detta är en rent visuell förändring som bidrar till konceptuell förståelse och ändrar inte strukturen på datamodellen.

Högerklicka eller Control-klicka på en nedströmstabell och välj Byt plats med bastabell (tabellnamn). Bytesalternativet finns bara för nedströmstabellen och inte bastabellen.

Bytesalternativet är inte tillgängligt för tabeller som skulle ändra datamodellen om de bytte plats, till exempel delade tabeller eller nedströms delade tabeller. Det är bara nedströms odelade tabeller eller underordnade bastabeller som kan bytas ut mot bastabeller.

Exempel

I det här exemplet kan tabellerna Salonginfo och Glassförsäljning byta plats utan att ändra datamodellens grundläggande struktur. Inga andra tabeller kan byta plats.

  • Glassförsäljning är relaterad till både Salonginfo och den delade tabellen Datum.
  • Salonginfo är relaterad till både Glassförsäljning och den delade tabellen Plats.
  • Väder är relaterad till båda de delade tabellerna Datum och Plats.

Dessa två modeller är konceptuellt likvärdiga:

två versioner av likvärdiga datamodeller där en bastabell och dess odelade nedströmstabell byter plats

Komprimera en bastabell

Du kan också komprimera en relationssökväg, eller ett träd, till bara dess bastabell för att tillfälligt förenkla vyn över datamodellen.

Klicka på Komprimera eller Expandera på en bastabell för att komprimera eller expandera hela trädet. Alternativt kan du högerklicka eller ctrl-klicka på en nedströmstabell och välja Komprimera den här sökvägen eller Komprimera andra sökvägar. Det här alternativet är inte tillgängligt på delade tabeller eller tabeller nedströms från delade tabeller.

Att komprimera ett träd till dess bastabell är rent visuellt och utlöser inte varningen Orelaterade tabeller. En komprimerad sökväg indikeras av en bastabell med en staplad tabell och en Expandera-knapp. Att komprimera påverkar alla tabeller och relationer som är relevanta för det trädet, så tabeller som delas med en icke-komprimerad sökväg döljs inte.

Använd knappen Expandera för att öppna bastabellen och allt i trädet igen.

stödbastabellens träd komprimeras och expanderas

Felsökning

Skapa en enskild datakälla

Alla tabeller måste vara relaterade till hela datakällan på något sätt. Om det finns några tabeller som inte är relaterade till den övergripande datamodellen visas en varning. Varningen kvarstår tills inga tabeller eller träd är helt åtskilda från resten av datamodellen. När varningen är aktiv kan datakällan inte publiceras och du kan inte använda datakällan i en analys.

Du kan öppna varningen och ställa in Separera orelaterade tabeller visuellt för att identifiera vilka tabeller som utlöste varningen. Det här alternativet är användbart när du har en komplex modell och behöver identifiera vilken eller vilka tabeller som ännu inte är relaterade till resten av datamodellen.

Exempel

I stegen under Bygg en modell visas en varning i steg 4 innan en relation läggs till för att ansluta den andra bastabellen.

Ett varningsmeddelande om en icke-relaterad tabell

Om du ställer in Separera orelaterade tabeller visuellt till På flyttas tabellen Klubbar till under linjen Orelaterade tabeller. Genom att relatera Klubbar till Studenter löser du varningen.

En datamodell med en icke-relaterad tabell under en prickad röd linje märkt Orelaterade tabeller

Lösa en cykel

Även om vissa tabeller inte är direkt relaterade till varandra måste hela datamodellen vara en sammanhängande helhet. I det här exemplet definierar varje bastabell ett träd men det finns ingen delad tabell som förbinder dem. Detta är inte en giltig modell för analys.

En datamodell med två bastabeller vars distinkta träd inte överlappar

De två grupperna av relaterade tabeller måste kombineras via en delad tabell …

Samma datamodell, nu kopplad till en delad tabell

… eller så måste datamodellen skapas som två separata datakällor.

Samma datamodell, uppdelad i två datakällor

Datamodellbegränsningar

Vissa relationssökvägar mellan tabeller stöds inte i en modell med flera bastabeller. Om du inte kan släppa köttbullen när du försöker skapa en andra inkommande relation i en tabell ska du kontrollera att strukturen du försöker skapa stöds i Tableau. Exempel på modeller som inte stöds:

Cykler

Cykler – där det finns mer än en relationssökväg från en uppströmstabell till samma nedströmstabell – stöds inte. Denna ostödda struktur kallas ibland för fluga. För att modellera den här typen av relation mellan tabeller i Tableau, använder du flera bastabeller istället för en fluga genom att konvertera nedströmstabellen till en bastabell.

ett diagram över en fluga och ett annat diagram med nedströmstabellen ändrad till en extra bastabell

Datamodellen måste vara en riktad acyklisk graf. Detta innebär att varje inkommande relation till en tabell måste kunna spåras uppströms till en annan bastabell.

Stöds inte. Tabell X har två inkommande relationer som båda är från tabeller nedströms från bastabell AStöds. Tabellerna S och T har båda flera inkommande relationer, men var och en kommer från en annan bastabell.Stöds. Även om det visuellt kan se ut som att det finns en cykel, kan de inkommande relationerna för både tabell S och tabell T spåras tillbaka till olika bastabeller.
ostödd datamodell på grund av en cykelstödd datamodell med en fluga konverterad till en andra bastabellen stödd datamodell med inkommande relationer till delade tabeller som kan spåras till olika bastabeller

Kapslade delade tabeller

Kapslade delade tabeller stöds inte. Alla tabeller nedströms från en delad tabell (en tabell med flera inkommande relationer) kan bara ha en inkommande relation.

modell som inte stöds med en kapslad delad tabell

Stöds inte. Tabell T är nedströms från en delad tabell och kan inte ta emot ytterligare en inkommande relation.

Tack för din feedback!Din feedback har skickats in. Tack!