Cursus
Data is een onmisbaar onderdeel van het werk van data scientists. Van de omzet en winst van een bedrijf tot aan passagiers op een luchthaven: alles is data. Al deze data wordt vastgelegd en meestal opgeslagen in bestanden die we databases noemen. Een kerntaak van een data scientist is toegang krijgen tot data uit databases en die vervolgens analyseren. De meeste ETL-tools die helpen bij het opschonen, voeren onder water eigenlijk SQL-commando’s uit. Dus enige kennis van SQL kan een waardevolle troef zijn voor een Tableau-gebruiker.
Doel
Naast de vele voordelen voor visualisatie biedt Tableau ook uitstekende out-of-the-box verbindingsmogelijkheden. Tableau kan eenvoudig integreren met DBMS’en zoals SQL. Dat levert extra voordelen op qua functionaliteit en is handig voor data scientists die gewend zijn in SQL te werken. Tableau biedt een geoptimaliseerde, live connector naar SQL Server, zodat we grafieken, rapporten en dashboards kunnen maken terwijl we rechtstreeks met onze data werken.
Vereisten
Dit artikel gaat ervan uit dat je enige bekendheid hebt met Tableau, de eigenschappen en hoe je het gebruikt voor analyse. Omdat dit artikel zich alleen richt op SQL met Tableau, raden we aan om de volgende bestaande tutorials door te nemen. Die vormen een uitstekende inleiding tot zowel Tableau als SQL:
SQL-tutorial: zo schrijf je betere queries
1. Tableau
Tableau Software is een Amerikaans softwarebedrijf uit Seattle dat interactieve datavisualisatieproducten maakt gericht op BI. De belangrijkste producten van Tableau zijn Tableau Desktop, Tableau Public en Tableau Online. Je leest er hier meer over. In deze tutorial werken we met Tableau Desktop (14 dagen proefversie beschikbaar), omdat de gratis Tableau Public-versie geen SQL-connectiviteit biedt.
Installatie
Download de Tableau Desktop-editie van de officiële website. Volg de installatie-instructies en als na het klikken op het Tableau-pictogram het volgende scherm verschijnt, ben je klaar om te starten.

2. Relationele databases: een korte introductie
Het databasebeheersysteem (DBMS) is de software die met eindgebruikers, applicaties en de database zelf interageert om data vast te leggen en te analyseren. Het DBMS dat voor relationele databases wordt gebruikt, heet een Relational Database Management System (RDBMS).
Een relationele database bestaat uit een of meer tabellen met informatie. De rijen in de tabel heten records en de kolommen in de tabel heten velden of attributen. Een database met twee of meer gerelateerde tabellen heet een relationele database, oftewel onderling gerelateerde data. De belangrijkste RDBMS’en zijn Oracle, MySQL, Microsoft SQL Server, PostgreSQL, Microsoft Access en SQLite.
Het kernidee achter een relationele database is dat je data wordt opgesplitst in logische thema’s, met één tabel die de records van elk thema beschrijft.

Bron ## SQL SQL, of de Structured Query Language, is ontwikkeld voor gebruik met RDBMS’en. Het is een declaratieve taal voor het manipuleren van data en voor toegang tot de database. SQL wordt gebruikt om data in databases in te voegen, te wijzigen, te updaten en op te vragen. SQL kun je zien als een taal voor databases. # 3. Verbinden met SQL Server In onze Microsoft SQL Server-data zit verborgen waarde die onder standaardrapporten en complexe BI-tools verscholen blijft. Tableau levert inzichten door iedereen in staat te stellen geavanceerde visuele analyses van SQL Server-data te doen. We kunnen Tableau live verbinden met SQL Server voor geoptimaliseerde, platformspecifieke queries, of data direct in Tableau’s analytische engine laden om de database te ontlasten. Laten we stap voor stap bekijken hoe je een SQL Server-database met Tableau Desktop verbindt en die vervolgens gebruikt voor visualisaties. ## Voorbeeld-database Voor de demo gebruiken we een openbaar toegankelijke SQL Server-instantie op AWS en een database die is gebaseerd op Tableau’s ingebouwde Superstore-dataset. Die bevat informatie over producten, omzet, winst, enzovoort. Ons doel als data-analisten is de data te analyseren en kritieke verbeterpunten te vinden binnen dit fictieve bedrijf. Deze SQL Server-instantie wordt gehost door Ken Flerlage, die regelmatig blogt voor Tableau-gebruikers. ## Toegang tot de voorbeeld-database - Installeer SQL Server Management Studio (SSMS). SSMS is een gratis, geïntegreerde omgeving voor het beheren van elke SQL-infrastructuur. Met SSMS kun je de data-tiercomponenten van je applicaties implementeren, monitoren en upgraden, en ook queries en scripts bouwen. - Nadat je het hebt gedownload en geïnstalleerd, zie je het volgende scherm dat om specifieke inloggegevens vraagt.

