Over datamodellen met relaties tussen meerdere feiten

Met relaties tussen meerdere feiten kunt u databronnen bouwen met meer dan één basistabel. Door meerdere basistabellen in uw datamodel te gebruiken, kunt u analyses op meerdere feiten uitvoeren in Tableau.

Door tabelbomen te creëren die in een basistabel zijn geworteld, kunt u datastructuren met verschillende conceptuele domeinen modelleren, en hun gedeelde kenmerken gebruiken om ze met elkaar te verbinden. Dit type analyse wordt vaak aangeduid als analyse van meerdere feiten, conforme dimensies of gedeelde dimensies. In Tableau noemen we dit een datamodel met relaties tussen meerdere feiten, omdat u relaties gebruikt om het model te bouwen. Een datamodel met relaties tussen meerdere feiten bevat altijd meerdere basistabellen. Basistabellen zijn de uiterst linkse tabellen in het datamodel. Raadpleeg Wanneer een model met relaties tussen meerdere feiten gebruiken voor richtlijnen over het bepalen van de tabellen die u als basistabellen gaat gebruiken.

Een model met meerdere basistabellen, waarbij één boom is geaccentueerd

Een datamodel met meerdere basistabellen, waarbij de boom van één basistabel is geaccentueerd.

Niveaus van verwantschap

Datamodellen met meerdere basistabellen bieden veel flexibiliteit wat betreft de manier waarop stukjes data zich al dan niet met elkaar kunnen verhouden.

Opmerking: verwantschap op elk niveau is alleen relevant in datamodellen met meerdere basistabellen. Vóór datamodellen met relaties tussen meerdere feiten was hetzij alles gerelateerd (één databron), hetzij niets (meerdere databronnen).

Verwantschap in het datamodel

Tabellen zijn gerelateerd, niet-gerelateerd of gedeeld op basis van de structuur van het datamodel. In een databron is de verwantschap van tabellen een constante. In het kort: 

  • Gerelateerde tabellen bevinden zich in dezelfde boom.
    • Vóór 2024.2 hadden alle databronnen één basistabel, bestaande uit één boom. In een databron met één basistabel zijn alle tabellen gerelateerd.
  • Niet-gerelateerde tabellen bevinden zich in verschillende bomen. Basistabellen zijn nooit aan elkaar gerelateerd. Tabellen die zich downstream van precies één basistabel bevinden, hebben ook geen relatie met tabellen in andere bomen.
  • Gedeelde tabellen hebben meerdere inkomende relaties en behoren tot meer dan één boom.
    • Tabellen downstream van een tabel met meerdere inkomende relaties worden ook als gedeeld beschouwd.

Verwantschap tijdens analyse

Velden kunnen gerelateerd, niet-gerelateerd of ambigu gerelateerd zijn, of ze kunnen fungeren als samenhechtingsvelden. De onderlinge relaties tussen een groep velden worden per blad bepaald op basis van de structuur van het datamodel, welke velden actief in gebruik zijn (ofwel als velden op de containers staan) en of die velden dimensies dan wel meetwaarden zijn.  

Een eenvoudige visualisatie met twee niet-gerelateerde velden, één voor rijen en één voor kolommen, en Niet-gerelateerd-knopinfo

Om een visualisatie te maken met velden uit meerdere tabellen, moet Tableau achter de schermen joins uitvoeren om de waarden te berekenen. Welk type join wordt gebruikt, is afhankelijk van de verwantschap van de velden. In het kort: 

  • Wanneer gerelateerde velden worden gebruikt in een visualisatie, worden dimensies via inner joins verbonden en worden meetwaarden uitgesplitst per dimensie.
    • Het is iets ingewikkelder dan dat: er zijn misschien extra joins achter de schermen nodig om te garanderen dat geen meetwaarden worden verwijderd. Maar in een visualisatie met alleen dimensies worden gerelateerde dimensies via inner joins verbonden, en dat is hier het hoofdconcept.
    • Dit is hetzelfde gedrag als modellen met één basistabel.
  • Wanneer niet-gerelateerde velden worden gebruikt in een visualisatie, worden dimensies via cross joins verbonden. Meetwaarden zijn tabelgericht (dat wil zeggen lokaal geaggregeerd tot één waarde voor de hele tabel) en worden herhaald.
    • Het is ook mogelijk dat velden ambigu gerelateerd zijn, wat betekent dat er voor de combinatie van actieve velden meer dan één manier is om de relaties tussen de betreffende tabellen op te lossen. Als Tableau op ambiguïteit stuit, worden de velden als niet-gerelateerd beschouwd.
  • Wanneer velden worden samengehecht op basis van een gedeeld veld, worden dimensies via outer joins verbonden. Meetwaarden worden geaggregeerd op het niveau van alle dimensies waarin ze kunnen worden uitgesplitst en worden mogelijk herhaald.
    • Samenhechtingsdimensies zijn vergelijkbaar met koppelingsvelden bij datacombinatie. De resultaten worden berekend voor elk paar gerelateerde velden. Vervolgens worden de niet-gerelateerde waarden samengehecht over de gedeelde waarden van de dimensie die tussen hen wordt gedeeld.

