Hieronder vind je de hoofdstukken en lessen voor de cursus. Maak gebruik van de balken om lessen te tonen en verbergen


INZICHT - Maak een interactieve query voor ALBERTO
Alberto wil graag een overzicht hebben van de verkoopaantallen op 10 februari 2022. Verder wil hij alleen bestellingen zien waar meer dan 5 producten zijn besteld. Hij wil de datum, verkoopaantallen en de productcategorie zien in het rapport.
Guiseppe wil graag een rapport over de temperatuur en de neerslag in februari in relatie met de verkoopaantallen.
Werk in het Self Service Reporting formulier
INZICHT - Stel een KPI op in tekst
Alberto wil inzage hebben hoe de verschillende vestigingen verkoopaantal en -bedrag en wat het verloop is in de tijd (die KPI is gegeven)
Ook wil Alberto zien of er een relatie is tussen verkoop per vestiging en het klimaat
Daarnaast wil Alberto een KPI voor de thuisbezorging op basis van vestiging en bezorger. Hij wil een vergelijking kunnen maken tussen bezorgers en ook in de tijd
Stel een definitie op en geef de KPI in eenheden (prijs/aantal/tijd)
Werk in duo’s voor de uitwerking en presenteer je model aan de groep
Hier is het Logisch datamodel
INZICHT - Stel een Eigen KPI op basis van het Template van Giovanna
Voor de KPI besluit Giovanna het Logische Data Model te gebruiken. Ze maakt gebruik van een template voor KPI’s en mappings naar het LDM Gebruik eventueel het eenvoudige model in de dia’s of schets in de website
Hier is het Logisch datamodel

VOORBEELD - Voorbeeld basis select query met alle kolommen
Dit is de basale vorm van een select query. * betekent dat je alle kolommen gebruikt die in een tabel zitten.
We halen in dit voorbeeld alle rijen op uit één tabel
VOORBEELD - Voorbeeld basis select query met specifieke kolommen
Dit is een select query waarbij je de kolomnamen opgeeft achter het select woord. Je moet hier precies de namen opgeven zoals ze in een tabel bekend zijn. De volgorde van de kolomnamen is bepalend voor het resultaat.
We halen in dit voorbeeld alle rijen op uit één tabel
VOORBEELD - Voorbeeld select query met order by voor de volgorde
Dit is een select query waarbij je de kolomnamen opgeeft achter het select woord. Je moet hier precies de namen opgeven zoals ze in een tabel bekend zijn. Vervolgens gaan we achter het ORDER BY deel de volgorde opgeven. Met ASC stel je de volgorde oplopend in en met DESC aflopemd. De volgorde van de kolomnamen is bepalend voor het resultaat en voor de volgorde.
We halen in dit voorbeeld alle rijen op uit één tabel
VOORBEELD - Voorbeeld select query met een beperking op de rijen en de kolommen
In deze select query geef je allereerst een drietal kolommen op binnen het SELECT gedeelte. Vervolgens ga je met het WHERE gedeelte filteren in de rijen. Filteren doe je altijd door eerst de naam van de kolom aan te geven en vervolgens de waarde waarop je wilt filteren. Let op bij alfanumerieke velden zet je de waarden tussen enkele quotes

VOORBEELD - Een query met een berekende kolom in het select deel
Binnen het SELECT gedeelte kun je berekeningen doen en kolommen samenvoegen tot nieuwe kolommen in de resultaatset.
In dit voorbeeld gaan we tussen haakjes een berekening doen voor een aantal numerieke kolommen in de tabel
VOORBEELD - Een query met filter op GEEN WAARDE en zoeken naar woorden in een alfanumerieke kolom
nbsp; is een bijzondere waarde in een database. Het betekent GEEN WAARDE en is duidelijk iets anders dan 0 (nul) want dat is namelijk wel een waarde.
nbsp; wordt gebruikt om aan te geven dat de waarde niet bekend is en kan in alle datatypen gebruikt worden. Het commando is wel op basis van IS en niet met = om te accentueren dat het geen waarde is. In deze query verder de mogelijkheid om in alfanumerieke kolommen zoeken naar delen in de tekst met LIKE en %
VOORBEELD - Een DISTINCT query voor het ontdubbelen van het resultaat
Geef de unieke waarden in je SELECT gedeelte voor het alleen tonen van de unieke combinaties zonder herhalingen daarvan in de resultaat set.
VOORBEELD - Een select statement met het beperken van het aantal resultaten met TOP in combinatie met ORDER BY
Met Top voor de kolomnamen binnen het SELECT gedeelte van de kolomnamen kun je met TOP een aantal opgeven van welke getoond moeten worden. Denk hier wel om de volgorde binnen ORDER BY en eventueel met ASC en DESC
OPDRACHT - EXTRA Een overzicht van de datum, weekdagen, het verkoopbedrag waarbij het verkoopbedrag groter is dan 25
Werk deze EXTRA opdracht uit door in de voorgaade opdrachten te zoeken naar een combinatie van de onderdelen. Je krijgt een hele eenvoudige query die je kunt aanpassen naar de criteria die gevraagd worden
OPDRACHT - Wat is de hoogste productprijs en in welke categorie zit dit
Werk deze opdracht uit door in de voorgaade opdrachten te zoeken naar een combinatie van de onderdelen. Je krijgt een hele eenvoudige query die je kunt aanpassen
OPDRACHT - EXTRA Een lijst van de 10 bestverkopende producten naar aantal op basis van de productcategorie alleen in de maand februari
Werk deze EXTRA opdracht uit door in de voorgaade opdrachten te zoeken naar een combinatie van de onderdelen. Je krijgt een hele eenvoudige query die je kunt aanpassen

