Een datamodel maken met relaties op basis van meerdere feitentabellen

Bij analyses worden vaak tabellen met data bij elkaar gebracht die geen directe relatie met elkaar hebben, maar die wel betrekking hebben op dezelfde, gemeenschappelijke informatie zoals een datum of locatie. Dit type analyse wordt ook wel analyse op basis van meerdere feitentabellen met gedeelde dimensies genoemd.

Om dit soort analyses in Tableau uit te voeren moet u een databron maken die gebruikmaakt van meerdere basistabellen die met elkaar zijn verbonden door gedeelde tabellen.

  • Basistabellen zijn de meest linkse tabellen in het datamodel op het tabblad Databron. Raadpleeg Wanneer een model met relaties op basis van meerdere feitentabellen gebruiken voor richtlijnen over het bepalen van de tabellen die u als basistabellen gaat gebruiken.
  • Gedeelde tabellen zijn downstream tabellen met meerdere binnenkomende relaties. Deze tabellen bevatten velden die kunnen worden gebruikt om niet-gerelateerde velden samen te voegen tijdens analyse in een visualisatie. Datum en Locatie zijn voorbeelden van vaak gedeelde tabellen.

Model opbouwen

Het maken van een datamodel met relaties op basis van meerdere feitentabellen is in wezen hetzelfde als het maken van elke andere databron die gebruikmaakt van relaties, maar met twee extra onderdelen: extra basistabellen en meerdere binnenkomende relaties met gedeelde tabellen.

  1. Maak verbinding met uw data. U kunt meerdere dataverbindingen gebruiken als uw tabellen niet allemaal in dezelfde database staan.
  2. Sleep een tabel naar het canvas om de eerste basistabel te maken.
  3. Sleep nog een tabel uit het linkerdeelvenster naar het neerzetgebied Nieuwe basistabel.

    het canvas voor datamodellering met een bestaande basistabel en een neerzetgebied voor een nieuwe basistabel

    Tableau toont een waarschuwing dat u een datamodel maakt met meerdere basistabellen. We raden u aan alleen een model met meerdere basistabellen te maken als uw data dit nodig hebben. Gebruik anders een model met één basistabel om de complexiteiten te vermijden die horen bij een model met meerdere basistabellen.

    een datamodel met twee basistabellen, waarvan één met een waarschuwing voor meerdere basistabellen

  4. Sleep nog een veld naar het canvas en stel een relatie in met een van de basistabellen. Zo nodig elke relatie configureren.

    een downstream tabel wordt aan het datamodel toegevoegd

  5. Beweeg de muis over de nog niet gerelateerde basistabel om een plusteken weer te geven (ook wel een 'gehaktbal' genoemd).

    de basistabel Clubs met de cursor erboven en het gehaktbal-plusteken zichtbaar

  6. Sleep het plustekenpictogram naar de gedeelde tabel om een nieuwe binnenkomende relatie te maken (ook wel een 'noedel' genoemd).

    een gehaktbal die een nieuwe noedel naar een bestaande downstream tabel sleept

  7. Optioneel: Blijf downstream- en basistabellen toevoegen. Klik en sleep het plustekenpictogram om naar wens gedeelde tabellen te maken.

Opmerking: in plaats van te beginnen met de basistabellen kunt u ook eerst een model met één basistabel maken en later extra basistabellen toevoegen.

Model verkennen

Een datamodel met meerdere basistabellen wordt gemaakt met relaties, maar niet alle tabellen zijn in dezelfde mate aan elkaar gerelateerd. Elke basistabel definieert een structuur, die elke tabel omvat die is gerelateerd aan die basistabel, ofwel direct gerelateerd of downstream van een gerelateerde tabel. Gedeelde tabellen bestaan in meerdere structuren. Zie Over datamodellen met relaties op basis van meerdere feitentabellen voor meer informatie over de mate van gerelateerdheid.

Wanneer u een model met meerdere basistabellen bekijkt, zijn er verschillende opties om het datamodel te verkennen en te beheren. Deze opties zijn vooral handig als een datamodel complex is.

een datamodel met vier basistabellen en meerdere gedeelde tabellen, evenals niet-gedeelde downstream tabellen

