Het Tableau-datamodel
Elke databron die u in Tableau maakt, heeft een datamodel. U kunt een datamodel zien als een diagram dat Tableau vertelt hoe het data in de verbonden databasetabellen moet opvragen.
De tabellen die u aan het canvas toevoegt op de pagina Databron vormen de structuur van het datamodel. Een datamodel kan eenvoudig zijn, zoals een enkele tabel. Of het kan complexer zijn, met meerdere tabellen die verschillende combinaties van relaties, joins en verenigingen gebruiken.
Het datamodel bestaat uit twee lagen:
- De standaardweergave die u voor het eerst ziet op het canvas van de pagina Databron is de logische laag van de databron. Data in de logische laag combineert u met relaties (of 'noodles'). Beschouw deze laag als het canvas Relaties op de pagina Databron. Zie Relaties gebruiken voor data-analyse met meerdere tabellen(Link wordt in een nieuw venster geopend) voor meer informatie.
- De volgende laag is de fysieke laag. U combineert data tussen tabellen in de fysieke laag met joins(Link wordt in een nieuw venster geopend) en verenigingen. Elke logische tabel bevat ten minste één fysieke tabel in deze laag. Beschouw de fysieke laag als het canvas Join/Vereniging op de pagina Databron. Dubbelklik op een logische tabel om joins en verenigingen weer te geven of toe te voegen.
Logische laag | Fysieke laag | |
---|---|---|
Noodles = relaties | Venndiagram = joins | |
De weergave op het hoogste niveau van een databron met meerdere, gerelateerde tabellen. Dit is de logische laag. Logische tabellen kunnen worden gecombineerd met relaties (noodles). Ze gebruiken geen join-typen. Ze fungeren als containers voor fysieke tabellen. | Dubbelklik op een logische tabel om deze te openen en de fysieke tabellen ervan te bekijken. Fysieke tabellen kunnen worden gecombineerd met joins of verenigingen. In dit voorbeeld bestaat de logische tabel Boek uit drie fysieke tabellen waarvan een join is gemaakt (Boek, Award, Info). |
Logische laag | Fysieke laag | |
---|---|---|
Canvas Relaties op de pagina Databron | Canvas Join/Vereniging op de pagina Databron | |
Tabellen die u hierheen sleept, worden logische tabellen genoemd | Tabellen die u hierheen sleept, worden fysieke tabellen genoemd | |
Logische tabellen kunnen gerelateerd zijn aan andere logische tabellen | Er kunnen joins worden gemaakt van fysieke tabellen of ze kunnen worden verenigd met andere fysieke tabellen | |
Logische tabellen zijn als containers voor fysieke tabellen | Dubbelklik op een logische tabel om de fysieke tabellen ervan te bekijken | |
Het detailniveau bevindt zich op rijniveau van de logische tabel | Het detailniveau bevindt zich op rijniveau van samengevoegde fysieke tabellen | |
Logische tabellen blijven uniek (genormaliseerd) en worden niet samengevoegd in de databron | Fysieke tabellen worden samengevoegd tot één tabel zonder opmaak die de logische tabel definieert |
Lagen van het datamodel
De weergave op het hoogste niveau die u van een databron ziet, is de logische laag van het datamodel. U kunt het ook zien als het canvas Relaties, omdat u hier tabellen combineert met relaties in plaats van met joins.
Wanneer u data uit meerdere tabellen combineert, moet elke tabel die u naar het canvas in de logische laag sleept, een relatie hebben met een andere tabel. U hoeft geen join-typen voor relaties op te geven. Tijdens de analyse selecteert Tableau automatisch de juiste join-typen op basis van de velden en context van de analyse in het werkblad.
De fysieke laag van het datamodel is waar u data kunt combineren met joins en verenigingen. U kunt in dit canvas alleen draaipunten gebruiken. U kunt dit zien als het canvas Join/Vereniging. In eerdere versies van Tableau was de fysieke laag de enige laag in het datamodel. Elke logische tabel kan een of meer fysieke tabellen bevatten.
Belangrijk: u kunt in Tableau nog steeds databronnen met één tabel maken die joins en verenigingen gebruiken. Het gedrag van de analyse van één tabel in Tableau is niet veranderd. Uw geüpgradede werkmappen werken hetzelfde als vóór 2020.2.
Meer informatie: zie ook de volgende onderwerpen en blogposts voor gerelateerde informatie over het combineren van data met gebruik van relaties:
- Verschillen tussen relaties en joins
- Relaties gebruiken voor data-analyse met meerdere tabellen
- Uw data relateren
- Relaties, deel 1: Introductie van nieuwe datamodellering in Tableau (in het Engels)(Link wordt in een nieuw venster geopend)
- Relaties, deel 2: Tips en trucs (in het Engels)(Link wordt in een nieuw venster geopend)
- Relaties, deel 3: Vragen stellen over meerdere gerelateerde tabellen (in het Engels)(Link wordt in een nieuw venster geopend)
Zie ook videopodcasts over relaties van Actieanalyses(Link wordt in een nieuw venster geopend), zoals Waarom heeft Tableau relaties uitgevonden?(Link wordt in een nieuw venster geopend) Klik op 'Videopodcast’ in de Bibliotheek(Link wordt in een nieuw venster geopend) om meer te zien.
Het datamodel begrijpen
In eerdere versies van Tableau (vóór 2020.2) bestond het datamodel alleen uit een fysieke laag. In Tableau 2020.2 en hoger heeft het datamodel de logische (semantische) laag en een fysieke laag. Dit geeft u meer mogelijkheden om data te combineren met schema's die bij uw analyse passen.
In eerdere versies van Tableau (vóór 2020.2) bestond het datamodel in uw databron uit één enkele fysieke laag waarin u joins en verenigingen kon opgeven. Tabellen die aan de fysieke laag worden toegevoegd (waarvan een join is gemaakt of die zijn verenigd) creëren één enkele tabel zonder opmaak (gedenormaliseerd) voor analyse.
Vorige versies | 2020.2 en later | |
---|---|---|
In Tableau 2020.2 en hoger bevat het datamodel in uw databron een nieuwe semantische laag boven de fysieke laag, de logische laag genaamd. Hier kunt u meerdere tabellen toevoegen en deze aan elkaar relateren. Tabellen op de logische laag worden niet samengevoegd in de databron. Ze blijven uniek (genormaliseerd) en behouden hun oorspronkelijke detailniveau.
Logische tabellen fungeren als containers voor samengevoegde fysieke tabellen. Een logische tabel kan één fysieke tabel bevatten. Dit type kan ook meerdere fysieke tabellen bevatten die zijn samengevoegd via joins of verenigingen.
Een nieuw model bouwen
Wanneer u een of meer tabellen aan de logische laag toevoegt, bouwt u feitelijk het datamodel voor uw databron op. Een databron kan bestaan uit één enkele, logische tabel. Ook kunt u meerdere tabellen naar het canvas slepen om een complexer model te maken.
- De eerste tabel die u naar het canvas sleept, wordt de hoofdtabel voor het datamodel in uw databron.
- Nadat u de hoofdtabel hebt versleept, kunt u in willekeurige volgorde extra tabellen naar buiten slepen. U moet overwegen welke tabellen aan elkaar gerelateerd moeten zijn, en welke overeenkomende veldparen u voor elke relatie definieert.
- Als u een sterrenschema maakt, kan het handig zijn om eerst de feitentabel naar buiten te slepen en vervolgens dimensietabellen aan die tabel te relateren.
- Als u een tabel in het canvas verwijdert, worden ook de bijbehorende onderliggende elementen automatisch verwijderd. Als u de hoofdtabel verwijdert, worden ook alle andere tabellen in het model verwijderd.
- Elke relatie moet bestaan uit ten minste één overeenkomend paar velden. Voeg meerdere veldparen toe om een samengestelde relatie te creëren. Overeenkomende paren moeten hetzelfde datatype hebben. Als u het datatype op de pagina Databron wijzigt, wordt deze vereiste niet gewijzigd. Tableau gebruikt voor query's nog steeds het datatype in de onderliggende database.
- Relaties kunnen worden gebaseerd op berekende velden.
- U kunt opgeven hoe velden die in de relaties worden gebruikt, moeten worden vergeleken door operators te gebruiken wanneer u de relatie definieert.
Zie Relaties creëren en definiëren in Uw data relateren voor meer informatie over relaties.
Model met meerdere tabellen
- Om een model met meerdere tabellen te maken, sleept u tabellen naar de logische laag van het canvas van de pagina Databron.
Tabellen die u naar de logische laag van het canvas van de pagina Databron sleept, moeten aan elkaar gerelateerd zijn. Wanneer u extra tabellen naar het canvas van de logische laag sleept, probeert Tableau automatisch de relatie te creëren op basis van bestaande sleutelbeperkingen en overeenkomende velden om de relatie te definiëren. Als de overeenkomende velden niet kunnen worden bepaald, moet u deze selecteren.
Als geen beperkingen worden gedetecteerd, wordt er een veel-op-veel-relatie gecreëerd en wordt de referentiële integriteit ingesteld op Sommige records komen overeen. Deze standaardinstellingen zijn een veilige keuze en bieden de meeste flexibiliteit voor uw databron. De standaardinstellingen ondersteunen volledig buitenste joins en optimaliseren query's door tabeldata samen te voegen voordat tijdens de analyse joins worden gevormd. Alle kolom- en rijdata uit elke tabel worden beschikbaar voor analyse.
U kunt meer data toevoegen aan elke logische tabel door te dubbelklikken op de tabel. Hierdoor wordt de fysieke laag van het canvas van de pagina Databron geopend. Als u joins of verenigingen moet gebruiken, kunt u de tabellen waarvan u een join wilt maken of die u wilt verenigen naar het canvas van de fysieke laag slepen. De fysieke tabellen worden samengevoegd in hun logische tabel.
Volg de stappen in Relaties creëren en definiëren om meerdere tabellen te combineren.
Model met één tabel
- Als u een model met één tabel wilt maken, sleept u een tabel naar het canvas met de logische laag van de pagina Databron. Vervolgens kunt u de velden uit die tabel in het deelvenster Data gebruiken voor analyse.
Model met één tabel dat andere tabellen bevat
U kunt meer data toevoegen aan de enkele, logische tabel door te dubbelklikken op de tabel. Hierdoor wordt de fysieke laag van het canvas van de pagina Databron geopend. Als u joins of verenigingen moet gebruiken, kunt u de tabellen waarvan u een join wilt maken of die u wilt verenigen naar het canvas van de fysieke laag slepen. De fysieke tabellen worden samengevoegd in hun logische tabel.
Dit voorbeeld toont de tabel Boek in het canvas Relaties (logische laag) van de databron. Als u dubbelklikt op de logische tabel Boek, wordt het canvas Join/Vereniging (fysieke laag) geopend.
In dit voorbeeld voegen de joins de tabellen Award en Info samen met de tabel Boek. In dit geval zal de join tussen Boek en Award een-op-veel zijn, op het detailniveau van Awards. Hierdoor zouden meetwaarden voor Boek en Info worden gedupliceerd. Om duplicatie te voorkomen, kunt u Award en Info koppelen aan Boek in plaats van er een join van te maken in de logische tabel Boek.
Ondersteunde datamodelschema's
De mogelijkheden voor datamodellering in Tableau (versie 2020.2 en hoger) zijn ontworpen voor het eenvoudig analyseren van veelgebruikte datascenario's met meerdere tabellen, waaronder ster- en sneeuwvlokdatamodellen. De volgende typen modellen worden ondersteund in Tableau-databronnen.
Eén tabel
Analyse van één logische tabel die een combinatie van dimensies en meetwaarden bevat, werkt net als in Tableau van vóór 2020.2. U kunt een logische tabel bouwen met een combinatie van joins, verenigingen, aangepaste SQL, enzovoort.
Ster en sneeuwvlok
In datawarehouses van bedrijven is het gebruikelijk dat data zijn gestructureerd in ster- of sneeuwvlokschema's, Hierbij zijn meetwaarden opgenomen in een centrale feitentabel en worden dimensies afzonderlijk opgeslagen in onafhankelijke dimensietabellen. Deze organisatie van data ondersteunt veel algemene analysestromen, waaronder samenvatten en meer details weergeven.
Deze modellen kunnen rechtstreeks worden weergegeven met relaties in de mogelijkheden voor datamodellering die beschikbaar zijn in Tableau 2020.2 en hoger.
Sleep eerst de feitentabel in het model en relateer vervolgens de dimensietabellen aan de feitentabel (in een sterschema) of aan andere dimensietabellen (in een sneeuwvlok).
In een goed gemodelleerd ster- of sneeuwvlokschema zullen de relaties tussen de feitentabel en de dimensietabellen doorgaans veel-op-een zijn. Als deze informatie in uw datawarehouse is gecodeerd, gebruikt Tableau deze automatisch om de prestatieopties van de relatie in te stellen. Zo niet, dan kunt u deze informatie zelf instellen. Zie Relatiequery's optimaliseren met prestatieopties voor meer informatie.
In een goed gemodelleerd ster- of sneeuwvlokschema heeft elke rij in de feitentabel een overeenkomende vermelding in elk van de dimensietabellen. Als dit waar is en is vastgelegd in de integriteitsbeperkingen van uw datawarehouse, gebruikt Tableau deze informatie automatisch om de instelling voor referentiële integriteit in Prestatieopties in te stellen. Als sommige rijen in de feitentabel geen overeenkomende rij in een dimensietabel hebben (ook wel ‘laat arriverende dimensies’ of ‘vroeg arriverende feiten’ genoemd), zal Tableau alle rijen standaard behouden bij het berekenen van meetwaarden, maar kunnen waarden worden verlaagd bij het weergeven van dimensiekopteksten. Zie Relatiequery's optimaliseren met prestatieopties voor meer informatie.
Ster en sneeuwvlok met meetwaarden in meer dan één tabel
In sommige ster- of sneeuwvlokschema's zijn alle meetwaarden voor uw analyse opgenomen in de feitentabel. Het is echter vaak waar dat aanvullende meetwaarden die van belang zijn, verband kunnen houden met de dimensietabellen in uw analyse. Zelfs als de dimensietabellen geen meetwaarden bevatten, is het bij de analyse gebruikelijk om dimensiewaarden te tellen of anderszins te aggregeren. In deze gevallen is het onderscheid tussen feiten- en dimensietabellen minder duidelijk. Om duidelijkheid te creëren bij het bekijken van uw datamodel, raden we u aan eerst de tabel met het hoogste detailniveau aan het canvas voor de databron toe te voegen en vervolgens alle andere tabellen aan die eerste tabel te relateren.
Als u van deze tabellen een join tot één logische tabel zou maken, zouden de meetwaarden in de dimensietabellen worden gerepliceerd. Dit zou resulteren in vertekende aggregaties, tenzij u voorzorgsmaatregelen zou nemen om de waarden te ontdubbelen met behulp van LOD-berekeningen of COUNT DISTINCT. Als u echter in plaats daarvan relaties tussen deze tabellen creëert, aggregeert Tableau meetwaarden voordat joins worden uitgevoerd. Hierdoor wordt het probleem van onnodige duplicatie vermeden. Dit ontlast u van de noodzaak om het detailniveau van uw meetwaarden zorgvuldig bij te houden.
Analyse van meerdere feiten
In versie 2024.2 en hoger ondersteunen de mogelijkheden voor datamodellering van Tableau analyses van meerdere feiten door het gebruik van relaties op basis van meerdere feitentabellen. Zie voor uitgebreide informatie over het maken van datamodellen voor relaties op basis van meerdere feitentabellen:
Een model met relaties op basis van meerdere feitentabellen (een datamodel met meerdere basistabellen) staat niet-gerelateerde tabellen in het model toe, zolang er ook gedeelde tabellen in het model bestaan. Tijdens de analyse worden velden uit een gedeelde tabel aan elkaar 'gehecht' met anderszins niet-gerelateerde datatabellen op basis van de gedeelde dimensies die ze gemeen hebben (zoals dat ze plaatsvinden op dezelfde plaats of op hetzelfde tijdstip). Alle voordelen van relaties blijven behouden, inclusief het behoud van de structuur van elke tabel of het oorspronkelijke detailniveau.
Net als bij een datamodel met een enkele basistabel, bepaalt Tableau het beste join-type om achter de schermen te gebruiken op basis van de structuur van de visualisatie. Maar in een model met relaties op basis van meerdere feitentabellen, worden de joinopties uitgebreid met buitenste joins en cross joins om verschillende relatieniveaus aan te kunnen. Zie Over datamodellen met relaties op basis van meerdere feitentabellen(Link wordt in een nieuw venster geopend) voor meer informatie.
Opmerking: in de versies 2020.2 tot en met 2024.1 kunt u alleen feitentabellen (met meetwaarden) toevoegen aan ster- en sneeuwvlokmodellen als deze gerelateerd zijn aan één dimensietabel.
U kunt bijvoorbeeld twee of meer feitentabellen samenbrengen om een gedeelde dimensie te analyseren, zoals in Customer 360-achtige analyses. Deze feitentabellen kunnen zich op een ander detailniveau bevinden dan de dimensietabel, of van elkaar. Ze kunnen ook een veel-op-veel-relatie hebben met de dimensietabel. In deze scenario's zorgt Tableau dat waarden niet vóór aggregatie worden gerepliceerd.
Als u geen gedeelde dimensietabel hebt met een relatie met uw feitentabellen, kunt u er soms één dynamisch bouwen met aangepaste SQL of door joins of verenigingen van andere dimensietabellen te gebruiken.
Twee feitentabellen kunnen op basis van een gemeenschappelijke dimensie rechtstreeks aan elkaar worden gerelateerd. Dit type analyse werkt het beste wanneer een van de feitentabellen een superset van de gemeenschappelijke dimensie bevat.
Er zijn verschillende scenario's die erop kunnen wijzen dat u een model met relaties op basis van meerdere feitentabellen moet bouwen met meerdere basistabellen in plaats van één enkele basistabel voor de databron:
- Circulaire relaties. Circulaire relaties worden niet ondersteund. Als u een databron met een cyclus probeert te bouwen, gebruik dan relaties op basis van meerdere feitentabellen en maak een basistabel van de downstream tabel.
- Conforme dimensies en Contextuele OF-relaties. Als u een reeks tabellen hebt die gerelateerd zijn aan dezelfde sets relatieclausules (zoals datum en locatie), moeten deze dimensies worden verwijderd en in plaats daarvan in gedeelde tabellen worden omgezet.
- Dit is vooral handig omdat meerdere relatieclausules allemaal waar moeten zijn (logisch een EN) voordat de tabellen gerelateerd worden aan die records.
- Als u in plaats daarvan records wilt analyseren waarbij er één tegelijk waar kan zijn (een contextuele OF), wordt deze flexibiliteit geboden door in plaats daarvan een datamodel met gedeelde dimensietabellen op te zetten.
- Equivalente combinaties. Als u een combinatie gebruikt maar een gelijkwaardige combinatie wilt hebben zonder primaire en secundaire databronnen, bouw dan een datamodel dat de databronnen uit de combinatie combineert met de bijbehorende koppelingsvelden in een gedeelde tabel of tabellen.
Vereisten voor relaties in een datamodel
- Bij het relateren van tabellen moeten de velden die de relaties definiëren hetzelfde datatype hebben. Als u het datatype op de pagina Databron wijzigt, wordt deze vereiste niet gewijzigd. Tableau gebruikt voor query's nog steeds het datatype in de onderliggende database.
- U kunt geen relaties definiëren op basis van geografische velden.
- Circulaire relaties worden niet ondersteund in het datamodel.
- U kunt geen relaties tussen gepubliceerde databronnen definiëren.
Factoren die de voordelen van gerelateerde tabellen beperken
- Vervuilde data in tabellen (bijvoorbeeld tabellen die niet zijn gemaakt met een goed gestructureerd model in gedachten en die een combinatie van meetwaarden en dimensies in meerdere tabellen bevatten) kunnen de analyse met meerdere tabellen complexer maken.
- Het gebruik van databronfilters beperkt de mogelijkheid van Tableau om join-culling op de data toe te passen. Join-culling is een term voor de manier waarop Tableau query's vereenvoudigt door onnodige joins te verwijderen.
- Tabellen met veel ongeëvenaarde waarden in relaties.
- In versies 2020.2 tot en met 2024.1: Meerdere feitentabellen relateren met tabellen met meerdere dimensies (pogingen om gedeelde of conforme dimensies te modelleren). In versie 2024.2 en hoger kunt u relaties op basis van meerdere feitentabellen gebruiken om deze gevallen te behandelen.