woensdag 30 september 2015

Datavault Concepts

Datawarehouse Concepts

Dataware house is a decisional db system

Data in DW is composed of facts and dimensions

Facts = actual numerical measures
Dimensions = descriptive data about those measures

Design different from OLTP db

-         large amounts of data
-         simple to query

Solution DW
-         denormalize the data, less joins
-         restrict use of foreign keys

outcome: fact table with fk’s to each of dimension tables 
STAR table

Dimensions can also themselves have other tables surrounding them  like SNOWFLAKE

No complicated joins with multiple tables to get descriptive joins. Information is included directly in dimension tables in a de-normalized form


OWB Concepts

Client side

  • Design Center incl Control Center
  • Repository Browser



Server side

  • Control Center Server
  • Repository (including workspaces)
  • Target schema    in oracle DB


Design center : logical design of ETL procedures. Stored in a workspace in the Repository on the server

Control Center Manager: maanging the creation of the physical implementation by deploying the designs we’ve created in the target schema.

Deploy: create physical objects from logical definitions

Control Center on the client interacts with the Control Center Server on the server

Repository : component for which a seperate schema is created when the database is installed OWBSYS
Must be unlocked as final step.

Datavault


Nieuwe aanpak om DWhouses te modelleren. Term wordt ook gebruikt om een Database aan te geven die op een bepaalde manier gemodelleerd is.

Voordelen:
- datamodel extensibility
- reproducibility of reporting results