Een voorbeeld van een complex datamodel met vier basistabellen, meerdere gedeelde tabellen en downstream tabellen die zowel gedeeld als niet-gedeeld zijn met de basistabellen.

In 2024.2 werden een aantal nieuwe lay-outdetails voor het datamodel geïntroduceerd. In een datamodel met relaties op basis van meerdere feitentabellen worden relaties gebundeld om bij te houden hoeveel binnenkomende relaties een tabel heeft. Ook hebben gedeelde tabellen (en downstream gedeelde tabellen) een dikkere omtrek dan tabellen die niet zijn gedeeld.

Terminologie

Tabellen in een datamodel met meerdere basistabellen hebben specifieke rollen. Basistabellen en gedeelde tabellen zijn de enige tabellen die in een datamodel met relaties op basis van meerdere feitentabellen moeten voorkomen. (Zonder meer dan één basistabel is er geen sprake van een datamodel met relaties op basis van meerdere feitentabellen. Zonder een gedeelde tabel die de basistabellen verbindt, is het geen geldig datamodel.)

Omdat deze modellen vaak complex zijn, is het handig om een gemeenschappelijke terminologie te gebruiken voor het bespreken van andere typen tabellen op basis van hoe ze in het datamodel passen.

  • Basistabellen staan helemaal links en hebben geen inkomende relaties.
    •  In het voorbeeld zijn Inventaris, Marketing, Verkoop en Ondersteuning de basistabellen.
  • Subbasistabellen bevinden zich tussen een basistabel en een gedeelde tabel.
    • In het voorbeeld is Onderdelen een subbasistabel.
  • Gedeelde tabellen hebben meerdere inkomende relaties.
    • In het voorbeeld zijn Producten, Datums, Klant en Leverancier gedeelde tabellen.
  • Downstream gedeelde tabellen hebben precies één inkomende relatie en hebben ergens upstream een gedeelde tabel.
    • In het voorbeeld zijn Subcategorie en Categorie downstream gedeelde tabellen.
  • Downstream niet-gedeelde tabellen hebben precies één inkomende relatie en hebben geen upstream gedeelde tabellen.
    • In het voorbeeld zijn er geen downstream niet-gedeelde tabellen.

Een datamodel met een illustratie van de termen basistabel, subbasistabel, downstream niet-gedeelde tabel, gedeelde tabel en downstream gedeelde tabel.

Test uw begrip: identificeer de typen tabellen in de voorbeelddatabron

een datamodel met vier basistabellen en meerdere gedeelde tabellen, evenals niet-gedeelde downstream tabellen

  • Basistabellen: Inventaris, Marketing, Verkoop en Ondersteuning
  • Subbasistabel: Onderdelen
  • Gedeelde tabellen: Producten, Datums, Klant en Leverancier
  • Downstream gedeelde tabellen: Subcategorie en Categorie
  • Downstream niet-gedeelde tabellen: geen

Een relatiestructuur identificeren

Beweeg de muis over een tabel om de tabellen te highlighten waaraan deze is gerelateerd. Tableau markeert de structuur voor deze tabel en markeert de niet-gerelateerde tabellen niet.

het complexe model, waarbij de structuur van één basistabel is gehighlight en de andere tabellen gedimd zijn

De structuur van de basistabel Marketing bestaat uit twee gedeelde tabellen, Datums en Producten, en de downstream gedeelde tabellen Subcategorie en Categorie.

Details over relaties weergeven

Beweeg de muis over een relatie of een bundel relaties om de details in knopinfo te bekijken.

Een drievoudige noedelbundel, met knopinfo met een rij voor de details van elke relatie

De binnenkomende relaties met de tabel Producten omvatten drie afzonderlijke relaties met de basistabellen Voorraad, Marketing en Verkoop.

Een relatie selecteren

Wanneer een relatie is geselecteerd, krijgt deze een blauwe highlight in het datamodelcanvas en worden de details weergegeven in het deelvenster Details van tabel onder het datamodelcanvas. In het deelvenster Details van tabel kunt u de relatiecomponent inspecteren of wijzigen.