Voer de volgende inloggegevens in:
Server Name: ec2-52-14-205-70.us-east-2.compute.amazonaws.com
Authentication: SQL Server Authentication
Login: SQL
Password: SQL
Je krijgt nu ‘Read Only’-toegang tot de database SuperStoreUS.

In ons voorbeeld is ec2–52–14–205–70.us-east-2.compute.amazonaws.com de naam van de instantie, SuperstoreUS en Test zijn de databases, en Orders, Customers enz. zijn de tabellen binnen de SuperstoreUS-database. Er kunnen dus meerdere instanties zijn, en elke instantie kan weer meerdere databases bevatten, die op hun beurt meerdere tabellen kunnen hebben.

4. SQL-data importeren in Tableau
De verbinding instellen
Open Tableau Desktop en ga naar het startscherm. In het verbindingspaneel kun je kiezen uit veel verschillende databronnen die je met Tableau kunt koppelen. We verbinden met Microsoft SQL Server.

Als je op de optie Microsoft SQL Server klikt, opent een nieuw scherm dat vraagt met welke server je Tableau wilt verbinden. Vul de gegevens in en er opent een vertrouwd Tableau-werkblad.

Nu kun je kiezen uit de lijst met beschikbare databases. Hier selecteren we de SuperStore US-database.

Je kunt nu de gewenste tabel naar het werkgebied slepen. Laten we de tabel orders toevoegen voor verdere analyse. In het voorbeeldvenster kun je kiezen voor Nu bijwerken, waarmee je de preview handmatig laadt, of voor Automatisch bijwerken.

Data ophalen uit meerdere tabellen binnen dezelfde database
Het is ook mogelijk om in Tableau data uit meer dan één tabel op te halen via joins. Joinen betekent het combineren van tabellen die door een of meer gemeenschappelijke velden aan elkaar gerelateerd zijn. Zo kun je bijvoorbeeld Orders en Returns joinen omdat ze een gemeenschappelijke kolom Order-ID hebben. Een join maakt feitelijk een virtuele tabel door kolommen uit verschillende tabellen naast elkaar te zetten.


Als de analyse vereist dat je met data uit meerdere bronnen werkt, heet dat data blending. Meer over blending lees je hier.

Blend #
5. Custom SQL
Met Custom SQL bepaal je zelf welke data je in Tableau wilt binnenhalen. Deze functie draait niet zozeer om het schrijven van SQL-queries, maar vooral om het definiëren van de dataset. Zo definieer je nieuwe Custom SQL: - Klik links op het tabblad Custom SQL; er opent een dialoogvenster. - Schrijf in het dialoogvenster de aangepaste query die je wilt uitvoeren. - Werk de resultaten bij; we krijgen nu alleen orders waar de hoeveelheden groter zijn dan 4. - Ga vervolgens naar je werkblad en ga aan de slag in Tableau.

Dit was een eenvoudige query omdat de data beperkt is. Je kunt echter ook complexe queries uitvoeren.
6. Datasourcefilters
Net als met Custom SQL kun je ook met datasourcefilters specifieke data in Tableau ophalen. Zo werk je met deze filters.
- Sleep de tab
Ordersnaar het werkgebied. De tabel Orders bevat een veldRegiondat de vier regio’s in de VS aangeeft waar de producten worden verkocht. - Stel dat we alleen de orders voor de West- en Central-regio willen. Ga rechtsboven naar filters en klik op
Toevoegen, enNogmaals toevoegen. - Er verschijnt een lijst met velden. Selecteer het veld
Regionof een ander veld naar keuze. - Je ziet nu een lijst met mogelijke waarden voor het gekozen veld. Selecteer de gewenste waarden en klik op OK.
- Dit levert de gefilterde data op vanaf het verbindingsniveau.
Houd er rekening mee dat zowel Custom SQL-queries als datasourcefilters alleen voor specifieke use-cases moeten worden gebruikt. De beste aanpak is meestal eerst de data met Tableau te verbinden en daarna de filters binnen Tableau toe te passen.

7. Analyse in Tableau
Nadat je de data uit SQL Server in Tableau hebt gehaald, kun je die eenvoudig in Tableau analyseren. Laten we de data in ons werkblad op meerdere manieren bekijken:
- We kunnen de omzet per staat analyseren.

- Of we zoeken de staten waar de omzet hoger is dan 5000.

- Een andere analyse is de relatie tussen omzet en winst.

De analyse in Tableau nadat de data uit SQL Server is opgehaald, is dus vrij rechttoe rechtaan, net als elke andere standaardanalyse.
8. Conclusie
SQL en Tableau samen tillen data-analyse naar een hoger niveau. We kunnen SQL Server eenvoudig met Tableau verbinden en de data er direct in ophalen. Tableau laat gebruikers met één klik schakelen tussen verbindingen om in-memory queries op een grotere dataset toe te passen. SQL is een erg nuttige tool en gecombineerd met de expertise van Tableau maakt het je analyses krachtiger en informatiever.
Wil je meer leren over SQL? Volg dan DataCamp’s cursus Intro to SQL for Data Science.