Al deze concepten en definities worden verderop in dit onderwerp gedetailleerder besproken.

Een kanttekening over dimensies en meetwaarden

Meetwaarden zijn in Tableau aggregaties: ze worden geaggregeerd tot de granulariteit die is ingesteld door de dimensies in de weergave. De waarde van een meetwaarde hangt dus af van de context van de dimensies. 'Aantal dozen ontbijtgranen' hangt er bijvoorbeeld van af of we de totale voorraad bedoelen of het aantal dozen per merk.

Dimensies zijn meestal categorievelden, zoals land of merk. In Tableau bepalen dimensies de granulariteit, oftewel het detailniveau, van de weergave. Meestal willen we onze data in markeringen groeperen op basis van een combinatie van categorieën. Welke dimensies we gebruiken om de weergave op te bouwen, bepaalt hoeveel markeringen we hebben.

Wanneer een meetwaarde zonder dimensies wordt gebruikt, is deze zogenaamd tabelgericht. Dit betekent dat de waarde de volledig geaggregeerde waarde voor de hele tabel is. Zodra we een dimensie zoals merk in de visualisatie gebruiken, wordt de meetwaarde gedetailleerder uitgesplitst. Het totale aantal ontbijtgranendozen wordt nu per merk weergegeven.

Aggregatie verwijst naar de manier waarop de data worden gecombineerd. De standaardaggregatie van Tableau is SUM. U kunt de aggregatie wijzigen in andere opties, waaronder: gemiddeld, mediaan, aantal uniek, minimum enzovoort. Granulariteit verwijst naar hoe gedetailleerd of uitgesplitst de meetwaarde is, wat wordt bepaald door de dimensies. Tenzij de granulariteit van de meetwaarde op rijniveau (ofwel uitgesplitst) is, moet de betreffende waarde worden geaggregeerd.

Voorbeeld

Een tabel met waarden voor het aantal dozen ontbijtgranen, met vijf merken en drie maten dozen

Wat is de waarde van 'Aantal dozen ontbijtgranen'?

Dat hangt af van het aggregatietype en de granulariteit zoals bepaald door de dimensies.

  • Aggregaties:
    • Sum (of totaal)
    • Gemiddeld
  • Granulariteit:
    • Tabelgericht/volledig geaggregeerd (de blauwe balken in het voorbeeld)
    • Uitgesplitst op dimensie Merk (de gekleurde balken in het voorbeeld)

Een dashboard met vier visualisaties: één voor het opgetelde tabelgerichte aantal dozen (54), één met het gemiddelde tabelgerichte aantal dozen (6), en vervolgens versies van deze twee visualisaties die zijn opgesplitst op de vijf merken

Indicatoren voor verwantschap op veldniveau

Er zijn verschillende visuele aanwijzingen die u kunnen helpen de mate van verwantschap te begrijpen van de velden die u in een analyse gebruikt.

Verwantschapsindicatoren op een werkblad

  • Pictogram Niet-gerelateerd: Tableau gebruikt het pictogram Niet-gerelateerd Pictogram Niet-gerelateerd om aan te geven dat niet alles in de weergave gerelateerd is. Als u het pictogram Niet-gerelateerd op een veld in de weergave of in het deelvenster Data ziet, kunt u de muisaanwijzer op het pictogram plaatsen om meer informatie te krijgen.
  • Lichtgrijze veldnamen: veldnamen worden weergegeven in lichtgrijze tekst in het deelvenster Data als ze niet gerelateerd zijn aan velden die op containers worden gebruikt. U kunt deze velden nog steeds gebruiken voor analyse in die visualisatie, maar niet-gerelateerde velden worden in de analyse anders geëvalueerd dan velden die wel gerelateerd zijn. Als u deze velden aanwijst met de muisaanwijzer wordt ook het pictogram Niet-gerelateerd weergegeven.

Het deelvenster Data, met één grijs weergegeven tabel, en twee velden met het doorgestreepte oogpictogram voor verborgen velden

Opmerking: in eerdere versies van Tableau gaven lichtgrijze veldnamen aan dat de velden verborgen waren en Verborgen velden tonen geselecteerd was. Als verborgen velden worden weergegeven, worden deze nu aangeduid met een klikbaar oogpictogram Pictogram Verborgen veld.

Waarschuwingsvenster voor verwantschap