Er zijn meerdere manieren om een relatie te selecteren:

  • Klik op een relatielijn (noedel) in het canvas. Elke relatie heeft een klikbare zone die precies deze noedel selecteert.
  • Klik met de rechtermuisknop of houd de Control-toets ingedrukt en klik op een tabel in het canvas om het bijbehorende menu te openen. Selecteer de optie Relatie selecteren en kies met welke tabel u een relatie wilt instellen.
  • Klik op een bundel relaties in het canvas om permanente knopinfo weer te geven (als u over een bundel beweegt, wordt de knopinfo weergegeven, u moet klikken om deze permanent te maken). Selecteer vervolgens een rij in de details van de knopinfo om die relatie in het model te highlighten.
  • Open het menu in de werkbalk van het deelvenster Details van tabel en selecteer de gewenste relatie. U kunt dit menu ook gebruiken om een specifieke tabel te selecteren en het voorbeeld in het deelvenster te bekijken.

    het menu in het deelvenster Details van tabel

Wisselen met basistabel

Tussenliggende tabellen in een relatie tussen een basistabel en gedeelde tabellen geven u de mogelijkheid om de downstream tabel te verwisselen met de basistabel. Dit is uitsluitend een visuele verandering als hulp bij conceptueel begrip en verandert niets aan de structuur van het datamodel.

Klik met de rechtermuisknop of houd de Control-toets ingedrukt en klik op een downstream tabel en selecteer Wisselen met basistabel (tabelnaam). De wisseloptie is ook alleen aanwezig in de downstream tabel en niet in de basistabel.

De wisseloptie is niet beschikbaar voor tabellen die het datamodel zouden veranderen bij wisseling, zoals gedeelde tabellen of downstream gedeelde tabellen. Alleen downstream niet-gedeelde tabellen of subbasistabellen kunnen worden verwisseld met basistabellen.

Voorbeeld

In dit voorbeeld kunnen de tabellen Salon-info en de IJsverkoop worden verwisseld zonder dat de fundamentele structuur van het datamodel verandert. Er kunnen geen andere tabellen worden gewisseld.

  • IJsverkoop is gerelateerd aan zowel Salon-info als de gedeelde tabel Datum.
  • Salon-info is gerelateerd aan zowel IJsverkoop als de gedeelde tabel Locatie.
  • Het weer is gerelateerd aan de gedeelde tabellen Datum en Locatie.

Deze twee modellen zijn conceptueel gelijkwaardig:

twee versies van equivalente datamodellen waarbij een basistabel en de niet-gedeelde downstreamtabel worden omgewisseld

Een basistabel samenvouwen

U kunt een relatiepad, of structuur, ook samenvouwen tot alleen de basistabel om de weergave van het datamodel tijdelijk te vereenvoudigen.

Klik op de knop Samenvouwen of Uitvouwen op een basistabel om de hele structuur samen of uit te vouwen. U kunt ook met de rechtermuisknop klikken of Ctrl ingedrukt houden en klikken op een downstream tabel en Dit pad samenvouwen of Overige paden samenvouwen selecteren. Deze optie is niet beschikbaar voor gedeelde tabellen of tabellen downstream van gedeelde tabellen.

Het samenvouwen van een structuur tot de basistabel is uitsluitend visueel en activeert niet de waarschuwing Niet-gerelateerde tabellen. Een samengevouwen pad wordt aangegeven door een basistabel met een knop met een gestapelde tabel en de knop Uitvouwen. Samenvouwen heeft invloed op alle tabellen en relaties die alleen relevant zijn voor die structuur. Tabellen die worden gedeeld via een niet-samengevouwen pad, worden dus niet verborgen.

Gebruik de knop Uitvouwen knop om de basistabel en alles in de structuur opnieuw te openen.

de structuur van de ondersteunende basistabel wordt samengevouwen en uitgevouwen

Problemen oplossen

Eén databron maken

Alle tabellen moeten op de een of andere manier gerelateerd zijn aan de gehele databron. Als sommige tabellen niet gerelateerd zijn aan het algemene datamodel, verschijnt er een melding. De waarschuwing blijft staan totdat er geen tabellen of structuren meer volledig gescheiden zijn van de rest van het datamodel. Wanneer de meldig actief is, kan de databron niet worden gepubliceerd en kunt u de databron niet in een analyse gebruiken.