VOORBEELD - Voorbeeld van een inner join op basis van twee tabellen
Dit voorbeeld toont een inner join tussen twee tabellen. Hierbij worden de primaire en verwijzende sleutels gebruikt om de tabellen aan elkaar te koppelen. Alleen die rijen waarbij de sleutels in beide tabellen gelijk zijn worden getoond.
VOORBEELD - Voorbeeld van een left join op basis van twee tabellen
Dit voorbeeld toont een left join tussen twee tabellen. Hierbij worden de primaire en verwijzende sleutels gebruikt om de tabellen aan elkaar te koppelen. Alleen die rijen waarbij de sleutels in beide tabellen gelijk zijn worden getoond maar ook de rijen die wel in de linker tabel voorkomen maar niet de rijen uit de rechtertabel.
VOORBEELD - Voorbeeld van een right join op basis van twee tabellen
Dit voorbeeld toont een right join tussen twee tabellen. Hierbij worden de primaire en verwijzende sleutels gebruikt om de tabellen aan elkaar te koppelen. Alleen die rijen waarbij de sleutels in beide tabellen gelijk zijn worden getoond maar ook de rijen die wel in de rechter tabel voorkomen maar niet de rijen uit de linkertabel.
VOORBEELD - Voorbeeld van een full join op basis van twee tabellen
Dit voorbeeld toont een full join tussen twee tabellen. Hierbij worden de primaire en verwijzende sleutels gebruikt om de tabellen aan elkaar te koppelen. Alleen die rijen waarbij de sleutels in beide tabellen gelijk zijn worden getoond maar ook de rijen die wel in de linker tabel voorkomen maar niet de rijen uit de rechtertabel. Als ook de rijen die wel in de rechter tabel voorkomen en niet in de linker
OPDRACHT - een overzicht van welke vervoermiddelen er beschikbaar zijn per vestiging, geef de naam van de vestiging, bezorger en vervoermiddel
Deze opdracht start met een basis join tussen twee tabellen. Echter jij moet het uitbreiden naar drie tabellen. Daarnaast moet je bij het SELECT deel kijken welke kolommen er gekozen moeten worden op basis van de vraag van Alberto
OPDRACHT - EXTRA Het lijkt erop dat er een aantal bezorgers zijn die niet altijd bezorgingen doen die bij een vestiging hoort
Hierbij wil je met nagaan of er bezorgers zijn die bij geeneen vestiging horen. Dat is natuurlijk vreemd want hoe bezorgen ze dan. Pas de inner join query aan en kijk naar het effect als je met andere joins gaat werken