Wanneer niet-gerelateerde velden samen in een visualisatie worden gebruikt, toont Tableau een waarschuwingsvenster om u te laten weten dat de velden niet gerelateerd zijn. Dit bericht verschijnt telkens wanneer u een niet-gerelateerd veld toevoegt om u eraan te herinneren dat u moet valideren met niet-gerelateerde velden in uw analyse. Het waarschuwingsbericht belet u niet om door te gaan maar kan mogelijke prestatieproblemen helpen voorkomen. Het gebruik van niet-gerelateerde velden met een hoge kardinaliteit kan bijvoorbeeld resulteren in cross joins die van invloed zijn op de prestaties in de werkmap.

Het waarschuwingsvenster voor verwantschap, met een waarschuwing betreffende niet-gerelateerde dimensies

Klik op Toevoegen om het veld aan de visualisatie toe te voegen. Als u het bericht niet meer wilt zien, selecteert u de optie Dit niet nogmaals weergeven. U kunt deze waarschuwingsberichten altijd opnieuw laten verschijnen door ze weer in te schakelen: open het menu Help > Instellingen en prestaties > Genegeerde berichten resetten.

Als er meerdere velden worden toegevoegd of reeds aanwezig zijn in de weergave, verschijnt het gebied Details in het dialoogvenster. Vouw het uit om meer informatie te zien over de verwantschap van alle gebruikte velden en om te identificeren waar het probleem met de niet-gerelateerdheid vandaan komt.

Het waarschuwingsvenster voor verwantschap, met een bericht voor niet-gerelateerde dimensies en meetwaarden, en met het gebied Details uitgevouwen

Verwantschap op tabelniveau in het datamodel

In een datamodel met meerdere basistabellen definieert elke basistabel een reeks tabellen die gerelateerd zijn en een conceptuele boom vormen. Deze bomen moeten verbonden zijn door ten minste één gedeelde tabel om ervoor te zorgen dat de algehele databron één entiteit is.

Wat voorheen misschien twee databronnen waren die konden worden samengevoegd met behulp van koppelingsvelden, kan nu één databron zijn met twee bomen, verbonden door de gedeelde tabellen die deze gemeenschappelijke velden bevatten.

Twee datamodellen, één gemaakt van twee verschillende databronnen, de andere gemaakt van de twee databronnen boven op de tabellen die ze gemeen hebben om één enkele databron te vormen

Tip: de manier waarop tabellen in het datamodel gerelateerd zijn, heeft invloed op de manier waarop hun velden in de analyse gerelateerd kunnen zijn. Het kan handig zijn om tijdens de analyse terug te gaan naar het tabblad Databron om te zien hoe een tabel in het algemene datamodel past.

Laten we aan de hand van deze voorbeelddatabron eens kijken welke tabellen respectievelijk gerelateerd, niet-gerelateerd of gedeeld zijn. Er zijn twee bomen, één bepaald door basistabel A en de andere door basistabel B.

Niet-gerelateerde tabellen

Basistabellen zijn in principe niet gerelateerd. Tabellen die slechts in één boom voorkomen, zijn niet gerelateerd aan tabellen in andere bomen.

Tabel A en tabel X zijn niet gerelateerd

Tabel B en tabel X zijn niet gerelateerd

Een datamodel waarin basistabellen A en X hun eigen contouren hebben. Relaties worden lichtgrijs weergegeven.Een datamodel waarin basistabel A en de downstream tabel B een contour delen. Basistabel X heeft zijn eigen contour. Relaties worden lichtgrijs weergegeven.

Gerelateerde tabellen

Tabellen in dezelfde boom worden als gerelateerd beschouwd.

Tabel A en tabel S zijn gerelateerd

Tabel B en tabel S zijn gerelateerd (via tabel A)

Een datamodel waarin de relatie van basistabel A met een downstream tabel wordt benadruktEen datamodel waarin de relatie van tabel B met een andere tabel wordt benadrukt door hun relaties met dezelfde basistabel, A

Gedeelde tabellen

Gedeelde tabellen hebben meerdere binnenkomende relaties. Deze tabellen behoren tot meerdere bomen en worden door die bomen gedeeld.

Tabel S en tabel T worden gedeeld.

Een datamodel waarin tabellen S en T beide meerdere binnenkomende relaties hebben. Ze behoren allebei tot de boom van basistabel A en tot de boom van basistabel X.

Verwantschap op veldniveau in de analyse

De onderlinge relaties tussen velden worden per blad bepaald op basis van de structuur van het datamodel, welke velden actief in gebruik zijn (dat wil zeggen welke velden in de visualisatie op containers staan) en of die velden dimensies dan wel meetwaarden zijn. Welke invloed de verwantschap van velden heeft op de resultaten van een visualisatie wordt behandeld in het volgende gedeelte.

Laten we enkele scenario's doornemen met dezelfde voorbeelddatabron. De naam van elk veld geeft aan uit welke tabel het afkomstig is, zoals veld B uit tabel B. Velden kunnen dimensies of meetwaarden zijn, tenzij anders aangegeven.

Gerelateerde velden

Op een hoog niveau zijn velden gerelateerd wanneer Tableau duidelijk kan bepalen hoe ze samen moeten worden geëvalueerd op basis van een relatiepad binnen een enkele boom.

Veld B (uit tabel B) en veld S (uit tabel S) zijn bijvoorbeeld gerelateerd.

Veld B en veld S zijn gerelateerd

Niet-gerelateerde velden

Op een hoog niveau zijn velden sowieso niet-gerelateerd als ze niet aan elkaar gerelateerd zijn. Dit kan komen doordat de velden uit niet-gerelateerde tabellen afkomstig zijn, bijvoorbeeld omdat er velden uit twee basistabellen worden gebruikt. In dat geval zijn velden uit verschillende basistabellen fundamenteel niet-gerelateerd.

Veld A en veld X zijn bijvoorbeeld niet-gerelateerd.

Veld A en veld X zijn niet-gerelateerd

Velden kunnen gedurende een bepaalde periode ook als niet-gerelateerd worden beschouwd, bijvoorbeeld als ze ambigu gerelateerd zijn. U kunt er in principe van op aan dat verwantschapsindicatoren u waarschuwen wanneer velden niet-gerelateerd zijn in de context van een visualisatie.

Samenhechtingsvelden

Samenhechting is de manier waarop Tableau tijdens analyse velden van niet-gerelateerde tabellen in een datamodel met meerdere feiten evalueert. In een visualisatie worden niet-gerelateerde velden samengehecht door een dimensie uit een gedeelde tabel te gebruiken. De velden kunnen hierdoor tegelijkertijd worden geëvalueerd in dezelfde visualisatie. Dit is te beschouwen als het naast elkaar plaatsen van resultaten van twee bomen op basis van een dimensie die ze delen.

Als een visualisatie bijvoorbeeld is gebouwd met veld A en veld X, zijn deze twee velden niet gerelateerd. Door dimensie S toe te voegen, wordt een samenhechtingsveld geïntroduceerd.

  • Veld A en dimensie S worden samen geëvalueerd.
  • Veld X en dimensie S worden samen geëvalueerd.
  • Die tussenresultaten worden bijeengebracht op basis van de waarden van dimensie S.
  • Veld A en veld X zijn nu samengehecht.

Niet-gerelateerde basistabellen A en X, samengehecht door hun gedeelde tabel S

Tip: het is best practice om een samenhechtingsveld in de visualisatie te gebruiken voordat u een niet-gerelateerd veld uitlicht. Versleep bijvoorbeeld eerst dimensie S, of veld A, gevolgd door dimensie S, gevolgd door veld X, in plaats van veld A, gevolgd door veld X, gevolgd door dimensie S. Door eerst het samenhechtingsveld toe te voegen, weet Tableau altijd hoe de relaties moeten worden geëvalueerd. Hierdoor vermijdt u mogelijke prestatieproblemen als gevolg van het samen evalueren van niet-gerelateerde dimensies.

Voor samenhechting moet een dimensie uit een gedeelde tabel actief zijn in de visualisatie. Velden die op de container Filters of op de eigenschap Knopinfo van de kaart Markeringen zijn geplaatst, worden niet als actief beschouwd voor samenhechtingsdoeleinden.

Ambigu gerelateerde velden

Velden kunnen ook ambigu gerelateerd zijn. Dit gebeurt wanneer er meer dan één mogelijke relatie bestaat tussen twee gedeelde tabellen (of tabellen downstream van een gedeelde tabel) en kan worden gezien als 'nog niet gerelateerd' in de context van de visualisatie.

Kijk naar veld S en veld T. De tabellen van deze velden zijn aan elkaar gerelateerd via de boom die wordt gedefinieerd door basistabel A en via de boom die wordt gedefinieerd door basistabel X.

In een visualisatie met alleen veld S en veld T bestaat er ambiguïteit over welke boom moet worden gebruikt om ze aan elkaar te relateren. Zonder aanvullende informatie kan Tableau niet evalueren of deze velden moeten worden gerelateerd via de boom van basistabel A of de boom van basistabel B.

Veld S en veld T zijn ambigu gerelateerd: er zijn meerdere potentiële relaties.

Ondergerelateerde ambigue velden S en T

Ambigu gerelateerde velden worden geëvalueerd als niet-gerelateerde velden omdat Tableau hun relatiepad niet duidelijk kan bepalen. In tegenstelling tot velden die werkelijk niet-gerelateerd zijn, kunnen velden die ambigu gerelateerd zijn, opgelost worden en kunnen de velden direct gerelateerd worden.

Ambiguïteit oplossen

Het oplossen van ambiguïteit wordt gedaan door een veld toe te voegen om vast te stellen welke boom moet worden gebruikt.

Voorbeeld:

  • Als een veld uit tabel A, B of C wordt toegevoegd aan een visualisatie van veld S en veld T, wordt de boom van basistabel A actief en wordt de ambiguïteit tussen veld S en veld T opgelost.
  • Als alternatief kan het gebruik van een veld uit tabel X de ambiguïteit tussen veld S en veld T oplossen tot de boom van basistabel X.
