Binnen het AdventureWorks Data Warehouse is veel data aanwezig, maar niet alle data. Het blijkt dat voor specifieke historische verkoopcijfers uit 2014 er nog extra data uit een oud systeem zijn, die niet in het Data Warehouse aanwezig zijn. Nu heeft de beheer-afdeling CSV-exports hiervan gemaakt, in de hoop dat jij deze inzichtelijk kunt maken in een rapport.
In deze module laden we CSV-data in. In een CSV-bestand is weinig kennis over bijvoorbeeld datatypes. Maar ook de manier waarop gegevens in een CSV-bestand opgeslagen staat kan verschillen. Daarom kun je hier soms tegen uitdagingen aanlopen. We kijken daarom alvast een klein beetje naar Power Query om deze uitdagingen het hoofd te bieden. Ten slotte maken we een eerste visualisatie op deze nieuwe data.
Start Power BI Desktop met een nieuw, leeg rapport.
Power BI maakt nu een inschatting van de structuur van het CSV-bestand. CSV is echter niet het meest duidelijke datatype. Wanneer we bijvoorbeeld in het CSV-bestand kijken, zien we daar op regel 1 het getal 26324.3267
Wat betekent 26324.3267?
Power BI maakt een aanname op basis van de landinstellingen van Windows: in een Nederlandse Windows-installatie zal hij de aanname maken dat een punt een duizendtalscheiding is, en een komma de scheiding decimale waarden. Maar dit CSV-bestand is afkomstig uit een Engelstalig softwarepakket, dus die vlieger gaat niet op:
Het Power Query venster opent zich nu.
Aan de rechterzijde zie je onder Applied steps de stappen die Power BI heeft genomen om je CSV-bestand te verwerken.
Met het verwijderen van de Changed Type stap hebben we de informatie over datatypes weggegooid. Power BI weet nu niet meer wat een getal of een datum is, en classificeert alles als tekst. Dit kun je ook zien aan het ABC icoontje boven je kolommen:
Zoals je eerder zag, interpreteerde Power BI de getallen (incorrect) door de instellingen voor land en regio vanuit Windows te gebruiken. In het Engels worden deze instellingen Locale genoemd. We gaan daarom Power BI opnieuw vertellen hoe deze data geïnterpreteerd moet worden, maar nu met de juiste regio-instellingen / Locale.
Onder Sample input values: geeft Power BI hoe de data nu verwacht wordt:
Power BI herkent nu op basis van de inhoud van de andere kolommen wat voor data erin zit.
Aan de rechterzijde zie je nu een tabel “2014-01” staan, met daaronder enkele velden. Momenteel zit er nog niet heel veel nuttige informatie in het datamodel: er is data van één periode uit 2014 aanwezig, maar alle verwijzingen naar winkels, producten en verkoopgebieden zijn enkel nog technische sleutels (de kolommen die een database onder water gebruikt om rijen uniek te kunnen identificeren - in dit geval bijv. TerritoryID
en ProductID
).
Maak nu drie Power BI visualisaties. Zorg ervoor dat de “per” velden (per TerritoryID bijvoorbeeld) hieronder niet worden gesommeerd, maar netjes uitsplitsen! Gebruik de standaard staafdiagrammen, en voer de bijbehorende wijzigingen door
Wanneer je het bestand “2014-01.csv” in een teksteditor bekijkt (bijvoorbeeld in Kladblok / Notepad), dan zul je zien dat het veld Day hier niet voorkomt. Power BI heeft hier gezien dat we een datum-veld in de brondata hadden zitten, en hier voor ons alvast een hiërarchie (Year, Quarter, Month, Day) op aangebracht.
Handig, want veel van onze analyses zetten we uit over de tijd heen, en zelden hebben we daarbij het datum-niveau direct nodig!
Hieronder zie je een mogelijke uitkomst.
Sla het bestand op - we gaan hier in het volgende onderdeel mee verder.
Hier vind je het eindpunt van deze opdracht: 05-01-Solution
Hier vind je de Walkthrough video
Binnen deze module over Self-service reporting is de volgende les SQL data inladen.
Hieronder vind je een overzicht van alle modules: