Klant Query Server

Uit normenkaderzorg.nl
Naar navigatie springen Naar zoeken springen

Inleiding

Op verzoek stelt ValueCare aan de instellingen een Query Server beschikbaar met daarop een Postgres database met alle source data en BI resultaat data. De door de instelling aangemerkte gebruikers kunnen een connectie maken met de database en er queries op los laten. Ook is het mogelijk om een tool, zoals bijvoorbeeld PowerBI, te connecten tot de database.

Implementatie

Het volgende is nodig vanuit de instelling:

  • Een server en het IP adres van de server, tenzij de server wordt gehost door ValueCare.
  • Een VPN verbinding van het klantnetwerk naar het ValueCare netwerk.
  • Een lijst met gebruikers.

De rest van de implementatie wordt door ValueCare verzorgd.

Hoe werkt het?

In het kort wordt het volgende dagelijks gedaan:

  • Er wordt een kopie van de source data en BI resultaat data op de ValueCare Productie server gemaakt.
  • Op de Query Server zijn er 2 database schema's: vcs en public. Het vcs schema wordt leeg gemaakt.
  • De kopie van de source data en BI resultaat data wordt in het vcs schema geplaatst.

De gebruiker kan vervolgens data in het vcs schema inzien, maar niet wijzigen. In het public schema kan de gebruiker tabellen aanmaken, wijzigen en verwijderen.

Handleiding

De data

Er zijn twee schema's beschikbaar op de queryserver: public en vcs. In het vcs schema wordt alle bi- en bron-data neergezet, zodat de ValueCare data beschikbaar is. Deze data worden elke dag ververst, zodat het elke dag overeen komt met de data op de Productie-omgeving. Als u op schema vcs een eigen tabel zou aanmaken, wordt deze verwijderd tijdens de verversing. Om met eigen tabellen te werken, is het public-schema beschikbaar. De tabellen die hierop staan, blijven beschikbaar op de Queryserver. Hoe u data overzet van schema vcs naar schema public leest u hieronder.

Tabellen kopiëren van schema VCS naar schema Public

Er zijn verschillende manieren om een tabel van schema vcs over te zetten naar schema public. Hieronder is de query uitgeschreven voor één van die manieren. Als je dit vaak wil gebruiken, is het handig om hier een template van te maken (specifiek voor DBeaver). Hier vind je meer over in “Templates”.

CREATE TABLE public.table_name (LIKE vcs.table_name INCLUDING ALL);

INSERT INTO public.table_name

SELECT *

FROM vcs.table_name;

Van een dashboard of tegel naar de juiste tabel op de Queryserver

Om te begrijpen welke tabellen op de queryserver onderliggend zijn aan de tegels en dashboards die zichtbaar zijn in het portaal is de tabel bi_queryserver_tegels_en_dashboards beschikbaar. Hierin kan je zien welke tabellen worden gebruikt in een tegel en/of dashboard. In onderstaand voorbeeld, zie je dus dat voor de tegel ‘Waarde verblijfsdagen per maand’, die te vinden is in dataset ‘Verblijf ZPM’, de onderliggende tabel ‘bi_zis_verblijf_zpm’ is. Tabel bi_zis_verblijf_zpm is dan te vinden op de queryserver.

tegel_naam dataset_naam tabel_naam tegel_beschrijving
Waarde verblijfsdagen per maand Verblijf ZPM bi_zis_verblijf_zpm Deze rapportage toont waarde van de verblijfsdagen voor …

Daarnaast kan je vanuit het portaal ook het filter paginanaam gebruiken. Als je deze toevoegt vanuit [+ nieuw filter] onderaan de linker balk met filters, dan zie je ook welke tabellen er gebruikt worden voor het opstellen van de tegel en/of dashboard.

De logica achter de benaming van tabellen op de queryserver is hieronder weergegeven.

Voorvoegsel Betekenis Uitleg
src_ Source (bron) Alle tabellen die wij direct vanuit een bron ophalen krijgen het voorvoegsel src_. Dit zijn dus tabellen vanuit bronnen, zoals XMCare, MijnQuarant, Beaufort, QuestManager, etc. Ook bestanden die we ophalen vanaf een SFTP server of andere bronnen, krijgen dit voorvoegsel.
bi_ Business intelligence Alle tabellen die gebruikt worden voor het samenstellen van dashboards en tegels hebben het voorvoegsel bi.  

Connectie opzetten

  1. Vraag om de hostname en de databasename bij ValueCare
    • Het kan ook zijn dat de queryserver lokaal gehost wordt, in dat geval is de hostname doorgaans te achterhalen bij de ICT-afdeling
  2. Vraag om de username en password bij jouw ValueCare contactpersoon.
  3. Maak de connectie vanuit de tool die u gebruikt, door de hostname en de databasename in te vullen en in te loggen met uw username en password.
    • De Queryserver beschikt over een postgres database, dus het poortnummer is de standaard postgres poort (5432)

DBeaver

Er zijn tal van goede programma's die u kunt gebruiken om te querieën op de Queryserver. Mits u gebruik maakt of wilt maken van DBeaver om op de Queryserver te querieën, dan vindt u hieronder een aantal instructies en een aantal tips & tricks die het gebruik van DBeaver nog fijner maken.

Installeren DBeaver

  • Via https://dbeaver.io/download/ kan je DBeaver downloaden
  • Met de standaard instellingen van de installatie kan je prima op de Queryserver komen, maar voel je vrij om de instellingen naar wens aan te passen.

Connectie opzetten met de database

  1. Klik linksboven op het stekkertje om een nieuwe connectie op te zetten. (Dit kan eventueel ook via het menu: Database > New Database Connection
  2. Selecteer PostgreSQL
  3. Vul de juiste naam voor de Host in (het poortnummer staat default al goed: 5432)
  4. Vul juiste naam voor de Database in
  5. Vul de juiste Username in (deze heb je ontvangen vanuit ValueCare. Heb je deze nog niet, dan kan je die aanvragen via jouw contactpersoon)
  6. Ga naar het kopje “Driver properties” en zet hier het veld tcpKeepAlive op ‘True’
  7. Klik op Finish
  8. Nu verschijnt er links in de “Database Navigator” een connectie met de naam van de database. Dubbelklik hierop om de connectie te openen
  9. Vul je wachtwoord in en voilà!

Tips & Tricks om snel met DBeaver te werken

Overzicht van de functie-toetsen

Uitvoeren van een query: ctrl + enter

Openen van new script: F3

Geavanceerd kopiëren: ctrl + shift + c    (uitgebreidere uitleg onder “Geavanceerd kopiëren”)

Templates

Templates zijn erg handig in DBeaver. Hiermee kan je veelgebruikte queries opslaan en hoef je die niet volledig te typen, als je ze de volgende keer wil gebruiken. Bijvoorbeeld: In plaats van ‘SELECT * FROM table_name;’, type je enkel ‘saf’ en druk je op tab.

Om een template aan te maken ga je naar: Window > Preferences > SQL Editor > Templates > New.

Name: de combinatie aan woorden of letters die jij wil typen in plaats van de query

Pattern: de query die moet verschijnen als je de Name typt en op Tab drukt.

Insert variable: Hiermee kan je een bepaalde variabele aanroepen nadat je het template gebruikt. Bijvoorbeeld, SELECT * FROM ${table}; zorgt ervoor dat je makkelijk een bestaande tabel kan selecteren als je het template gebruikt.

Geavanceerd kopiëren

Met ctrl + shift + c kunt u geavanceerd kopiëren. Dit is handig als u de geselecteerde rijen wil gebruiken, bijvoorbeeld in een volgende query. Er staan dan automatisch quotes omheen en een komma tussen elk item, zoals hieronder weergegeven.

'item1',

'item2',

...

Exporteren naar Excel (xlsx)

Je kunt een extensie installeren waarmee je direct Excels kunt downloaden. Dus niet eerst csv-bestanden die nog met de hand geconverteerd moeten worden. Volg de stappen in de link 'extensie installeren'.

LET OP!: Sluit DBeaver eerst af en start het op als Administrator. Bijv. door Ctrl + Shift + Rechtermuisknop op de taakbalk en dan 'Als administrator uitvoeren'.

CSV-bestanden als database benaderen

Klik op het plusje met New Database Connection, zoek naar 'csv'.

Onder Path kies je een map waarin je alle .csv-bestanden naar gaat zetten. Klik op Finish.

Alle csv's die je in de map die je hierboven getypt hebt plaatst, zijn dan beschikbaar om op te queryen.

In de Driver Properties kun je onder seperator instellen wat het scheidingsteken is.

Regels afsterren:

Regels zijn op twee manieren als tekst neer te zetten.

-- door middel van twee streepjes voor

/*

Of door middel van /* en */

*/

Als u al tekst heeft geschreven kunt u gebruiken maken van ctrl + / om automatisch streepjes voor de tekst te laten zetten. Selecteer de betreffende regels en druk op CTRL + /

Databasenaam in export

Een export doe je door in een Resultset met de Rechtermuisknop op 'Export data ...' te klikken. Als u wil dat de file-name automatisch de databasenaam, tabelnaam, en/of een timestamp bevat, kan je dat doen door het volgende te doen.

Bij Export data ... > Output (stap 4) > File name pattern, kan je de naam van de te exporteren file bepalen. Als je daarin gebruik maakt van onderstaande variabelen, krijgt de export automatisch de naam van de betreffende variabele.

De databasenaam: ${datasource}

De tabelnaam: ${table}

De timestamp: ${timestamp}

Een combinatie hiervan is ook mogelijk. Bijvoorbeeld ${datasource}_${table}_${timestamp}.

Naar hoofdletters/kleine letters van selectie  

Ctrl + Shift + X -> selectie naar hoofdletters

Ctrl + Shift + Y -> selectie naar kleine letters


ValueCarelogo2022.png