Ambigu gerelateerdAmbiguïteit opgelost tot één boom
Gerelateerd via basistabel AGerelateerd via basistabel X
OndergerelateerdGerelateerd via AGerelateerd via X

Het oplossen van ambiguïteit is vergelijkbaar met het gebruik van een FIXED-LOD-expressie. In een FIXED-LOD-expressie instrueert u Tableau tot welk detailniveau moet worden geaggregeerd door de dimensiedeclaratie te definiëren. Ambiguïteit wordt opgelost door de structuur van de visualisatie zodanig te veranderen dat slechts één boom actief wordt, waardoor Tableau wordt geïnstrueerd welke relatiepaden kunnen worden overwogen om de analyse uit te voeren.

Samenhechting versus het oplossen van ambiguïteit

Zowel samenhechting als het oplossen van ambiguïteit zijn manieren om niet-gerelateerdheid af te handelen, maar ze hebben verschillende uitkomsten:

Samenhechting

Ambiguïteit oplossen

A en X samenhechten met S

Niet-gerelateerd veld A en veld X samengehecht via dimensie S

S en T oplossen met A

Veld S en veld T geëvalueerd via de boom gedefinieerd door basistabel A

Plaatst niet-gerelateerde velden naast elkaar op basis van gedeelde kenmerkenBepaalt welk relatiepad wordt gebruikt wanneer er meerdere opties zijn

Gebruikt logica voor meerdere basistabellen om resultaten te berekenen

Gebruikt logica voor één basistabel om resultaten te berekenen

Bij de analyse zijn niet-gerelateerde tabellen betrokkenBij de analyse zijn gedeelde tabellen betrokken

Hoe joins worden gebruikt voor elk niveau van verwantschap

Nadat de verwantschap op veldniveau is bepaald, moet Tableau de resultaten evalueren om de daadwerkelijke visualisatie te creëren. Welke query's worden gebruikt om de waarden in een visualisatie te berekenen, is afhankelijk van joins. Of velden gerelateerd, niet-gerelateerd dan wel samengehecht zijn, heeft een verschillende impact op welke joins worden uitgevoerd. Houd er rekening mee dat ambigu gerelateerde velden in deze context als niet-gerelateerd worden behandeld.

Om verwantschap en joins uit te leggen, worden in dit gedeelte tabellen en de bijbehorende velden besproken, plus de waarden in deze velden. Bekijk het volgende datamodel met twee basistabellen, Classes en Clubs, en een gedeelde tabel, Students.

Een datamodel met twee basistabellen, Classes en Clubs, en een gedeelde tabel, Students

Classes

Clubs

Students

Data voor de tabel Classes weergeven, met de waarden voor drie veldenData voor de tabel Clubs weergeven, met de waarden voor drie veldenData voor de tabel Students weergeven, met de waarden voor drie velden

Velden:

  • Class, een dimensie met de waarden Nesting Basics, Advanced Songs, Flying for Fledgelings en Alarm Calls 101
  • Length, een meetwaarde
  • Student, een dimensie die wordt gebruikt om te relateren aan de tabel Students

Velden:

  • Club, een dimensie met de waarden Photography, Travel, Juggling, Art en First Aid
  • Dues, een meetwaarde
  • Student, een dimensie die wordt gebruikt om te relateren aan de tabel Students

Velden:

  • Bus rider, een dimensie met de waarden yes of no
  • Student, een dimensie met de waarden Finch, Cardinal, Sparrow, Robin en Jay. Wordt gebruikt om te relateren aan de andere twee tabellen
  • Age, een meetwaarde

Dit zeer eenvoudige model illustreert hoe de join-logica op hoog niveau wordt berekend voor datamodellen met relaties tussen meerdere feiten. Zie Hoe analyse werkt voor databronnen met meerdere tabellen die relaties gebruiken voor meer informatie over de basisprincipes van joins die worden gebruikt in datamodellen met één basistabel die op relaties zijn gebaseerd.

Moet dit voorbeeld een datamodel met meerdere basistabellen zijn?

Het kan verleidelijk zijn dit datamodel met drie tabellen in te stellen als een model met één basistabel, als Classes-Students-Clubs of Clubs-Students-Classes, of met Students als basistabel. In de regel zijn datamodellen met relaties tussen meerdere feiten bedoeld voor specifieke soorten dataschema's of analysescenario's. Als uw datamodel kenmerken heeft die het meest geschikt zijn voor een datamodel met relaties tussen meerdere feiten, stel het als zodanig in om uw basistabellen conceptueel niet-gerelateerd te houden. Als uw data dit type structuur echter niet vereisen, kan een model met één basistabel eenvoudiger te gebruiken zijn.

Alternatieve datamodelstructuren voor het voorbeeldmodel Classes-Clubs-Students