Nadeel:
- Querying op DV model is complex. complexe SQL and bad performance
Vaak oplgelost door middel van Derived Data Stores (

Concepten


Soorten Tabellen

Hubs                : botten       : bevat PrimKey
Satellites          : vlees  : bevat Foreign key
Links               : pezen           : om van hub naar hub te gaan.

  • Hub (botten):
representeert business objects bijv produkt, customer, airport, aircraft

  • Links (pezen)
representeert relaties tussen hubs bijv flight (linking aircraft and airport) of product purchase (linking product and customer)

  • Satellites (vlees)
bevatten attributen van hubs of links.
elke satellite may contain one to many attributes
- a satelliteof a hub airport may contain teh attribute called number of runways,
- a satelliteof a employeehub contain the monthly salary
- a satelliteof link is the duration of a flight  belonging to the link table called flight.

Hubs and links may contain zero or more satellite




HUB:

Werkt met principe van Business key. Hier wordt een regel toegevoegd in de Datavault als er een nieuwe instantie van een entiteit bijkomt. Bijv er komt een nieuwe jongere bij in ERISA. Er wordt gekeken of er een nieuwe BK is bijgekomen in de bron tabel. Zoja dan is er een nieuwe jongere en kan een record in de HUB toegevoegd worden. Een BK is vaak een sleutel uit het bronsysteem.

Stap : Vergelijk ER_JONGERE met H_jongere op basis van de Business Key. Verschil dan nieuwe jongere en toevoegen aan aan de HUB

Hub wordt dus gevuld op basis van een BK en record bevat dus BK + primary key (technische sleutel/surrogatekey) + extra velden DV_record_bron, dv_laad_datum en dv_audit_date.



Satellites

Satellite bevat info over een entiteit (bijv Jongere). Velden zijn bijv geboortedat, voornaam of startkwalificatie. Deze info over een jongere wijzigt in de loop van de tijd. Bij het laden van de DV wordt dus gekeken of er een veld gewijzigd is in de bron tabel tov van het meest recente voorkomen van die jongere in de S_tabel. Zoja dan wordt een nieuw record in de sattelite toegevoegd met een laad begindatum en een laad einddatum is leeg. Het eventuele voorgaande record wordt afgesloten met een seconde voor de laaddatum (laad_einddatum). Zo kan je dus van een jongere zijn historie bijhouden.

Hierbij wordt in de satellite dus het meest recente voorkomen van een jongere vgl met de brontabel  (voor alle andere velden dan de BK)

Sattelite bevat dus

Technische sleutel + FK uit Hub + velden bijv geboortedt, voornaam, startkwal + DV_laad_datum, DV_laad_eind_datum, dv_record_bron, dv_audit_date

Bij laden dv wordt de sysdate als laaddatum gebruikt  bijv 1-08-2013 05:45

ER worden nieuwe records geinsert dan wordt de dv_laaddatum gezet. Dit is datum dat record is ontstaan.

Alleen bij sattelites wordt er ook afgesloten





    H ------------links----------------H
     |                     |                     |
Sat                     sv                  SAT


Verschil tussen S en SV satellite


Satelitte op links worden in Jeugdmonitor op 2 manieren genoteerd S_ of SV_. De SV is een zelfbedachte term

Een satellite op een link kan betekenen dat er aan 2 sleutels (de link) ook data hangt die kan wijzigen. Dan wordt in de Jeugdmonitor  de S_ notatie gebruik

Bij JM word naast een S ook een SV satellite gebruikt. Dit zegt iets over sattelites op links waar geen data is die kan wijzigen.(bijv Loopbaan is een relatie tussen school en leerling. Hier wordt voor de rest geen data van bijgehouden. Een Loopbaan kan wel tijdelijk gestopt en gestart worden). Deze historie van de link (een link zonder echte data) willen we wel bijhouden. Dit doen we dus in een SV_ satellite,

Rapport maken voor ZRM



Standaard toevegen prompts
Voeg 2 prompts toe
-    dim kalender.ytd
-    dim archiefdatum.


Variabelen

Variabele definieren in universe (daar is het een attribuut) of in rapport
Hierbij measure gebruiken voor getalllen en dim teken voor strings


Hoe krijg ik formulebalk te zien



Druk weer op de function button (function mode)

Ga naar rapport en druk op rij, dan wordt button Create Variable enabled


Conditioneel Kleuren

Verder kan je een veld conditioneel kleuren. Doe dit via alerter teken (uitroepteken).Eerst definieren en daarna koppelen aan rij. Selecteer rij en klik op alterter teken en koppel alerter.

Probleem. Je wil zien van een bestaand rapport welke velden uit welke query worden gebruikt

Oplossing: druk op de functieknop
Staat standaard uit





Klik op een rijwaarde en kijk boven in formule box


Dit veld komt in meerdere queries voor dus daarom prefix



dit







Probleem 1
Stel je wil zorgvorm onderverdeling slechts eenmaal zien.



Klik op onderverdeling toevoegen/verwijderen en er gebeurt het volgende




Tabbladen en Querys

Niet te verwarren zijn tabbladen van een rapport en tabbladen bij query

Hieronder zie je een rapport met verschillende tabbladen bijv Totaal PGB en Totaal Zin


Als je echter op knop QUERY BEWERKEN drukt dan krijg je onder ook tabbladen te zien



Deze tabbladen kunnen 1 of meerdere queries bevatten. Druk maar eens op SQL knop bij Main_YTD. Dan zie je meerdere queries. Verstandiger en veiliger is om per tabblad 1 querie te hebben, dan kan de boel ook niet in de war raken. Chris heeft dit niet overal gedaan omdat dit te veel tabbladen geeft en hij het model zo goed kent dat er geen fouten ontstaan.
Als je meerdere queries in je rapport hebt dan kan je goed zien wat er gebeurt door een export van het rapport te maken. Save as CSV (data_only)





Je ziet dan in de CSV mooi de verschillende datasets waar het rapport gebruik van maakt


Merged Dimensions
Mochten in 2 queries velden zijn met de zelfde naam dan zie je dit als volgt


Gebied en Gebied code zijn dus zogenaamde merged dimensions. Als je velden van beide queries nu op het rapport sleept dan wordt er binnen het rapport als het ware op deze merged dimensions gejoined.

Je kan dit trouwens ook uitzetten of aanzetten voor velden die niet exact dezelfde naam hebben.

Als je het uitzet kan je dan zijn de queries dus volledig onafhankelijk van elkaar en worden er geen dimensies gedeeld

Verschil Queryfilters en Invoeringselementen op rapport

Queryfilters kan je aan aanbrengen in Querybewerken scherm. Deze komt in de where clause terecht en filtert data bij ophalen



Ook is er mogelijkheid om opgehaalde data in rapport achteraf te filteren. Dit gebeurt met invoeringselementen op rapport.

Maken van een rapport bijv Contract management

2 sterren Contract en Budget. Verschil Contract is alleen ZIN en budget is ZIN en PGB

Creeer variabele die geselecteerde maand  door gebruiker in  YTD opslaat



Zoals je ziet wordt er gebruik gemaakt van de promptnaam uit de YTD filter waar maand mee opgevraagd wordt :
YTD filter =
@Select(Zrm Dim Kalender\Kal Maand) between 1 and @Prompt('Maand','N','Zrm Dim Kalender\Kal Maand',mono,constrained)

Deze prompt kan je in de formule gebruiken om de waarde uit te lezen:
= ToNumber(UserResponse("Maand") )


In het rapport word de contractwaarde op jaarbasis getoond. In de feitentabel wordt ie echter per maand weggeschreven en in Veld FCT contractwaarde staat de waarde gesommeerd over het aantal maanden dat in YTD opgegeven door de gebruikers.
Variabele ‘contractwaarde jaar’
=[Fct Contractwaarde] / [Maanden] * 12



Bij staafdiagram. Meetwaarde loopt verticaal . aanpassen via view structure en dan slepen



Een legenda maken via properties  Legend





bij pivot table moet je 2 dimensies hebben

bij taart meetwaarde en 1 dimensie


Dashboard

Sleep eerst een vertical table naar report



Turned to : Vertical mixed


En opmaken maar het resultaat.


Gebruik veel View Structure


Resultaat tussentijds bekijken via Switch page/Quick Display



Pas ook via properties/Page Layout van alles aan bijv landscape/portrait

Rapportage naar produktie zetten

1.  Rapport is gewijzigd
Ga naar Master_beschikkingen.wid

Stap 1 :
Sla op als “Demo Beschikkingen.wid”
Gooi alle tabbladen die er niet in hoeven eruit. Van rechts naar links
Rename tablad Totaal_pgb naar Totaal
! let op . zorgcategorie volgorde is na verversen Universe veranderd. Verander weer naar oorspronkelijke volgorde






Ververs query op laatste stand en maand zodat juiste data in rapport staat
Opslaan en exporteren naar map IMJ/Demonstratie

Stap 2
Open Bestand “Demo Beschikking.wid”
Sla op als Beschikking.wid
Edit query: tablblad properties: selecteer de produktie universe bijv ZRM_PROD_3_2
Run query naar laaste stand
Pas sortering ZC/kostenplaats aan (Custom sort en breng “onbekend”naar onder
Gebruikde custom sortering van het bestaande gepubliceerde rapport.


Sla op en exporteer naar map IMJ/ Beleidsinformatie


2. Rapport is ongewijzigd

Rapport niet gewijzigd dan alleen DATA verversen en OPSLAAN.