|
BI - LIS
arkitektur af Joakim Dalby »Viden er magt«, sagde
man en gang. I dag er mantra: »Deling af viden er magt.« »Drukner i data, savner
information i tilvejebringelsen af et beslutningsgrundlag.« »Stikke en strikkepind
gennem alle organisationens data til nye rapport typer.«, René Spogárd, tidligere
adm. dir. og indehaver af Gallup A/S, 1998. »Informationshåndteringen
er det, der afgør om dagens virksomhed er en taber eller en vinder.«, Bill
Gates, 1998. Læs mere om Informatikfunktionen. Udgangen af år 2010 havde
988 exabyte digitale data, 988 efterfulgt af 18 nuller. 1. Indledning Hensigten med artiklen er at få en række BI Business Intelligence og LIS Ledelses Informations System (ledelsesinformationssystem)
begreber konkretiseret, indføre en arkitektur og database tabel navngivning
samt kort introduktion til en metode for implementation af en BI-LIS
løsning. LIS har gennem tiden haft mange navne: EIS Executive Information System
facilitate and support the information and decision making, MIS Management
Information System, DSS Decision Support System eller Beslutningsstøttesystem.
En BI Business
Intelligence løsning
har fokus på brugen af data til at støtte organisationens og ledelsens
indsigt, beslutninger, opfølgning og indgriben gennem omdannelse af
data fra forskellige edb-systemer i organisationen til pålidelig styringsrelevant
nøgletals information. Data bliver opbevaret i et Data Varehus, Data
Warehouse, der er en database, data repository, med fokus på at integrere og
sammenstille data fra de forskellige it-systemer samt at udregne nye data der
dækker forretningens data behov og foretage data kvalitet fra de forskellige
systemer. Ved opstart af et BI-LIS projekt bør man stille sig
spørgsmålene: Hvordan kan BI bidrage som styringsredskab til hurtigere,
præcise og bedre beslutninger i ønsket om at drive, planlægge og styre performance?
Hvordan kan BI bidrage til overvågning af afvigelser fra den ønskede
udvikling angivet gennem budgettering, måltal og målepunkter, så der kan
foretages opfølgning på resultater og optimering heraf? Hvilke
forandringer skal der foretages i virksomhedens processer, når nøgletallene
bliver præsenteret og de ikke opfylder de stillede mål eller har store
udsving over en periode? Data Warehousing er et samlet udtryk for en data arkitektur og en metode for
design, udformning og implementation af et data warehouse. Det anbefales at udarbejde en række kravspecifikationer omhandlende: Information
om data oprindelse, datakilder og deres data kvalitet, forretningsregler
for data udsøgning og data berigelse også kaldet data
udvælgelse, data behandling, data bearbejdning, data forædling eller i et samlet udtryk data integration for at forene forskelligartede data til en
helhed. Det kaldes
for Enterprise Information Management EIM. 2. Business Intelligence »Extract your business critical information
to increase your profit.« Business intelligence blev første gang defineret
i 1958 af H. P. Luhn: A Business Intelligence System, IBM Journal October
1958 pdf. Her
i artiklen tillægges BI en altfavnende fællesnævner for en bred vifte af komponenter,
teknologier og applikationer samt metoder til data indsamling og
sammenstilling på tværs af IT systemer, lagring og håndtering af store
mængder af data omformet til information for rapportering og tværgående analysering
samt give adgang, gøre tilgængelig og praktisk håndterbar som beslutningsgrundlag
for beslutningstagere og analytikere på alle niveauer af en organisation,
der typisk opdeles i strategiske, taktiske og operationelle brugere. BI-applikationen
viser dashboard med speedometer, graf-, søjle og lagkagediagram samt
lyskryds med Grønt: Her går det godt, Gult: Vær opmærksom, Rødt: Pas på, for
her går det skidt, for at give et hurtigt overblik. Med intuitivt peg-og-klik
kommer man frem til de ønskede informationer og borer sig ned i data gennem
standard statistik rapporter eller her-og-nu ad hoc rapportering til den
efterfølgende analyse og dannet beslutningsgrundlag, se eksempel. Endvidere kan
BI-applikationen grave sig ned i data på egen hånd på jagt efter mønstre, som
ingen analytiker kan forestiller sig, det kaldes Datamining og er en slags
minedrift i data efter guld. Det kaldes Balanced Scorecard når virksomheden
måler sig på en lang række faktorer, hvor der på forhånd er sat mål op for
hver faktor. Formålet med BI er at forvandle
forretningens mange data til konkret og brugbar information for at kunne give
forretningsmæssige efterretninger, så der opnås en bred forretningsmæssig
indsigt i forbindelse med processer og beslutninger, der fører til bedre sammenhæng,
overblik, gennemsigtighed og styring af forretningen. Og hvor
analysering af information og nøgletal giver viden om forretningen integreret
med »hvad«, »hvor«, »hvornår«, »hvor
mange« og »hvorfor«. Eksempelvis ved salgsopfølgning: vare, markedsandele,
kundetilfredshed, mærkeloyalitet, salgstidspunkt, salgstal, sæsonudsving
og sammenhænge i kundernes købsmønstre, markedsføringskampagne eller
placering af varer i butikken, antal solgte og returneret varer pr. sted og uge
mixet med produktivitet og innovation. Et andet formål med BI er at skabe konsensus
om data via ensartethed i data og enslydende datadefinitioner d.v.s. have et
fælles verdensbillede eller en sandhed om stamdata. Eksempelvis kundedata
der anvendes i marketingsafdelingen i forbindelse med kampagner, i
salgsafdelingen ifm. med salg og rabat, i økonomiafdelingen ifm. debitoroplysninger
samt i serviceafdelingen ifm. med hjælp til kunder om produkter og reparation
m.v. BI leverer den rigtige information i den
rigtige form til den rette bruger på det rette tidspunkt, hvilket er nøglen
til de rigtige beslutninger (»Information at your fingertips.«). BI giver feedback til de operative kildesystemer,
så det at de stiller data til rådighed betyder, at de selv står stærkt og
sågar bliver stærkere af feedback ved at højne data registreringskvaliteten
og datadisciplinen. BI bliver en del af forretningens infrastruktur. »Pervasive BI« eller BI
i alt, handler om at indsamle data overalt i forretningen. »BI for the masses«
eller BI til alle, handler om at BI når ud til alle i forretningen, hvorved
der opnås en demokratisering af viden som giver en bedre data kvalitet og troværdige
data bl.a. til SOX (Sarbanes Oxley) og Basel II rapporteringer. Endvidere kan
chefer og medarbejdere blive selvhjulpne til at overvåge og øge performance. »Business Performance Management BPM« handler om processer
for bl.a. årsag-virkning-forbindelser mellem forretningens områder, markedsføring,
forbrugsmønster ved prisnedsættelse, kreditvurdering af kunder, varsling
af kunder på vej væk, risiko for bedrageri, afvigelser fra budget og veldefinerede
mål (Key Performance Indicators KPI via Balanced Scorecard). »Ubiquitous computing BI«
handler om at gøre BI allestedsnærværende og glide i baggrunden for den
enkelte bruger og på naturlig vis understøtte dennes aktiviteter. Læs
mere om Computerstøttet forvarsel. OnLine Analytical Processing (OLAP for
multidimensional data analysis) er en flerdimensionel kube, som præsenterer
data via dimensioner, der er forretningens indgang til analysevariable (measures),
hvor dimensioner giver vinkler til at belyse analysevariable som omsætning,
forbrug, antal kunder, sygefravær og rettidighed. En kube kan ses som en Rubiks
terning (Rubik’s cube billede), hvor man kan vende og dreje de enkelte dele
efter behov gennem forskellige funktionaliteter på dimensioner, som
indeholder en hierarkisk niveau opdeling af data. En økonomi kube har
typisk dimensionerne: Art, Budgetversion, Sted og Tid. Nøgletal er en
kombination af en eller flere dimensioners værdier og en analysevariabel.
Funktionaliteter på dimensioner gennem et analyse og rapporteringsværktøj
såsom Excel
Pivot regneark, Office Web Component OWC, Targit, Temtec, Tableau og Business
Objects, er: · slice-and-dice hvor dimensionsdata skæres til med
filter/zoom/kriterier og dimensioner placeres i forspalten og danner
rækker, og som kolonner og danner en krydstabulering eller pivot
opstilling. Data er »hakket-og-skåret« til analysen. · drill-down til præsentation af dimensionsdata i
gradvis større detaljeringsgrad. · drill-up ser dimensionsdata på højere
aggregeringsniveau og summeret (roll-up). · drill-through viser de bagvedliggende data fra
kildesystemet. · drill-across sammenstiller analysevariable fra
flere kuber via fælles dimensioner. · ranking or sorting præsenterer dimensionsdata
efter en analysevariabel f.eks. kundesegmenter i faldende orden efter salget. · top or bottom til præsentation af f.eks. top 5
produkter eller 10 dårligste kunder salgsmæssigt. · indtaste cellekommentar på
kombinationer af dimensionsdata og analysevariable som forklaring til et
nøgletal f.eks. et beløb eller en procent og at kommentarerne straks kan ses
og læses af andre. · indtaste værdi i
analysevariabel f.eks. måltal eller budget beløb på kombinationer af
dimensionsdata så værdien straks kan ses af andre og indgå i deres analyser. Se eksempel med OWC inklusiv en række programmeret funktioner. Data Mining er en proces, hvor computeren finder
og klarlægger hidtil ukendte mønstre og valide sammenhænge for at give et
bud på fremtiden via hvad-nu-hvis-analyser ud fra fortidens datagrundlag til
nærmere vurdering af, hvor forretningen skal hen og at kunne se fremad.
Data bliver til information. 3. Lagdelt arkitektur En beskrivelse af de fire lag i BI-LIS løsningen der
kaldes: Kildesystem / Source system, Data Staging Area (DSA), Enterprise
Data Warehouse (EDW) og Data Mart Area (DMA), hvor sidst nævnte her i
artiklen indeholder data rettet mod OLAP kuber, som brugere analyserer
og rapporterer på via et OLAP værktøj så som Excel eller Targit. Data anskaffelse, data distribution, data udsøgning,
data behandling, data bearbejdning og data berigelse er vigtige elementer
i al BI for at danne forædlede data, og er den proces der tager over 90% af
udviklingstiden inkl. kravspecifikation med forretningsregler, mens OLAP
kuber tager under 10%. 3.1 Kildesystem
/ Source system Et kildesystem løser en bestemt opgave i en afgrænset
del af organisationen f.eks. et kontor, en funktion, en afdeling, en
division eller en forretningsenhed. Andre betegnelser: OLTP On-Line
Transaction Processing, ERP Entreprise Resource Planning for økonomi, salg,
produktion, lager, indkøbsstyring d.v.s. indre ressourcer, CRM Customer Relationship
Management for kundestyring d.v.s. ydre ressourcer, HRM Human Ressource Management
for personalestyring, SCM Supply Chain Management for logistik samt operationelle
system, kildesystem, datakilde (data source area). En organisation har
ofte en række kildesystemer, der fungerer som selvstændige systemer uden
nogen integration mellem dem. Normalt indeholder et kildesystem operationelle
data og ikke historiske data, d.v.s. databasens indhold er et øjebliksbillede
af virkeligheden, f.eks. kundens nuværende adresse mens tidligere
adresser ikke bliver glemt. Der udarbejdes en Data Profiling (data
profilering) som giver overblik over kildedata, dens struktur og opbygning og
for at afdække evt. problemer og data kvaliteten. 3.2 Data
Staging Area Data Staging Area (DSA)
(dataforberedelses- eller datarangeringsområde) har til formål at varetage og
tilrettelægge udvalgte data fra kildesystemer inden data indlæses i selve
LIS. DSA er en database der normalt er implementeret i samme miljø som BI-LIS,
og databasen indeholder en række tabeller, der repræsenterer data
leverancer fra et kildesystem. En leverance kan være en database fil, csv
fil, txt fil, xml fil, Excel fil m.fl. Det er vigtigt at kende datamodellerne
i kildesystemer og foretage kvalitetsvurdering af dem. En tabel i DSA har
samme kolonner som leverancen og tilnærmelsesvis samme datatyper samt primærnøgle
og fremmednøgle, så der opnås en præcis afspejlning af leverancen fra
kildesystem til DSA (en en-til-en mapning). Jeg anbefaler, at man opbygger
en DSA database for hvert kildesystem, så er de forskellige kildedata adskilt
i data modtagelsen, og senere i en fælles EDW database bliver de forskellige
data i DSA databaserne samkørt og sammenstillet i en fælles datamodel. Den samlede proces i DSA kaldes ETL (Extracting, Transformation, Loading): ·
Extracting omfatter udvinding af data fra kildesystemer og data overførsel
fra kildesystemer til DSA enten ved at DSA henter data direkte i kilde-system,
eller ved modtagelse af en datafil fra kildesystem placeret på et fælles område
f.eks. en ftp server, som DSA indlæser. Et kildesystem kan også være den der
står for overførslen af data til DSA. Udtræksspecifikation, opdateringsfrekvens,
tidspunkt, data mængde og kanal for leverancen registreres som
metadata. Der sondres typisk mellem Full
dump eller Incremental update
eller Delta data detection
leverancer. Full dump omfatter alle data fra kildesystemet (et øjebliksbillede),
mens IU/DD kun indeholder opdateret data siden sidste leverance d.v.s. nye
data, ændrede data og slettede data i kildesystemet til DSA databasen. ·
Transformation omfatter data vask og
data rensning og mindre berigelse af de indlæste data i DSA gennem en proces
for at gøre data mere anvendelig og klar til den videre overførsel til Enterprise Data Warehouse: o
Data Filtering står for
fjernelse af rækker der indebærer dubletter (de-duplication), hvorved der
kan sikres en primærnøgle hvis den ikke allerede er fulgt med fra kildesystemet.
Kaldes business key, application key eller natural key. o
Data Cleansing and Scrubbing står for
undersøgelse af data for at finde fejl og inkonsistenthed (referential integrity) og manglende data f.eks. blanke kolonner der
senere skal indgå i en primærnøgle (where felt is not null), og rette op på
fejlene (inconsistent, inaccurate, incomplete or missing value, invalid data
and improperly formatted data, in good data quality) d.v.s. kvalitetskontrol
og –sikring, konsistenscheck samt håndteringsprocedure i tilfælde af
fejl i data gennem en log. De korrekte rensede data kopieres til en række
DSA_NEW tabeller og frasorteret fejl data kopieres til en række DSA_ERROR
tabeller. o
Data Default Value står
for at tildele en standardværdi til blanke kolonner/felter f.eks. en dato
der kan have en tom værdi i kildesystemet isnull(f1,'19000101') der senere
skal indgå i en opdatering a la denne where f1 <> f2 - virker ikke når et felt har en tom værdi. Eller et
beløb felt der kan indeholde null sættes til 0 eller et tomt tekstfelt sættes
til '-' eller 'Ukendt'. Derved opnås at kolonner/felter kan gøres til not
null felter d.v.s. altid-har-værdi felter i DSA_NEW tabellen. o
Data Renaming står for
oversættelse til sigende kolonnenavne i DSA_NEW tabeller, fordi kildesystemer
ofte anvender forkortelser, koder og bruger gamle kolonner til nye formål.
Sigende kolonnenavne er vigtige for de forretningsregler der senere skal
udarbejdes på data. o
Data Derivation and Enhancement står for håndtering af afledte data der
gemmes i nye kolonner f.eks. et Cprnr der leveres fra kildesystem som heltal
konverteres til en 10-cifret tekststreng der vil starte med 0 for de
personer som er født i de første 9 dage i måneden og mindre berigelse af
ekstra kolonner som Fødselsdato, Alder og Køn udregnet på basis af Cprnr og
datoen for indlæsningen. Er dagsdato den 30. januar 2008 og personen er født
den 1. februar 1966, så er personens alder 41 år. Der kan også være en dato
blandt data som alder beregnes ud fra, så man har alderen på det tidspunkt registreringen
blev foretaget. o
Data Identity står for dannelse af et entydigt nummer pr. data forekomst
eller instans, f.eks. medarbejdere fra tre kildesystemer med forskellige
business keys (Cprnr, Lønnummer, BrugerIdent) forenes medarbejderne, så de
får et nyt Id-nummer der sendes videre til både test- og produktionsmiljøets
EDW, der derved anvender samme Id. ·
Loading omfatter tilrettelæggelse af data, klar til overførsel til enten
et Enterprise Data Warehouse eller nogen gange et Operational Data Store
(ODS) der håndterer de historiske data over en længere periode, hvorfra data
viderebehandles og til sidst overføres til Enterprise Data Warehouse. Databasenavngivning
er <løsningsnavn>_DSA_<kildesystemnavn> da det anbefales at
have en DSA database for hvert af kildesystemerne til BI-LIS. Tabelnavngivningen
i DSA databasen kan indeholde fem prefix: ·
DSA_SOURCE_<tabelnavn> med et tabelnavn uden mellemrum svarende til
kildesystemets leverance navngivning. Tømning ved ETL start. ·
DSA_TMP_<tabelnavn> med et tabelnavn uden mellemrum for de temporærer
tabeller der anvendes i transformationen. Tømning ved ETL start. ·
DSA_RULE_<regelnavn> med et regelnavn uden mellemrum indeholdende
forskellige opsætnings- og regeldata til brug for transformationen. ·
DSA_NEW_<tabelnavn> med et tabelnavn uden mellemrum svarende til
kildesystemets leverance navngivning. Tømning ved ETL start. Tabellen skal
have en primærnøgle (et, to eller flere felter som sammensat primærnøgle),
fordi der ofte skal foretages et link eller join til en tabel i det næste
database lag kaldet EDW, samt at primærnøglen sikrer, at der er renset ud for
dubletter og ikke valide data hvor felt i primærnøglen er blank. ·
DSA_ERROR_<tabelnavn> med et tabelnavn uden mellemrum svarende til
kildesystemets leverance navngivning med de fejl data der blev identificeret
under transformationen, klar til fejlmelding til driften eller brugere. Rullende
månedsvis tømning ved ETL start. Der bør foreligge en fuld dokumentation af tabellernes
kolonner, indhold, forståelse og anvendelse samt af de forretningsregler
der ligger til grund for transformationen. Processen kort, at kildesystemernes data leverancer indlæses
til DSA_SOURCE tabeller hvis indhold kontrolleres via forretningsregler i
DSA_RULE tabeller og mindre berigelse af nogle data, så korrekte data ender
i DSA_NEW tabeller og fejl data i DSA_ERROR tabeller. Læs mere om
kildedata og DSA opdatering. 3.3 Enterprise
Data Warehouse Enterprise Data Warehouse (EDW) har til formål at varetage en integreret, samkørt, forædlet,
valideret, høj data kvalitet, konsistent, ca. 80% normaliseret og redundant
fri konsolideret aktuel og historik relationel database via en systematisering
og harmonisering af data gennem enighed om fælles entydige definitioner
på tværs af kildesystemer. Data kommer fra flere DSA databaser og bliver
samkørt og sammenstillet i en samlet
datamodel med en række entiteter (tabeller) i en række en-til-mange
relationer og en-til-mange-til-mange relationer med primærnøgle som
et fortløbende nummer Id (surrogate identity key, auto incremental) og tilhørende fremmednøgle Id.
Datamodellen skal sikre historik,
og vil på flere punkter adskille sig fra datamodellerne i kildesystemerne.
EDW indeholder også kildesystemernes egne primærnøgler (business key,
application key, natural key) og de anvendes ved indlæsning af data fra
DSA. Når kildesystemerne skal skabe en fælles enighed og forretningsdefinition af stamdata (master
data) f.eks. leverandør, kunde og produkt kaldes processen Master Data
Management (MDM), hvor der opnås en fælles datadefinition af en kundens
navngivning og adresse m.fl. som registreres i et meta data repository.
Herved opnås en forbedring af datakvalitet og dataintegration og en
formulering af en data governance (forvaltning) der øger datadisciplin i
kildesystemerne. (Ved dannelse af et XML dokument anvendes et XML
schema som er meta data definitioner til at sikre et validt indhold i XML
filen.) EDW databasen indeholder alle data for BI-LIS løsningen, og data opdeles i
flere data områder inde i EDW databasen:
Nøgletalsdata er ofte en foreningsmængde af de andre
data områder, og udvalgte data kan blive sendt videre til en data mart i en
ny database til forretningens brugere i form af ad hoc søgninger,
rapporter, filer og OLAP kuber med dimensioner. Normalt vil en EDW database
kendetegne et LIS i en organisation og beskrive LIS virkefelt i
organisationen. Nøgletalsdata omfatter de dannede data baseret på
forretningsregler for en data udsøgning i EDW basis data og for en data
berigelse, hvilket giver en data forædling på tværs af kildedata fra kildesystemer
og helt nye datasæt til videre beslutninger i organisationen. Et eksempel på en simpel forretningsregel er data
udsøgning blandt flere rækker af data som hver har en dato og der ønskes kun
én bestemt række ud fra enten princip a eller b: a) Den række med tidligste dato. (eller ældste dato, mindste dato, minimum) b) Den række med seneste dato. (eller yngste dato, nyeste dato, maksimum) Det kan sikkert
forekomme blandt data rækkerne, at to eller flere rækker har samme dato
hvorved principperne ikke udvælger én bestemt række, så forretningsreglen
må udvides ved at inddrage et nummer (id) som er unik/entydig pr. række: a) Den række med tidligste dato og dernæst mindste nummer. b) Den række med seneste dato og dernæst største nummer. Tidligst kl. 8:00
d.v.s. ikke tidligere, ikke før. Senest kl. 8:00 d.v.s.
ikke senere, ikke efter, d.v.s. inden eller senest den dag. En organisation behøver ikke at have ét EDW, men kan have flere der er
afgrænset til lokal organisatorisk enhed, forretningsområde eller
division. Eksempelvis i medicinalbranchen vil et EDW dække forskningsområdet,
og et andet EDW står for hvad der sker produktions- og salgsmæssigt. Den samlede proces i EDW kaldes ETL (Extracting, Transformation, Loading): ·
Extracting omfatter data overførsel fra DSA til EDW gennem forretningsregler
for data udsøgning: o
Data Purging står for
præcisering af ønskede rækker og kolonner, hvorved der opnås en frasortering
af data mængden fra DSA og derved fra kildesystemer. o
Data Filtering står for
fjernelse af rækker der indebærer dubletter (de-duplication) eller jævnfør forretningsregler for data der skal medtages eller skal
frasorteres (fuzzy logic, pattern recognition, matching). ·
Transformation omfatter behandling,
bearbejdning og berigelse samt opstilling af data gennem en række processer
for at opnå ensartede data (high data quality, consistentness, accuracy,
completeness and valid data) og håndtering af historiske data baseret på
forretningsregler: o
Data Integration står
for data konvertering til fælles datatyper og dannelse af sigende udtryk der
forstås af hele organisationen. En samkøring af flere kildesystemer kræver
ofte et nyt fælles begrebsunivers, så forskellige data repræsentationer kan
blive forenet til en repræsentation af data for at opnå ensartethed og fælles
notation af data. o
Data Mapning and Migration står for omkodning og oversættelse (translation,
standardizing) af data gennem en række mapningsregler for at opnå ensartet
data indhold. I økonomi verden anvendes udtrykket en kontobro mellem forskellige
kontoplaner der skal samkøres til en fælles kontoplan som derved kan
benyttes for hele koncernes økonomi data. o
Data Transposing står for tilpasning af data for at undgå anomalier
(anomalous value) og opnå konsistente data f.eks. København eller Cph bliver
til Kbh eller 10.000 bliver til 10 jf. forretningsregel om at gemme i
enheden tons fremfor kg. o
Data Sources Combining
and Merging står for samkøring af data for at tilvejebringe data der forener
kildesystemerne ud fra en række forretningsregler, så data bliver parret sammen, kaldet konsolidering af data. o
Data Auditing and Validation står for en række kontroller på data i følge
syntaks og forretningsregler, hvor fejl data kopieres til en række EDW_ERROR tabeller. o
Data Derivation and Enhancement står for håndtering af afledte data og
beregninger (calculation) der gemmes i nye kolonner jf. forretningsregler. o
Data Historical står for håndtering af historiske data jf. forretningsregler. o
Data Summarization and
Ordering står for summering af data til et højere aggregeringsniveau
(aggregation, granularity) for at begrænse mængden, f.eks. fra dato- til
månedsniveau samt at sortere data på bestemte måder. Granulering af data fra
atomare data til aggregerede data ud fra forretningsregler og kendskab til den senere data anvendelse. o
Creating Surrogate Identity
Keys står for oversættelse af kildesystemernes primærnøgler til fortløbende
nummer Id (auto incremental) og skabelse af fremmednøgler Id til
en-til-mange relationer, så der opnås en uafhængighed til primærnøgle-ændringer
i kildesystemer. Jeg er tilhænger af, at hvert sæt af data får deres eget
fortløbende nummer startende fra nummer 1, fremfor en unik global reference
Id generering af samtlige data kaldet ref eller globalref tabel, men anvendes
et arkiv mellem dsa og edw kan det være praktisk med et globalt id nummer per
række i arkivet uanset hvilken tabel data er i. ·
Loading omfatter tilrettelæggelse af data til indlæsning i EDW, hvor de
historiske data skal bibeholdes mens de nye data til EDW enten skal
tilføjes eller skal overskrive de eksisterende data i EDW. Håndtering af historik vil ske via en-til-mange
relationer, hvor de historiske data vil blive lagret i mange-tabeller som vil
have to datoer: HistorikStartdato
og HistorikSlutdato for den
periode datum var aktuelt og havde virke i, og det nuværende aktuelle datum
vil have HistorikSlutdato 31-12-9999.
Når der senere hen kommer et nyere aktuelt datum, opdateres seneste aktuelle
datum til i gårsdato, hvis perioden ikke er givet fra kildesystemet, og der
bliver indsat en ny række i tabellen med nyeste aktuelle datum med HistorikStartdato
som dagsdato og med HistorikSlutdato 31-12-9999. Indlæsning til EDW gennem
DSA er afhængig af kildesystemet leverance data indhold d.v.s. Full dump data
eller Incremental update eller Delta data detection. Ved Incremental update
vil EDW indeholde data som er blevet slettet i kildesystemet og derved
markerer EDW data med en Slettetdato
og sletter ikke selv data, da det formentlig skal bruges til håndtering af
historiske data, hvorved EDW også ændrer HistorikSlutdato til dagsdato, så
man ved, at data er blevet slettet i kildesystemet og ikke må anvendes efter
den dato. Man ser også oplysninger som ErSlettet
får værdien True når data er slettet i kildesystemet, og ErAktuel (eller ErNyeste) får værdien True ud for aktuelle data
række som også har HistorikSlutdato 31-12-9999. En-tabellen (hovedtabellen) kan også med fordel have to
datoer: GældendeStartdato og GældendeSlutdato, hvor sidstnævnte
sættes til dagsdato når kildesystemet ikke mere leverer det datum, f.eks. en
udgået vare. Ved delta data leverancer fra et kildesystem vil der typisk være
en status oplysning a la: N for new data, C for changed data og D for
deleted data, som indlæsningen (incremental update) til EDW orienterer
sig mod for at opdatere datoer og data i EDW. Når EDW ikke skal håndtere
historik på et datum, f.eks. et navn på en vare i kildesystem, kan tabellen have
en Oprettetdato og Opdateretdato så man ved, hvornår
data er blevet oprettet (indsat), og hvornår data sidst er blevet opdateret
(ændret) som følge af en ændring af varens navn i kildesystemet. Der kan også
være en Slettetdato så man ved,
hvornår data ikke mere findes i kildesystemet. Se eksempel på EDW opdatering. Databasenavngivning er <løsningsnavn>_EDW. Tabelnavngivningen i EDW databasen kan indeholde syv
prefix: ·
EDW_TMP_<tabelnavn> med et tabelnavn uden mellemrum for de temporærer
tabeller der anvendes i transformationen. Tømning ved ETL start. ·
EDW_RULE_<regelnavn> med et regelnavn uden mellemrum indeholdende forskellige
opsætnings- og regeldata til brug for transformation, d.v.s. data udsøgning
og data berigelse. ·
EDW_MAP_<mapningsnavn> med et mapningsnavn uden mellemrum indeholdende
forskellige omkodninger og oversættelser til brug for transformation. ·
EDW_ERROR_<tabelnavn> med et tabelnavn uden mellemrum for de fejl data
der blev identificeret under transformationen, klar til driften eller brugere.
Rullende månedsvis
tømning ved ETL start. ·
EDW_NEW_<tabelnavn> med et tabelnavn uden mellemrum svarende til
entiteter i datamodel og indeholdende de nye data fra kildesystemer inden
overførsel til EDW_DB der også indeholder de historiske data som ikke findes
i EDW_NEW. Tømning ved ETL start, og kan få tildelt højeste fortløbende Id + 1 fra EDW_DB tabeller eller man lader Id genereringen ske ved
indsættelsen i de enkelte EDW_DB tabeller. ·
EDW_DB_CURRENT_<tabelnavn> med et tabelnavn uden mellemrum svarende
til entiteter i datamodel, der ikke håndterer historisk data, og har oplysninger
om GældendeStartdato og GældendeSlutdato samt Opdateretdato. Omfatter både
basis data og nøgletalsdata, hvor nøgletalsdata igen kan fungere som basis
data for andre nøgletalsdata. Nøgletalsdata har et tidsstempel f.eks. en
ÅrUge der angiver, for hvilken uge i året data er gældende for, eller en
ÅrMåned der angiver måneden i året som data repræsenterer eksempelvis
listen over kunder og salget til dem i en bestemt måned. En ETL vil gendanne
nøgletalsdata for tidligere perioder i året, når kildesystemer ofte er lang
tid om at være opdateret med alle månedens registreringer. ·
EDW_DB_HISTORICAL_<tabelnavn> med et tabelnavn uden mellemrum svarende
til entiteter i datamodel, der håndterer historisk data via oplysninger om
HistorikStartdato og HistorikSlutdato. Omfatter basis data, og nøgletalsdata
har tidsstempel og bliver ikke gendannet ved senere ETL grundet rapporteringsgrundlaget
ønskes bibevaret, så der opnås en data skive pr. periode baseret på periodens
forretningsregler der ofte ændrer sig over tid. Der bør foreligge en fuld dokumentation af tabellernes
kolonner, indhold, forståelse og anvendelse samt af de forretningsregler
der ligger til grund for transformationen. Processen kort, at DSA_NEW tabellernes indhold
transformeres gennem en række EDW_TMP tabeller via forretningsregler i
EDW_RULE og EDW_MAP tabeller, så korrekte data ender i EDW_NEW tabeller og
fejl data i EDW_ERROR tabeller, hvorefter data fra EDW_NEW tabeller
indlæses til EDW_DB tabeller. 3.4 Data Mart
Area Data Mart Area (DMA)
har til formål at varetage en række konkrete anvendelser af data fra EDW
gennem data udsøgning, data behandling, data bearbejdning og data berigelse
baseret på forretningsregler til præsentation. Fra EDW anvendes både basis
data og nøgletalsdata i DMA kombineret med yderligere data forædling afhængig
af opgaven og forretningsområdet. DMA er begrænset og fokuseret på et emne
orienteret anvendelsesområde til en afgrænset gruppe af brugere organisatorisk
og funktionelt. Der kan sagtens være flere data marter til udstilling og
præsentation af forskellige nøgletal. DMA kan levere data til eksempelvis et
regneark, rapporter, ad hoc søgninger i SAS eller til en OLAP kube med dimensioner.
Et DMA kan også levere data til flere OLAP kuber indeholdende flere measuregroups
med fælles dimensioner (shared dimensions). Når DMA skal anvendes til
at levere data fra EDW til en OLAP kube, bliver data i DMA opstillet i en datamodel
kaldet dimensionel modeling med dimensioner og factdata. Factdata beskriver
det faktum der er sket, og dimensioner beskriver de tilhørende data. Eksempelvis
hændelsen: »Den 7. februar 2006 sælges fire
laptop computere til Novo Nordisk.« Faktum er salget med tilhørende målbar oplysning:
antal varer som kaldes en analysevariabel (measure). Dimensioner er Tid, Kunde
og Vare, der typisk er hierarki niveau inddelt f.eks. Tid i År Halvår
Kvartal Måned Uge Dato, Kunde i forskellige segmenter og Vare i forskellige
sortimenter. DMA
dimensionaliseret data model dimensional modeling består af tre skemaer: ·
Star schema består af flere dimensions tabeller og en
factdata tabel, d.v.s. en measuregroup i en kube. En dimension med flere
niveauer i hierarkiet er denormaliseret og repræsenteret ved en
dimensions tabel. Alle dimensions tabeller er forbundet til factdata
tabellen. Stjerne skema. Eksempel ·
Constellation schema består af flere
dimensions tabeller og flere factdata tabeller der deler en række
dimensions tabeller, d.v.s. flere measuregroups i en eller flere kuber med
fælles dimensioner. En dimensionstabel kan være forbundet til forskellige
factdata tabeller. Constellation betyder stjernebillede d.v.s. flere
stjerne skemaer der anvender samme fælles dimensioner (shared dimensions). Eksempel ·
Snowflake schema består niveauer i hierarkiet af en dimension
af flere normaliseret dimensions tabeller, således at ikke alle dimensions
tabeller er forbundet til factdata tabellen. Når et hierarki er opdelt i
flere dimensions tabeller, kan de hver for sig være forbundet til forskellige
factdata tabeller. Eksempel Star schema vedrører et
afgrænset emne, mens Constellation schema vedrører en række emner som har
fælles dimensioner hvorved der opnås en samkøring af information på tværs af
emner og de forskellige funktioner i organisationen. Læs mere om dimensional modeling. DMA er en database som normalt er implementeret i samme
miljø som LIS. Den samlede proces i DMA kaldes ETL (Extracting, Transformation, Loading): ·
Extracting omfatter data overførsel fra EDW til DMA gennem forretningsregler
for data udsøgning: o
Data Purging står for
præcisering af ønskede rækker og kolonner f.eks. begrænses de historiske data
til de sidste fem år. ·
Transformation omfatter behandling,
bearbejdning og berigelse samt opstilling af data gennem en række processer
for at opnå den ønskede anvendelse baseret på forretningsregler: o
Data Integration står for håndtering af »ukendte« og »uden« (mangler, blank, tom, null) data værdier i dimension
og factdata. o
Data Derivation and Enhancement står for udsøgning af data til dimensionsdata
ved sammenstilling og gruppering af værdier, antalsberegning pr. en periode,
netto bevægelse og andre analysevariable til factdata til senere udstilling og
præsentation i kube. o
Data Mapning and Migration står for omkodning og oversættelse (translation)
af data gennem en række mapningsregler for at opnå bestemte
dimensionsværdier og tilretning af factdata. o
Slowly Changing
Dimensions står for håndtering af dimensionsdata som øjebliksbillede og/eller
med historiske data d.v.s. tidligere værdier og hierarkiske placeringer. Læs artikel om dimensioner. o
Data Summarization and
Ordering står for summering af data til et højere aggregeringsniveau
(granularity) for at begrænse data mængden, f.eks. fra dato- til månedsniveau
samt at sortere data på bestemte måder i dimension og factdata. o
Reuse EDW Identity Keys
Id per dimensionsdata i dimensionstabeller skal som udgangspunkt komme fra
EDW databasen og indgå som fremmednøgler i factdata tabeller. En kalender,
tid eller periode dimension kan med fordel anvende en yyymmdd talværdi som
Id, som factdata kan være clustered efter til sikring af hurtigere svartider
(performance) fordi data ofte skal afgrænses inden for en periode. o
Creating Surrogate Identity
Keys står for fortløbende nummer Id hvilket kan være nødvendigt ved nogle særlige
dimensionsdata der ikke findes i EDW databasen. o
Data Auditing and Validation står for en række kontroller på data f.eks.
at alle dimensionskolonner i factdata er udfyldt og findes i dimensions tabeller
(referential integrity). Fejl data flyttes til en række DMA_ERROR tabeller. ·
Loading omfatter tilrettelæggelse af data til indlæsning i DMA, hvor det
må vurderes om dimension og factdata tabeller tømmes eller der kun
indlæses delta data. DMA kan sagtens indeholde dimensions tabeller, hvis
indhold er faste og ikke ændres af ETL f.eks. en kalender og forskellige serie
grupperinger (discretization) (rød, gul, grøn for status eller 0-12,
13-19, 20-29, 30-66, 67-199 for aldersgrupper. Databasenavngivning
er <løsningsnavn>_DMA_<evt. et præciserede navn>. Tabelnavngivningen
i DMA databasen kan indeholde syv prefix: ·
DMA_TMP_<tabelnavn> med et tabelnavn uden mellemrum for de temporærer
tabeller der anvendes i transformationen. Tømning ved ETL start. ·
DMA_RULE_<regelnavn> med et regelnavn uden mellemrum indeholdende
forskellige opsætnings- og regeldata til brug for transformation af både dimensionsværdier
og factdata, d.v.s. for data udsøgning og data berigelse. ·
DMA_MAP_<mapningsnavn> med et mapningsnavn uden mellemrum
indeholdende forskellige omkodninger og oversættelser til brug for transformation
af dimensionsværdier. ·
DMA_ERROR_<tabelnavn> med et tabelnavn uden mellemrum for de fejl data
der blev identificeret under transformationen, klar til driften og brugere. Tømning
ved ETL start. ·
DMA_DIM_<tabelnavn> med et tabelnavn uden mellemrum som er en dimensions
tabel til en OLAP kube. Dimensions
tabel skal have samme navn som dimension i kuben. ·
DMA_FACT_<tabelnavn> med et tabelnavn uden mellemrum som er en
factdata tabel til en OLAP kube. Factdata tabel skal have samme navn som measuregroup i kuben. ·
DMA_DB_<tabelnavn> med et tabelnavn uden mellemrum som står for en
data leverance f.eks. til et regneark til brugere eller et xml dokument til
visning af data på en hjemmeside eller til indlæsning i et andet system.
Tabellen anvendes også til at indeholde summeret data som brugere ofte forespørger
på for at opnå hurtig svartid (materialized view). Viewnavngivningen
i DMA mod kubens dimensioner og measuregroups: ·
DIM_<dimensionnavn> svarende til dimensions tabel. View kan
sammensætte Kode + Værdi til et Navn f.eks. Per Hansen - 120980-3271, hvor cprnr
er Kode og Per Hansen er Værdi kolonner i dimensions tabellen. ·
FACT_<factdatanavn> svarende til factdata tabel og evt.
indeholdende beregninger f.eks pris inkl. moms. Der bør foreligge en fuld dokumentation af tabellernes
kolonner, indhold, forståelse og anvendelse samt af de forretningsregler
der ligger til grund for transformationen. Se eksempel på DW/DMA opdatering. Processen kort, at EDW_DB tabellernes indhold transformeres
gennem en række DMA_TMP tabeller via forretningsregler i DMA_RULE og DMA_MAP
tabeller, så dimensionsdata ender i DMA_DIM tabeller hvor data får en primærnøgle
Id, factdata ender i DMA_FACT tabeller med fremmednøgle Id og fejl data i DMA_ERROR
tabeller. Afhængig af data mængden og ETL forløbet foretages der enten en tømning
af DMA_DIM og DMA_FACT tabeller eller der sker en delta opdatering, d.v.s.
der foretages en tilføjelse af nye data, opdatering af eksisterende data og
sletning af ikke mere eksisterende data. Det vigtigste er, at der sikres
reference integritet mellem dimensionsdata og factdata, så factdata tabellen ikke
refererer til en dimensionsdata der ikke findes i dimensionstabellen (referential
integrity). 4. Navngivning af løsning og projekter En samlet løsning for BI-LIS kunne være: Løsningsnavn: <Løsningsnavn>_LIS. Databaserne skal prefixes med løsningsnavn, så der er
sporbarhed mellem elementerne i den samlede BI-LIS løsning. Projekter i løsningen får prefix løsningsnavn og derefter
et prefix AS, IS, RS for projekttypen for h.h.v. Analysis Services,
Integrated Services og Report Services. Et AS projekt indeholder fælles dimensioner og en eller
flere kuber (superkuber) som hver indeholder en eller flere measuregroups. En
measuregroup indeholder analysevariabel (nøgletal, measure) som prefixes med
navnet på measuregroup og en analysevariabel placeres i en mappe (display
folder). Det gælder også beregnet analysevariabel (calculated measure),
som kan gå på tværs af measuregroups ved at anvende analysevariable fra
forskellige measuregroups. Analysevariabel kan oversættes til et sigende
navn for brugerne i Excel og Targit m.fl. Dimensioner og analysevariable kan
samles i perspektiver, så brugerne ser på et perspektiv af gangen og frit
kan kombinere dimensioner og analysevariable inden for et perspektiv. Et IS projekt indeholder en eller flere IS-pakker, og
deres navne skal ligeså være unikke, derfor prefixes IS-pakke navnene med
løsningsnavn og projektnavn. Et IS projekt indeholder en række modulopdelte
IS pakker, der bliver afviklet fra en master IS pakke der bliver starter af
et job på et bestemt tidspunkt. XML konfigurationsfil til connections
anvendes for hurtig idriftsættelse af IS pakker fra udviklingsmiljø over
testmiljø til produktionsmiljø. Et RS projekt indeholder en række rapporter til Report
Services der tilgås fra web, sharepoint eller en applikation. Eksempel
på ønsket navngivning i en XXX løsning som består af to dele (solutions) for
frontend og backend opdelt i projekter.
|
||||||||||||||||||||||||||||||||||||||||||||
|
|