Modellen die gebouwd kunnen worden voor deze drie tabellen: (1) Classes en Clubs als basistabellen met Students als gedeelde tabel, (2) lineair, beginnend met Classes of Clubs, en (3) Students als een enkele basistabel met Classes en Clubs als downstream tabellen.

In dit specifieke geval zijn meerdere basistabellen niet echt nodig voor deze tabellen, de data of het model. We gebruiken dit model als voorbeeld om het simpel te houden, zodat de focus kan liggen op de join-logica. Of u kunt zich voorstellen dat er nog een gerelateerde tabel is, Rooms (kamers), die we eenvoudigweg negeren om te voorkomen dat de discussie te ingewikkeld wordt.

Een versie van het model Classes-Clubs-Students met een extra gedeelde tabel: Rooms

Het is echter raadzaam alleen een model met relaties tussen meerdere feiten te gebruiken als uw data dit vereisen.

Gerelateerde dimensies gebruiken inner joins

Gerelateerde dimensies zijn verbonden via inner joins. Met inner joins worden alle dimensiewaarden verwijderd die niet door beide tabellen worden gedeeld.

  • Tableau gebruikt aanvullende logica om ervoor te zorgen dat meetwaarden niet verloren gaan. In deze sectie worden alleen dimensies gebruikt om de basisprincipes te demonstreren van de manier waarop Tableau inner joins toepast op gerelateerde dimensies.

In het volgende voorbeeld ziet u hoe gerelateerde dimensies alleen rijen retourneren die aanwezig zijn in de data. Er bevinden zich geen studenten in de les Alarm Calls 101, dus deze is niet te vinden in de resultaten. Cardinal en Jay zitten in geen enkele les en zijn dus niet aanwezig in de resultaten.

Een visualisatie met Class en Student als inner join, twee rijen voor Finch (Advanced Songs, Nesting Basics), twee rijen voor Robin (Flying for Fledgelings, Nesting Basics) en twee rijen voor Sparrow (Advanced Songs, Nesting Basics)

Niet-gerelateerde dimensies gebruiken cross joins

Niet-gerelateerde dimensies (onafhankelijk, zonder samenhechtingsdimensie) zijn verbonden via cross joins.

Bij een cross join wordt elke waarde uit de ene dimensie gecombineerd met elke waarde uit de andere dimensie, zelfs als de resulterende combinatie niet daadwerkelijk in de data voorkomt. In dit voorbeeld voegt de cross join een rij toe voor elke mogelijke combinatie van Class en Club.

Een visualisatie met een cross join van Class en Club met rijen voor elke combinatie van Advanced Songs/Alarm Calls 101/Flying for Fledglings/Nesting Basics met Art/First Aid/Juggling/Photography. Het pictogram Niet-gerelateerd wordt weergegeven op beide dimensievelden op de container Rijen

Het is belangrijk om in uw analyse te herkennen wanneer er sprake is van een cross-join. Hoewel er een rij is voor Advanced Songs + First Aid in de resultatentabel voor de cross join, zijn er feitelijk geen studenten in deze combinatie van activiteiten (het bewijs hiervan zien we in het samenhechtingsvoorbeeld in de volgende sectie).

Waarom is het belangrijk om te erkennen dat niet alle cross-join-resultaten op de data zijn gebaseerd? Stel u voor dat u een rooster voor lessen en clubs zodanig probeert op te stellen dat er voor geen conflicten voor studenten ontstaan. Er zijn geen studenten in Advanced Songs en First Aid, dus u kunt dit resultaat negeren en die les en club tegelijkertijd inplannen. De cross join vertegenwoordigt geen combinaties van waarden die daadwerkelijk in de data voorkomen.

Samengehechte dimensies gebruiken outer joins

Niet-gerelateerde dimensies – in de aanwezigheid van een samenhechtingsdimensie – zijn verbonden via outer joins.

In dit voorbeeld zijn zowel de tabel Classes als de tabel Clubs gerelateerd aan de gedeelde tabel Students, maar niet aan elkaar. De velden Class en Club zijn dus niet-gerelateerd. Door de Student-dimensie toe te voegen, weet Tableau welke waarden uit Class en welke waarden uit Club in de analyse naast elkaar moeten worden geplaatst. We noemen dit outer-join-gedrag samenhechting.

Een visualisatie die de resultaten toont van een buitenste join van de binnenste join Student-Class en de binnenste join Student-Club. Het pictogram Niet-gerelateerd wordt weergegeven op de Class- en Club-velden op de container Rijen. Een veld voor Student staat op de eigenschap Kleur van de kaart Markeringen en heeft geen Niet-gerelateerd-pictogram. Niet alle combinaties van lessen en clubs zijn vertegenwoordigd en er zijn rijen voor studenten en clubs zonder les