VOORBEELD - Query met numerieke data waarbij je met de wiskundige operatoren gaat werken
Hierbij ga je zoeken op basis van een numerieke waarde en combineer je het met AND en met >= en <=
VOORBEELD - Query met numerieke data waarbij je met BETWEEN gaat werken
Hierbij ga je zoeken op basis van een numerieke waarde en combineer je het met BETWEEN. Let op bij BETWEEN telt de onderste en de bovenste waarde ook mee dit is groter dan etc
VOORBEELD - Query met kolommen met kalenderdata. Hierbij ga je filteren en moet je de datum in tekstwaarden weergeven
Bij kalenderwaarden kun je je vergissen in de Amerikaanse en Europese datumformaten.. Vandaar dat je bij een database bij voorkeur gebruik maakt van het formaat 'yyyy-MM-dd' tussen enkele quotes. De database zet dat dan altijd om naar het juiste formaat.
VOORBEELD - Maak gebruik van het IN() statement om op eenvoudige wijze een lijst van waarden op te geven
Met IN() kun je een lijst van waarden geven. Is handig als BETWEEN niet mogelijk is. Met IN() kun je een willekeurige lijst opgeven afhankelijk van de vraag die gesteld wordt
VOORBEELD - Booleanse algebra om twee filters te combineren met AND
Met AND combineer je de filters als ze allebei aan de filter conditie voldoen. Je verkleind daarmee je resultaatset
VOORBEELD - Booleanse algebra om twee filters te combineren met OR
Met OR combineer je de filters als ze aan één van de filter condities voldoet. Je vergroot daarmee je resultaatset
VOORBEELD - Combinatie van booleanse filters op basis van AND, OR en NOT inclusief het werken met haakjes
Hierbij zie je dat je meerdere filter condities kunt combineren om zo tot complexe vragen die je aan de database stelt. Probeer hier maar eens met de haakjes te experimenteren en kijk wat het effect is. Zie de dia in de cursus met voorbeelden van het rij voor rij controleren van de combinaties van condities.
OPDRACHT - Maak een lijst van bezorgers die een auto hebben niet in Vianen werken en een actief contract hebben
Er is bezorger ziek geworden en iedereen in Vianen is afwezig. Dus moet er snel een lijst gemaakt worden van bezorgers van andere vestigingen die momenteel niet in Vianen werken en de beschikking hebben over een auto. Het contract moet actief zijn natuurlijk.
OPDRACHT - Maak een lijst van bezorgers die niet bij een vestiging zijn aangemeld
Er is bezorger ziek geworden en iedereen in Vianen is afwezig. Dus moet er snel een lijst gemaakt worden van bezorgers van andere vestigingen die momenteel niet in Vianen werken en de beschikking hebben over een auto. Het contract moet actief zijn natuurlijk.
OPDRACHT - EXTRA Maak een overzicht van het verkoopdashboard waarin de verkoopaantallen maar dan met een categorie voor weekdagen en weekenden
Alberto wil een overzicht van de verkoopaantallen, per productcategorie maar dan een indeling in weekend en week. Daarnaast wil hij voor de temperatuur een categorie in koud < 0, normaal >=0 en <20 en warm bij >= 20

VOORBEELD - Diverse aggregatie functies op een resultaatset in een select statement
Hierbij worden voor een aantal kolommen in het verkoopdashboard een aantal aggregate functies gebruikt in de database. Vaak wordt dit toegepast om de data in een database te verkennen. Ook wel bekend als exploratory analysis
VOORBEELD - Diverse aggregatie functies op een resultaatset in een select statement uitgebreid met group by voor subtotalen
Hierbij worden voor een aantal kolommen in het verkoopdashboard een aantal aggregate functies gebruikt in de database. Met group by in het statement kun je de data groeperen als subtotalen in combinatie met een aggregate functie. De GROUP BY is het een na laatste deel van een SELECT query als er ook een ORDER BY nodig is.
VOORBEELD - Diverse SQL-Server functies voor alfanumieke kolommen. Om te zorgen voor transformatie van tekst
Dit zijn SQL Specifieke functies maar elke relationele database heeft een eigen set van functies. Hiermee wordt het gemakkelijk gemaakt om tekst te manipuleren. Op de documentatie site van SQL server of op W3schools zijn de definities van deze functies te vinden
VOORBEELD - Datum kolominhoud omzetten naar jaar of maand om makkelijker gegevens van een jaar of maand op te vragen
Met Year of Maand zet je de inhoud van een kolom met datatype datum en/of tijd kun je dit omzetten naar een integer waarde met een functie. Daarmee kun je makkelijker queryen met bijvoorbeeld between of rekenen met deze waarden. Ook kun je met dataname de kalenderdatum omzetten naar een naam van een deel van de datum zoals maand of weekdag.
VOORBEELD - Rekenen met kalenderdatum waarden door er een periode aan toe te voegen of af te trekken
Met DateAdd kun je rekenen met kalenderdatum waarden door er waarden bij op te tellen. Door een negatieve waarde op te geven kun je er ook een periode mee aftrekken van de datum.
VOORBEELD - Rekenen met kalenderdatum door het verschil tussen twee kalenderdatums te berekenen naar een bepaalde kalender eenheid
DateDiff kun je gebruiken om het verschil tussen twee kalenderdata het verschil te berekenen in een bepaalde eenheid, zoals jaar, maand, dag of zelfs seconde. Verder een handige functie om de datum van dit moment in de database te berekenen
INZICHT - OPDRACHT: Alberto wil graag een omzetoverzicht ingedeeld in product categorie en in de maand van de verkoop
Alberto wil graag een overzicht van de totale omzet van de verkoopbedragen. Daarvoor wil hij graag een indeling in product categorie maak gebruik van de dataset verkoop dashboard.
Extra filter op de maand januari
Gebruik deze pagina Self Service Dashboard
OPDRACHT - OPDRACHT: Alberto wil graag een omzetoverzicht ingedeeld in product categorie en in de maand van de verkoop
Alberto wil graag een overzicht van de totale omzet van de verkoopbedragen. Daarvoor wil hij graag een indeling in product categorie en in de maand van de verkoop
OPDRACHT - EXTRA OPDRACHT Totale omzet berekening ingedeeld in weekdag of weekend en in de maand van de verkoop
Alberto wil graag een overzicht van de totale omzet van de verkoopbedragen. Daarvoor wil hij graag een indeling in weekdag of weekend en in de maand van de verkoop

