Join-resultaten controleren in het dataraster
Nadat u een join op het canvas hebt gemaakt, controleert u het dataraster om er zeker van te zijn dat de join de gewenste resultaten oplevert. Als het dataraster onverwachte data weergeeft, moet u mogelijk de join aanpassen.
Resultaten in het dataraster
Geen data: Als er geen data in het dataraster worden weergegeven, moet u mogelijk het join-type of een joinveld wijzigen dat in de joinvoorwaarde wordt gebruikt. Als u vermoedt dat er een discrepantie is tussen de velden in de join, gebruikt u in plaats daarvan een berekening. Zie Berekeningen gebruiken om opmaakverschillen tussen velden in een join op te lossen voor meer informatie.
Dubbele data: Als u dubbele data ziet, kunt u een paar dingen doen. Overweeg een relatie tussen de tabellen te maken in plaats van een join. Zie Uw data relateren(Link wordt in een nieuw venster geopend) voor meer informatie.
Ontbrekende data: Als er data ontbreken in het dataraster, moet u mogelijk het join-type of een joinveld wijzigen dat in de joinvoorwaarde wordt gebruikt. Nogmaals, als u vermoedt dat er een discrepantie is tussen de velden in de join, gebruikt u in plaats daarvan een berekening. Zie Berekeningen gebruiken om opmaakverschillen tussen velden in een join op te lossen voor meer informatie.
Veel null-waarden: Als u veel onverwachte null-waarden ziet, moet u mogelijk het join-type wijzigen van het Volledig buiten-type naar het Binnen-type.
Alle null-waarden voor één tabel: Als alle waarden voor één tabel null zijn, zijn er geen overeenkomsten tussen de tabellen waarvoor u een join maakt. Als u dit niet verwacht, kunt u overwegen het join-type te wijzigen.
Wanneer de velden in een joinvoorwaarde niet overeenkomen (er is sprake van een discrepantie tussen de waarden in de velden die in een joinvoorwaarde worden gebruikt), kan het dataraster weinig of helemaal geen data weergeven. Er kunnen verschillende redenen zijn waarom velden niet overeenkomen, maar vaak wordt dit veroorzaakt door verschillen in de opmaak van de tekenreekswaarden of datumwaarden in de velden. In veel gevallen kunt u discrepanties tussen de velden in uw join oplossen door een berekening te gebruiken.
De meeste functies kunt u gebruiken in een berekening om een veld in de joinvoorwaarde te maken en te vervangen, met uitzondering van aggregaatfuncties en tabelberekeningsfuncties.
Opmerking: Joinberekeningen worden niet ondersteund voor QuickBooks Online, Marketo, Oracle Eloqua, Anaplan, ServiceNow ITSM en Web Data Connectors.
Discrepantie in tekenreeks
Een veelvoorkomend scenario van discrepanties bij het werken met tekenreeksdata is wanneer een van de velden aan de ene kant van de joinvoorwaarde gelijk is aan twee of meer velden aan de andere kant van de joinvoorwaarde. In dit geval kunt u een berekening gebruiken om de twee velden te combineren, zodat de opmaak ervan overeenkomt met het andere veld in de joinvoorwaarde.
Stel bijvoorbeeld dat u een join wilt maken van twee tabellen die de volgende data bevatten:
Bibliotheekklant | Contact | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
De gemeenschappelijke velden tussen de twee tabellen lijken de naam te zijn. In de tabel Bibliotheekklant staan de voor- en achternaam echter in aparte kolommen, terwijl in de tabel Contact de voor- en achternaam in dezelfde kolom staan. Om een join te maken van de tabellen op basis van namen, kunt u een berekening aan de linkerkant van de joinvoorwaarde gebruiken om de kolommen voor de voornaam en de achternaam samen te voegen.
Het resultaat is een berekend veld aan de linkerkant van de joinvoorwaarde dat alleen toegankelijk is via het dialoogvenster Een join maken. Met deze berekening wordt het veld in de tabel Bibliotheekklant omgezet naar een opmaak die nu overeenkomt met de opmaak van het veld in de tabel Contact aan de rechterkant van de joinvoorwaarde.
Door de berekening in de join uit te voeren, ontstaat de volgende gecombineerde tabel:
Voornaam | Achternaam | Vestiging | Lid sinds | Geleende eenheden | Tarieven | Voorgestelde limiet | Naam | Telefoonnummer |
---|---|---|---|---|---|---|---|---|
Alan | Wang | Noord | 2000 | 1 | 0 | 15 | Alan Wang | 555-0356 |
Fred | Suzuki | Noord | 2000 | 52 | 0,90 | 15 | Fred Suzuki | 555-0188 |
Discrepantie in datum
Een veelvoorkomend scenario van discrepanties bij het werken met datumdata doet zich voor wanneer de datumwaarden in één veld van de joinvoorwaarde op een ander detailniveau worden vastgelegd dan het andere veld in de joinvoorwaarde. In dit geval kunt u een berekening in de joinvoorwaarde gebruiken om de opmaak van het veld aan één kant van de joinvoorwaarde te wijzigen, zodat de opmaak overeenkomt met het andere veld in de joinvoorwaarde.
Stel dat u bijvoorbeeld de volgende twee tabellen met data hebt:
Projectorverhuur | Bibliotheekklant | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Als u meer wilt weten over het gedrag van nieuwe klanten, kunt u een join maken van de tabel Bibliotheekklant met de tabel Projectorverhuur. Dit kan inzicht geven in welke bibliotheekdiensten nieuwe leden motiveren. De gemeenschappelijke velden tussen de twee tabellen lijken Datum en Lid sinds te zijn. De datumwaarden in elk veld worden echter op verschillende detailniveaus vastgelegd. Om een join te maken van deze tabellen op basis van hun respectievelijke datumvelden, gebruikt u een combinatie van datumfuncties in een berekening aan beide kanten van de joinvoorwaarde om het detailniveau in elk veld overeen te laten komen.
| DATE('01/01/'+STR([Member since])) |
Door de berekening in de join uit te voeren, ontstaat de volgende gecombineerde tabel:
Datum | Reserveringstype | Aanvrager-ID | ID | Voornaam | Achternaam | Vestiging | Lid sinds | Geleende eenheden | Tarieven | Voorgestelde limiet |
---|---|---|---|---|---|---|---|---|---|---|
1-1-2000 | Individueel | 233445589 | 232502870 | Alan | Wang | Noord | 2000 | 1 | 0,00 | 15 |
1-1-2000 | Individueel | 233445589 | 233445589 | Fred | Suzuki | Noord | 2000 | 52 | 0,90 | 15 |
1-1-2000 | Individueel | 233445589 | 233445566 | Ashley | Garcia | Zuid | 2000 | 243 | 11,30 | 15 |
1-1-2000 | Individueel | 233445589 | 233448978 | John | Smith | Noord | 2000 | 36 | 3,50 | 15 |
Om te bepalen of een klant de projector in hetzelfde jaar heeft gehuurd als waarin hij of zij zijn of haar lidmaatschap is gestart, voegt u een extra component toe aan de join op basis van de ID.
Het resultaat van de aanvullende joinvoorwaarde laat zien dat slechts één bibliotheekklant zijn lidmaatschap mogelijk is begonnen om een projector te huren.
Datum | Reserveringstype | Aanvrager-ID | ID | Voornaam | Achternaam | Vestiging | Join gemaakt | Geleende eenheden | Tarieven | Voorgestelde limiet |
---|---|---|---|---|---|---|---|---|---|---|
1-1-2000 | Individueel | 233445589 | 233445589 | Fred | Suzuki | Noord | 2000 | 52 | 0,90 | 15 |