Samenhechting is vergelijkbaar met datacombinatie, omdat er tussenresultaten zijn die weer bijeen worden gebracht voor de totaalresultaten. In tegenstelling tot combinatie is samenhechting echter een outer join, geen left join, en worden aan geen van beide kanten waarden verwijderd. Er is geen concept van primaire of secundaire databronnen als het om één databron gaat, dus beide niet-gerelateerde velden krijgen gelijke prioriteit.

Tussenresultaten zijn verbonden met outer joins

Wat zit er in de outer join voor samengehechte velden? Er wordt beurtelings een onmiddellijke inner join berekend voor elk van de niet-gerelateerde velden en het samenhechtingsveld. Vervolgens worden deze tussenresultaten via een outer join verbonden op basis van de waarden van de samenhechtingsdimensie.

Voorbeeld

Een inner join voor Student en Class...

Een resultatentabel voor drie waarden van Students en drie waarden van Classes

...en een inner join voor Student en Club...

Een resultatentabel voor vier waarden van Students en vijf waarden van Clubs

...worden dan via een outer join verbonden op Student.

Een resultatentabel voor vier waarden van Students, drie waarden van Classes en vijf waarden van Clubs

Extra joins om meetwaarden te behouden

Naast de joinlogica voor dimensies kunnen meetwaarden extra joins introduceren. Toen relaties voor het eerst in Tableau werden geïntroduceerd, was een van de kernprincipes dat meetwaarden niet verloren gaan. Dit principe wordt ook gehandhaafd in datamodellen met relaties tussen meerdere feiten.

De essentiële details zijn:

  • Meetwaarden worden alleen uitgesplitst op gerelateerde dimensies.
  • Meetwaarden worden herhaald voor niet-gerelateerde dimensies.
  • Dimensiewaarden die in visualisaties met alleen dimensies zouden worden verwijderd, kunnen worden geretourneerd als er relevante meetwaarden aan zijn gekoppeld.

Opmerking: houd er rekening mee dat meetwaarden aggregaties zijn. Ze worden berekend op het detailniveau (de granulariteit) zoals bepaald door de combinatie van dimensies in de visualisatie. In dit verband wordt gesproken van een meetwaarde die is uitgesplitst op een dimensie. Wanneer een meetwaarde zonder dimensies wordt gebruikt, is deze zogenaamd tabelgericht. Dit betekent dat de waarde van de meetwaarde de volledig geaggregeerde waarde is. Zodra we een dimensie in de visualisatie gebruiken, wordt de meetwaarde gedetailleerder opgesplitst op basis van de dimensiewaarden. De waarde van een meetwaarde in een analyse hangt daarom af van de context van de dimensies.

Gerelateerde meetwaarden

Bekijk de subset van dimensiewaarden die worden geretourneerd voor een inner join op de gerelateerde dimensies Student en Class. Er zijn drie Student-waarden: Finch, Robin en Sparrow. Er zijn drie Class-waarden: Advanced Songs, Nesting Basics en Flying for Fledgelings.

Een resultatentabel voor een inner join tussen Student en Class

Als we de meetwaarde Length uit de tabel Class toevoegen, zien we dat alle vier lessen worden weergegeven en dat er een Null-waarde is voor Student. Voor elke les wordt Length (duur) weergegeven op het niveau van Class.

Er verschijnt een Null-waarde voor Student ook al zijn dimensies via een inner join verbonden

Als we in plaats hiervan de meetwaarde Age uit de tabel Students toevoegen, zien we dat alle vijf studenten worden weergegeven en dat er twee Null-waarden zijn voor Class. Alle studenten blijven in de resultaten behouden, zelfs als ze niet aanwezig zijn in een les. Voor elke student wordt de leeftijd (Age) weergegeven op het niveau van Student.

Er verschijnt een Null-waarde voor lessen ook al zijn de dimensies via een inner join verbonden

Niet-gerelateerde meetwaarden

Meetwaarden worden herhaald voor niet-gerelateerde dimensiewaarden.

Als we kijken naar de meetwaarde Length uit de tabel Classes en de niet-gerelateerde dimensie Club, is de meetwaarde tabelgericht en wordt deze herhaald voor alle dimensiewaarden van Club.

Een tabelgerichte meetwaarde die wordt herhaald voor niet-gerelateerde dimensiewaarden

Als er een samenhechtingsdimensie aanwezig is, kunnen meetwaarden zowel worden opgesplitst als herhaald.

De meetwaarde Age komt hier uit de tabel Students en is uitgesplitst op het niveau van Student. Elke keer dat een student wordt herhaald op basis van de dimensies voor Class en Club, wordt ook de Age-waarde herhaald.

Problemen oplossen

Overwegingen bij het werken met datamodellen met relaties tussen meerdere feiten

Berekeningen op rijniveau

Berekeningen op rijniveau kunnen alleen verwijzen naar velden die dezelfde upstream basistabel delen. Dat wil zeggen dat berekeningen op rijniveau niet voor meerdere bomen kunnen worden uitgevoerd.