VOORBEELD - Voorbeeld van een sql statement voor een dashboard
Op het interactieve formulier voor dashboards kun je queries omzetten naar een datavisualisatie. Dit kan op Dashboard formulier. Houdt rekening met de Xas en Yas in de naamgeving van de kolommen uit de database. Maak gebruik van Xas en Yas als alias
INZICHT - Maak met de Wizard een dashboard en kies het juiste grafiektype
Maak een dashboard voor Alberto van de verkoopaantallen per maand. Maak gebruik van de dataset verkoopdashboard. Kies zelf een relevant grafiek type
Maak gebruik van Open les E7.02
OPDRACHT - Zet je eerdere set queries om naar een dashboard
Op het interactieve formulier voor dashboards kun je queries omzetten naar een datavisualisatie. Dit kan op Dashboard formulier. Houdt rekening met de Xas en Yas in de naamgeving van de kolommen uit de database. Maak gebruik van Xas en Yas als alias

INZICHT - maak gebruik van APIs en zet het om naar een dataset
Giovanna heeft ontdekt dat de klimaatdata niet correct is verzameld. Ze wil de KNMI gegevens gaan gebruiken. Ze wil onderzoek doen naar windsnelheid, -richting, temperatuur en neerslag. Gebruik KNMI daggegevens Kies zelf een weerstation, juiste periode en kolommen (obv Meta Data). Maak een json download bestand aan via de API Open het jsonbestand en importeer de inhoud van de file in de EBI webapplicatie.
Bekijk de resultaten Welke uitdagingen zie je, licht toe! Maak gebruik van Interactief Import Formulier
INZICHT - Maak mappings van de brontabellen naar de doeltabellen
In het mapping formulier kun je de transformatie van bron- naar doelmodel maken. In de EBI omgeving zijn een aantal tabellen aanwezig voor het klimaat Er zijn een aantal importtabellen als brontabel en er zijn een aantal doeltabellen aanwezig. Giovanna wil de temperatuur in hele graden, neerslag in mm/dag en de windsnelheid in M/S de windrichting in graden (0-360)
Maak gebruik van het Interactief mapping formulier

INZICHT - Drill down en Roll up
Op de EBI website kun je experimenteren met een drill down rollup aanpak.
Zoek naar patronen in de data voor geografie en/of datum in het dimensioneel model
Maak gebruik van Drill down formulier
VOORBEELD - Datamart voorbeeld voor bezorgingen op basis van OLAP datamodel
Dit is een gedenormaliseerd model van de bezorgingen bekijk de kolommen en analyseer de hierarchie. Klik hier voor het datamodel.
VOORBEELD - Datamart voorbeeld voor bestellingen op basis van OLAP datamodel
Dit is een gedenormaliseerd model van de bestellingen bekijk de kolommen en analyseer de hierarchie. Klik hier voor het datamodel.
OPDRACHT - Maak select queries voor je eerder gedefinieerde KPIs
Eerder heb je een aantal KPIs beschreven. Je gaat nu een KPI omzetten in OLAP queries en zorg ervoor dat er een dashboard komt voor Alberto voor deze KPI’s op de website Hiervoor zijn twee datamarts als voorbeeld ontwikkeld Datamart_bezorging_oltp Datamart_bestelling_olap Maak gebruik om deze datamarts met Select top 10 * From …. te verkennen Maak een van je voorgedefinieerde KPIs obv de view een SQL statement en definieer een Dashboard in de cursus omgeving

Je kunt de hoofdstukken openklappen en sluiten. Klik je op een les dan ga je naar het scherm met de opdracht.

Copyright © Interactory