Relatiequery's optimaliseren met prestatieopties
Prestatieopties zijn optionele instellingen die de kardinaliteit (uniciteit) en referentiële integriteit (overeenkomende records) tussen de twee tabellen in een relatie definiëren. Deze instellingen helpen Tableau om query's te optimaliseren tijdens analyses.
- Als u niet zeker weet wat u moet kiezen, gebruik dan de aanbevolen standaardinstellingen aangegeven door Tableau. Het gebruik van de standaardinstellingen is veilig en genereert tijdens de analyse automatisch de juiste aggregaties en joins. Als u de kardinaliteit of referentiële integriteit niet weet, hoeft u deze instellingen niet te wijzigen.
- Als u de vorm van uw data kent, kunt u deze instellingen optioneel wijzigen om uniciteit en overeenkomsten tussen de records in de twee tabellen weer te geven.
In veel analytische scenario's levert het gebruik van de standaardinstellingen voor een relatie alle data op die u nodig hebt voor analyse. In sommige scenario's wilt u mogelijk de instellingen voor prestatieopties aanpassen om uw data nauwkeuriger te beschrijven. Zie Uw data relateren(Link wordt in een nieuw venster geopend) en de Tableau-blogpost: Relaties, deel 1: Introductie van nieuwe datamodellering in Tableau(Link wordt in een nieuw venster geopend) (in het Engels) voor meer informatie over het gebruik van relaties om data te combineren en analyseren.
Wat de instellingen kardinaliteit en referentiële Integriteit betekenen
Opties voor kardinaliteit
De instellingen voor kardinaliteit bepalen of Tableau tabeldata verzamelt voor of na het automatisch samenvoegen van de data tijdens de analyse.
- Selecteer Veel als de waarden in de velden niet uniek zijn, of wanneer u dit niet weet. Tableau aggregeert de relevante data voordat er tijdens de analyse joins worden gevormd.
- Selecteer Een als veldwaarden uniek zijn. Tijdens de analyse worden de relevante data samengevoegd voordat ze worden geaggregeerd. Het juist instellen van deze optie, optimaliseert query's in de werkmap als de veldwaarden in de relatie uniek zijn. Maar het selecteren van Een wanneer veldwaarden niet uniek zijn, kan ertoe leiden dat dubbele aggregatiewaarden in de weergave worden getoond.
Opmerking: Door Een te selecteren, worden records behandeld alsof elke sleutelwaarde uniek is en er hoogstens één rij is met een null-waarde.
Opties voor referentiële integriteit
De instellingen voor referentiële integriteit bepalen het type join dat wordt gebruikt om de dimensiewaarden voor een meetwaarde op te halen tijdens de analyse.
- Selecteer Sommige records komen overeen als sommige waarden in het veld niet overeenkomen met de andere tabel, of als u het niet weet. Tijdens de analyse gebruikt Tableau buitenste joins om dimensiewaarden voor een meetwaarde op te halen. Alle meetwaarden worden in de weergave getoond, zelfs niet-overeenkomende meetwaarden.
- Selecteer Alle records komen overeen als de waarden in het veld gegarandeerd overeenkomen met de andere tabel. Met deze instelling worden tijdens de analyse minder en eenvoudigere joins gegenereerd en worden query's geoptimaliseerd. Mogelijk ziet u inconsistente resultaten tijdens de analyse (niet-overeenkomende waarden zijn verwijderd of ontbreken in de weergave) als er niet-overeenkomende waarden in deze tabel staan.
Opmerkingen: Door Alle records komen overeen te selecteren, worden records behandeld alsof er geen null-waarden bestaan in de velden die voor de relatie worden gebruikt. Tijdens de analyse gebruikt Tableau binnenste joins om dimensiewaarden voor een meetwaarde op te halen. Standaard zal Tableau nooit null-sleutels samenvoegen.
Zie Kardinaliteit en referentiële integriteit voor meer informatie over kardinaliteit en referentiële integriteit als concepten.
Waar zijn de joins gebleven?
U kunt nog steeds joins tussen tabellen opgeven in de fysieke laag van een databron. Dubbelklik op een logische tabel om naar het join-canvas te gaan.
Elke logische tabel op het hoogste niveau bevat ten minste één fysieke tabel. Open een logische tabel om de fysieke tabellen te bekijken, bewerken of er joins tussen te maken. Klik met de rechtermuisknop op een logische tabel en klik vervolgens op Openen. U kunt ook dubbelklikken op de tabel om deze te openen.
Wanneer u een databron maakt, bestaat deze uit twee lagen. De bovenste laag is de logische laag van de databron. U combineert data tussen tabellen in de logische laag met behulp van relaties.
De volgende laag is de fysieke laag van de databron. U combineert data tussen tabellen in de fysieke laag met joins. Zie Logische en fysieke tabellen in het datamodel(Link wordt in een nieuw venster geopend) voor meer informatie.
Tips voor het gebruik van prestatieopties
Als u de vorm van uw data weet, kunt u de optionele instellingen in prestatieopties gebruiken om de kardinaliteit van de tabellen ten opzichte van elkaar vast te stellen (één-op-één, één-op-veel, veel-op-veel) en referentiële integriteit aan te geven (waarden uit de ene tabel komen altijd overeen met de andere tabel).
In plaats van de instellingen in prestatieopties te beschouwen als 'ja' en 'nee', kunt u ze beschouwen als 'ja' en 'ik weet het niet'. Als u zeker weet dat de waarden van een tabel uniek zijn, selecteert u Een. Als u zeker weet dat alle records in de ene tabel overeenkomen met een of meer records in de andere tabel, selecteert u Alle records komen overeen. Anders laat u de standaardinstellingen zoals ze zijn.
Als u niet zeker bent van de vorm van uw data, gebruik dan de standaardinstellingen. Wanneer Tableau deze instellingen niet in uw data kan detecteren, zijn de standaardinstellingen:
- Kardinaliteit: Veel-op-veel
- Referentiële integriteit: Sommige records komen overeen
Als Tableau sleutelrelaties of referentiële integriteit in uw data detecteert, worden die instellingen gebruikt en aangegeven als 'gedetecteerd'.
Om de standaardinstellingen opnieuw toe te passen, klikt u op Terugzetten naar standaardinstellingen.
Definities van termen
Kardinaliteit verwijst naar de uniciteit van data in een veld (kolom) of combinatie van velden. Wanneer de tabellen die u wilt analyseren veel rijen met data bevatten, kunnen query's traag zijn (en worden de prestaties van de algehele databron beïnvloed). We raden u daarom aan een methode te kiezen voor het combineren van data op basis van de kardinaliteit van de gerelateerde kolommen tussen tabellen.
- Lage kardinaliteit: Wanneer gerelateerde kolommen veel herhaalde data bevatten. Voorbeeld: een tabel met de naam Producten kan een kolom Categorie bevatten met drie waarden: Meubels, Kantoorartikelen en Technologie.
- Hoge kardinaliteit: Wanneer gerelateerde kolommen zeer unieke data bevatten. Voorbeeld: een tabel met de naam Bestellingen kan een kolom Bestelling-ID bevatten die een unieke waarde bevat voor elke productbestelling.
Referentiële integriteit betekent dat de ene tabel altijd een overeenkomende rij in de andere tabel heeft. Voorbeeld: een tabel Verkoop heeft altijd een overeenkomende rij in de tabel Productcatalogus.