Gecombineerde velden

Alle velden in een gecombineerd veld moeten een gemeenschappelijke upstream tabel hebben. Dat wil zeggen dat u geen gecombineerd veld kunt maken met velden die zich in verschillende bomen bevinden.

Sets

Sets kunnen alleen worden gemaakt met een definitie die velden omvat die dezelfde upstream basistabel delen. In een visualisatie kan de optie Toevoegen aan set echter beschikbaar zijn vanaf een markering wanneer die markering wordt gedefinieerd door velden die niet gerelateerd zijn aan de velden die worden gebruikt om de set te definiëren. Als u Toevoegen aan set kiest, voegt Tableau alleen de gerelateerde velden toe aan de setdefinitie. Dit wijkt af van het gedrag van Toevoegen aan set in databronnen met één basistabel, waarbij Toevoegen aan set alles toevoegt waardoor de markering wordt gedefinieerd.

INCLUDE-LOD-expressies valideren

INCLUDE-LOD-expressies kunnen niet worden geëvalueerd voor meerdere niet-gerelateerde velden. Omdat de verwantschap tussen velden blad voor blad wordt geëvalueerd, kan er een geldige LOD-expressie in het deelvenster Data of de berekeningseditor staan, die ongeldig wordt in de context van een specifieke visualisatie (in de aanwezigheid van een niet-gerelateerde dimensie). Wanneer dit gebeurt, wordt het LOD-veld rood. U kunt de LOD-expressie bijwerken om conflicten met niet-gerelateerde velden te verwijderen of de structuur van de visualisatie te wijzigen. U kunt de LOD-expressie ook uit de visualisatie te verwijderen.

Gepubliceerde databronnen bijwerken

U kunt het best een kopie maken van een bestaande gepubliceerde databron als u van plan bent deze in een datamodel met relaties tussen meerdere feiten te veranderen terwijl niet alle verbonden werkmappen het nieuwe datamodel nodig hebben. Werk de bestaande versie van de databron niet bij, tenzij alle bijbehorende werkmappen de nieuwe tabellen nodig hebben. Publiceer de gewijzigde databron als een nieuwe databron en maak er nieuwe werkmappen van. Hierdoor voorkomt u dat de bestaande werkmappen worden geconverteerd om VDS in plaats van een dataserver te gebruiken wanneer ze de functionaliteit niet nodig hebben, zodat er geen kans op prestatieverlies bestaat.

Bekende problemen in 2024.2

Extracten

Waarschuwing: databronnen met relaties tussen meerdere feiten moeten liveverbindingen zijn, geen extracten.

Lokale databron (in een werkmap): als u probeert een databron met relaties tussen meerdere feiten te extraheren, wordt de foutmelding 'Er is geen dergelijke tabel' weergegeven.

Gepubliceerde databron: het extraheren van een gepubliceerde databron met relaties tussen meerdere feiten lijkt te slagen, maar veldwaarden kunnen worden verwisseld.

Er is een geplande oplossing voor dit gedrag.

Verwantschapsindicatoren met meerdere Markeringen-kaarten

Wanneer een visualisatie wordt gemaakt met meerdere meetwaarden op de container Rijen of Kolommen, krijgt elke meetwaarde zijn eigen Markeringen-kaart. De logica die wordt gebruikt om verwantschapsindicatoren te bepalen (het pictogram Niet-gerelateerd, de tekst in knopinfo en het waarschuwingsvenster voor verwantschap) levert mogelijk niet de verwachte resultaten op, afhankelijk van welke Markeringen-kaart geopend is. De visualisatie zelf wordt echter correct berekend op basis van de verwantschap van elk paar velden. Er is een geplande oplossing voor dit gedrag.

EXCLUDE-LOD-expressies

Alleen INCLUDE-LOD's dienen te worden gevalideerd als er niet-gerelateerde velden aanwezig zijn. Onder dezelfde omstandigheden kunnen EXCLUDE-LOD's echter ook ten onrechte als niet geldig worden gemarkeerd. Er is een geplande oplossing voor dit gedrag.

Geneste gebruikersberekeningen

Geneste gebruikersberekeningen zijn niet beschikbaar in gepubliceerde databronnen met een datamodel met relaties tussen meerdere feiten. Er is een geplande oplossing voor dit gedrag.

BatchQueryProcessor

BatchQueryProcessor moet zijn ingeschakeld om datamodellen met relaties tussen meerdere feiten te ondersteunen. Dit is verwacht gedrag en er is momenteel geen oplossing gepland.

Tableau Pulse

Pulse werkt mogelijk niet met datamodellen met relaties tussen meerdere feiten. Het kan zijn dat u geen statistiekdefinitie kunt maken, of dat gemaakte statistieken leeg zijn. Dit is geen verwacht gedrag, maar er is momenteel nog geen geplande oplossing.

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