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.
- Ansluta till data. Du kan använda flera dataanslutningar om inte alla dina tabeller finns i samma databas.
- Dra en tabell till arbetsytan för att skapa den första bastabellen.
- Dra en annan tabell från den vänstra rutan till målområdet 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.
- Dra ett annat fält till arbetsytan och relatera det till en av bastabellerna. Konfigurera varje relation om det behövs.
- Håll muspekaren över den ännu inte relaterade bastabellen för att visa ett plustecken (som kärleksfullt kallas ”köttbulle”).
- Dra plustecknet till den delade tabellen för att skapa en ny inkommande relation (även kallad ”nudel”).
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.
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 med flera 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 tabeller nedströms från delade tabeller) har en kraftigare kontur än tabeller som inte delas.
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.
Trädet för bastabellen Marknadsföring består av två delade tabeller, Datum och Produkter, och tabellerna Underkategori och Kategori nedströms från Produkter.
Visa relationsdetaljer
Håll muspekaren över en relation eller ett relationspaket för att se detaljerna i ett verktygstips.
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.
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 tabeller nedströms från delade tabeller.
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:
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.
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.
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.
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.
De två grupperna av relaterade tabeller måste kombineras via en delad tabell …
… eller så måste datamodellen skapas som två separata 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.
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 A | Stö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. |
![]() | ![]() | ![]() |
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.
Stöds inte. Tabell T är nedströms från en delad tabell och kan inte ta emot ytterligare en inkommande relation.