U kunt de melding openen en Visueel afzonderlijke niet-gerelateerde tabellen instellen om te achterhalen welke tabellen de melding hebben geactiveerd. Deze optie is handig als u een complex model hebt en moet achterhalen welke tabel of tabellen nog niet zijn gerelateerd aan de rest van het datamodel.

Voorbeeld

In de stappen onder Model maken wordt in stap 4 een melding weergegeven voordat een relatie wordt toegevoegd om verbinding te maken met de tweede basistabel.

Een melding voor niet-gerelateerde tabel

Als u Visueel afzonderlijke niet-gerelateerde tabellen inschakelt, wordt de tabel Clubs verplaatst tot onder de lijn Niet-gerelateerde tabellen. Door het instellen van een relatie van Clubs met Studenten wordt de melding opgelost.

Een datamodel met een niet-gerelateerde tabel onder een rode stippellijn met het label Niet-gerelateerde tabellen

Een cyclus oplossen

Zelfs als sommige tabellen niet direct aan elkaar gerelateerd zijn, moet het hele datamodel toch een samenhangend geheel zijn. In dit voorbeeld definieert elke basistabel een structuur, maar er is geen gedeelde tabel die ze met elkaar verbindt. Dit is geen geldig analysemodel.

Een datamodel met twee basistabellen waarvan de afzonderlijke structuren elkaar niet overlappen

De twee groepen gerelateerde tabellen moeten worden gecombineerd via een gedeelde tabel...

Hetzelfde datamodel, nu verbonden met een gedeelde tabel

...of het datamodel moet worden gemaakt als twee afzonderlijke databronnen.

Hetzelfde datamodel, opgesplitst in twee databronnen

Datamodelbeperkingen

Sommige relatiepaden tussen tabellen worden niet ondersteund in een model met meerdere basistabellen. Als u de gehaktbal niet kunt neerzetten wanneer u probeert een tweede binnenkomende relatie in een tabel te maken, controleer dan of de structuur die u probeert te maken, in Tableau wordt ondersteund. Voorbeelden van niet-ondersteunde modellen zijn:

Cycli

Cycli (waarbij er meer dan één relatiepad is van een upstream tabel naar dezelfde downstream tabel) worden niet ondersteund. Deze niet-ondersteunde structuur wordt ook wel een bowtie genoemd. Om dit soort relaties tussen tabellen in Tableau te modelleren gebruikt u meerdere basistabellen in plaats van een bowtie door de downstream tabel naar een andere basistabel te converteren.

een diagram van een bowtie en een ander diagram waarbij de downstream tabel is gewijzigd in een extra basistabel

Het datamodel moet een gerichte acyclische grafiek zijn. Dit betekent dat elke binnenkomende relatie met een tabel upstream traceerbaar moet zijn naar een andere basistabel.

Niet ondersteund. Tabel X heeft twee binnenkomende relaties die beide afkomstig zijn van tabellen downstream van Basistabel AOndersteund. Tabellen S en T hebben beide meerdere binnenkomende relaties, maar elke relatie komt uit een andere basistabel.Ondersteund. Hoewel het visueel lijkt alsof er sprake is van een cyclus, zijn de binnenkomende relaties voor zowel Tabel S als Tabel T te herleiden tot verschillende basistabellen.
niet-ondersteund datamodel vanwege een cyclusondersteund datamodel met een 'bowtie' omgezet naar een tweede basistabeleen ondersteund datamodel met binnenkomende relaties met gedeelde tabellen die herleidbaar zijn tot verschillende basistabellen

Geneste gedeelde tabellen

Geneste gedeelde tabellen worden niet ondersteund. Alle tabellen downstream van een gedeelde tabel (een tabel met meerdere binnenkomende relaties) kunnen slechts één binnenkomende relatie hebben.

niet-ondersteund model met een geneste gedeelde tabel

Niet ondersteund. Tabel T bevindt zich downstream van een gedeelde tabel en kan geen extra binnenkomende relatie ontvangen.

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.