Upload
malin-johansson
View
236
Download
0
Embed Size (px)
Citation preview
Beslutsstöd – Centrala begrepp
Syftet med presentationen är att ge en grundläggande förståelse kring centrala begrepp inom området beslutsstöd
Beslutsstöd (business intelligence) - sammanfattande benämning på programvaror och lösningar som används för att samla in, konsolidera, analysera och rapportera en verksamhets data.
Data kan vara lagrat på olika ställen och i olika system eller komma från externa källor.
Presentation
Datalager
Data Staging Area
RDBMS
Källsystem
Fil
Extrahera LaddaEkonomi
CRM
Försäljning
Analysverktyg
Arbetsstation
Laptop
Laptop
Laptop
Arbetsstation
Hämta
Beslutsstöd – Mål med datalager
Information är en av verksamhetens viktigaste tillgångar/resurser, den lagras i de operationella system där data kommer in och i datalagret där data kommer ut. Målen med ett datalager är att:
Göra verksamhetens information tillgängligt – innehållet i datalagret skall vara förståeligt, navigerbart och snabbt tillgängligt.
Göra verksamhetens information konsekvent – om flera mätvärden har samma namn skall de betyda samma sak.
Vara en anpassningsbar och flexibel källa till information – datalagret skall vara byggt för förändringar.
Vara en säker plats som skyddar verksamhetens informationstillgångar.
Vara grunden för belutsfattande i verksamheten.
Beslutsstöd - Källsystem
Källsystem är de operationella system innehållande rader som fångar transaktionerna i verksamheten
I de operationella systemen är upptid och tillgänglighet viktigt, dessa system innehåller endast lite historisk data.
Presentation
Datalager
Data Staging Area
RDBMS
Källsystem
Fil
Extrahera LaddaEkonomi
CRM
Försäljning
Analysverktyg
Arbetsstation
Laptop
Laptop
Laptop
Arbetsstation
Hämta
Beslutsstöd – Data Staging Area
Data Staging Arean är en lagringsplats och ett antal processer som tvättar, omvandlar, kombinerar, tar bort dubbletter, städar och förbereder data för användning datalagret
Data Staging Arean ligger mellan källsystem och presentationslagret, den är ej till för frågor och presentation och kan bestå av både filer och relationsdatabaser.
Presentation
Datalager
Data Staging Area
RDBMS
Källsystem
Fil
Extrahera LaddaEkonomi
CRM
Försäljning
Analysverktyg
Arbetsstation
Laptop
Laptop
Laptop
Arbetsstation
Hämta
Beslutsstöd – ETL
Data Staging (ETL) är den viktigaste processen i ett datalager och består av subprocesserna Extrahera, Transformera och Ladda
Extrahera (Extract) – första steget är att få in data i datalagret ifrån källsystemen. Det handlar om att läsa, förstå och kopiera de delar som skall till data staging arean.
Transformera (Transform) – andra steget är att på den data som laddats till staging arean utföra ett antal omvandlingar av data:
– Tvätta: rätta felstavningar, lösa ev. konflikter (t ex postnr och ort), hantera data som saknas, omvandla data till standardformat.
– Ta bort fält, överförda från källsystemet, som inte skall användas.– Kombinera datakällor genom matchning eller uppslagning av koder.– Skapa surrogatnycklar, man får inte återvända källsystemsnycklar.
Ladda (Load) – tredje steget är att ladda fakta och dimensionstabeller. Tabellerna indexeras därefter för att förbättra frågeprestandan.
För att bygga/koda ETL används oftast speciella ETL-verktyg, några vanliga är MS Integration Services (SSIS), Informatica, Data Stage, Oracle Warehouse Builder och BO Integrator.
Beslutsstöd – Presentationsserver
I Presentationsservern är data i datalagret (Data Warehouse) organiserat och lagrat för frågor från slutanvändaren, rapporter och andra applikationer
Slutanvändarverktyg - en uppsättning verktyg som frågar, analyserar och presenterar information.
Analysverktyg - datalagerklienter för SQL-frågor, rapporter, grafer, ad-hoc frågor (användaren skapar egna frågor) eller datamining.
De vanligaste verktygen inom beslutsstöd kommer från Business Objects, Cognos, SAS och Microsoft.
Presentation
Datalager
Data Staging Area
RDBMS
Källsystem
Fil
Extrahera LaddaEkonomi
CRM
Försäljning
Analysverktyg
Arbetsstation
Laptop
Laptop
Laptop
Arbetsstation
Hämta
Dimensionsmodellering är en alternativ teknik till E/R-modellering för att modellera data i ett datalager, dimensionsmodell kallas ofta stjärna
Dimensionsmodellen innehåller samma information som E/R-modellen men är designad för användbarhet, frågeprestanda och flexibilitet för förändringar.
Huvudkomponenter i modellen är fakta- och dimensionstabeller.
När fakta- och dimensionstabeller i en dimensionsmodell binds ihop kallar man det en stjärna (star schema)
Beslutsstöd – Stjärna
Fakta Försäljning
Datum Nyckel (FK)Produkt Nyckel (FK)Butik Nyckel (FK)Kampanj Nyckel (FK)Fakta...
Dimension Datum
Datum Nyckel (PK)Datum Attribut...
Dimension Butik
Butik Nyckel (PK)Butik Attribut...
Dimension Produkt
Produkt Nyckel (PK)Produkt Attribut...
Dimension Kampanj
Kampanj Nyckel (PK)Kampanj Attribut...
Beslutsstöd - Snowflake
Stjärnor är denormaliserade och om man normaliserar dessa kallas de snowflake (snöflinga), en totalt normaliserad snowflake hamnar i 3:NF
Normalisering av ett datalager kommer innebära försämrad frågeprestanda, p.g.a fler joins, och en mer komplex informationsstruktur för användarna och skall alltid undvikas.
Dimension Produkt
Produkt Nyckel (PK)ProduktbeskrivningEAN kod (Natural Key)Produktgrupp Nyckel (FK)Produktkategori Nyckel (FK)AvdelningFörpackningstyp Nyckel (FK)FettinnehållKaloriinnehållViktLagringHållbarhet….mm
Fakta Försäljning
Datum Nyckel (FK)Produkt Nyckel (FK)Butik Nyckel (FK)Kampanj Nyckel (FK)Fakta...
Dimension Datum
Datum Nyckel (PK)Datum Attribut...
Dimension Butik
Butik Nyckel (PK)Butik Attribut...
Dimension Kampanj
Kampanj Nyckel (PK)Kampanj Attribut...
Dimension Produktgrupp
Produktgrupp Nyckel (PK)Produktgrupp Attribut..
Dimension Produktkategori
Produktkategori Nyckel (PK)Produktkategori Attribut...
Dimension Förpackningstyp
Förpackningstyp Nyckel (PK)Förpackningstyp Attribut...
Beslutsstöd - Faktatabell
Faktatabellen är huvudtabell i varje dimensionsmodell och innehåller mätvärden från verksamheten
En rad i en faktatabell motsvarar ett mätvärde, ett mätvärde är en rad i en faktatabell. Alla mätvärden i en faktatabell måste vara av samma detaljeringsgrad.
De mest användbara fakta i en faktatabell är numeriska och adderbara.
Faktatabeller har ett många-till-många förhållande till dimensionstabeller.
Fakta eller numerisk data har två eller flera främmande nycklar till respektive dimensionstabell.
Faktatabeller innehåller få kolumner och många rader.
Fakta Daglig Försäljning
Datum Nyckel (FK)Produkt Nyckel (FK)Butik Nyckel (FK)Sålt Antal Försäljningsbelopp
Datum Nyckel Produkt Nyckel Butik Nyckel Sålt Antal Försäljningsbelopp
20080315 1034 78 7 714
20080315 1035 78 35 1335
Beslutsstöd - Dimensionstabell
Dimensionstabellerna innehåller textuella beskrivningar av verksamheten och är den primära källan för filtrering och gruppering av data
Dimensionstabellerna innehåller förutom en primärnyckel ett antal textattribut som används för filtrering och gruppering av frågor.
Dimensionstabeller är ingångspunkten till faktatabellen och gränssnittet mot datalagret.
Dimensionsattributen ger möjlighet att bryta ner data och se på det ur olika perspektiv (”slice and dice”).
Det som anges efter per i frågor och rapporter är dimensionsattribut.
Dimensionstabeller har många kolumner (attribut) och få rader.
Dimension Produkt
Produkt Nyckel (PK)ProduktnamnProduktbeskrivningEAN kod (Natural Key)Produktgrupp Nyckel (FK)Produktkategori Nyckel (FK)AvdelningFörpackningstyp Nyckel (FK)FettinnehållKaloriinnehållViktLagringHållbarhet….mm
Produkt Nyckel ProduktnamnProduktbeskrivning EAN kod
Produktgrupp
Produktkategori
1034 Citronglass SIA citronglass 1 l48345335 Gräddglass Glass
1035 Vanilglass SIA vaniljglass 1 l46832425 Gräddglass Glass
Beslutsstöd – Slowly Changing Dimensions
Slowly Changing Dimensions (SCD) - dimensioner innehållande data som långsamt förändras, vilken typ av SCD man väljer beror på hur mycket historik man vill spara.
Typ 1 – Den nya raden ersätter orginalraden, inga spår kommer att finns av den gamla raden d v s ingen historik sparas.
Typ 2 – En ny rad läggs till i dimensionstabellen, butiken hanteras som två olika butiker, detta medför att det finns oändlig historik om butiken.
Typ 3 – Orginalraden modifieras för att spegla förändringarna, man har t ex en kolumn för orginalnamnet och en kolumn för det nuvarande namnet och en kolumn som talar om från när det nuvarande namnet gäller.
ButikNyckel ButikNamn ButikOrt101 Nisses livs Kista
ButikNyckel ButikNamn ButikOrt Version101 Nisses livs Kista 0
102 Nisses livs Södertälje 1
ButikNyckel ButikNamn ButikOrt StartDatum SlutDatum101 Nisses livs Kista 2000-01-01 2008-03-31
102 Nisses livs Södertälje 2008-04-01
ButikNyckel ButikNamn OrginalButikOrt StartDatum NuvarandeButikOrt101 Nisses livs Kista 2008-04-01 Södertälje
ButikNyckel ButikNamn ButikOrt101 Nisses livs Södertälje
För att öka frågeprestandan ytterligare kan man ladda så kallade kuber med data ifrån dimensionstabellerna, i kuberna lagras föraggregerad data
Kuber är flerdimensionella och kan jämföras med pivottabeller.
Microsoft Analysis Services (SSAS) använder en typ av kub som kallas OLAP (On-Line-Analytic-Processing).
I OLAP-kuber används MDX (MultiDimensional Expression) istället för SQL för frågor/manipulation av data:
SELECT { [Measures].[Store Sales] } ON COLUMNS, { [Date].[2002], [Date].[2003] } ON ROWS
FROM Sales WHERE ( [Store].[USA].[CA] )
Beslutsstöd – Kub
Fakta Försäljning
Datum Nyckel (FK)Produkt Nyckel (FK)Butik Nyckel (FK)Kampanj Nyckel (FK)Fakta...
Dimension Datum
Datum Nyckel (PK)Datum Attribut...
Dimension Butik
Butik Nyckel (PK)Butik Attribut...
Dimension Produkt
Produkt Nyckel (PK)Produkt Attribut...
Dimension Kampanj
Kampanj Nyckel (PK)Kampanj Attribut...
Ladda
“The Data Warehouse Lifecycle” är en utvecklingsprocess för beslutsstöd som har tagits fram av Kimball Group
TekniskArkitektur
Design
Produktval&
Installation
BIApplikationsSpecifikation
BIApplikationsUtveckling
ProjektPlanering
Kravfångst Produktions-sättning
Driftoch
Förvaltning
Projekt Ledning
Dimensions-modellering
FysiskDesign
Data StagingDesign &
Utveckling
Under en dimensionsmodellering går man igenom följande arbetssteg
1. Bestäm vilken affärsprocess, den serie verksamhetsaktiviteter, som skall modelleras genom en kombinerad förståelse av krav och tillgänglig data.
2. Avgör detaljeringsgrad för faktatabellen, välj lägsta tillgängliga nivå.
3. Bestäm vilka dimensionstabeller och dess kolumner som skall finnas till varje faktatabell.
4. Bestäm vilka mätvärden som skall finnas i faktatabellen.
5. Bestäm hur förändringar i dimensionerna skall hanteras – Slowly Changing Dimensions.
Beslutsstöd – Arbetssteg
I en datalagermatris (Data Warehouse Bus Matrix) mappar man dimensioner och affärsprocesser
Varje affärsprocess blir ett datamart, en logisk datamängd, och tillsammans kommer dessa datamart utgöra ett datalager (Data Warehouse)
Beslutsstöd – Datalagermatris
Gemensamma dimensioner
Affärsprocesser Datum Produkt Butik Kampanj Leverantör
Försäljning X X X X
Inventering X X X
Order X X X
FaktaFörsäljning FaktaOrderFaktaInventering
DimDatum DimProdukt
DimButikDimKampanj DimLeverantör
Under den fysiska designen använder man sig av datamappning för att fastställa källa till mål i dimensionstabellen
Beslutsstöd – Datamappning
Target Source
Column Name Display Name Description Data-type Size Precision
Key? FK To
NULL? Default Value
Unknown Member
Example Values
SCD Type
Source System
Source Schema
Source Table Source Field Name Source Datatype
ETL Rules Comments
ProductKey ProductKey Surrogate primary key
int PK ID N -1 1, 2, 3… Derived
BKProductID BKProductID ProductID, Natural key from source system
int N -1 AW Production Product ProductID int
ProductSKU ProductSKU SKU, also known as Product Number
varchar 25 Unknown 1 AW Production Product ProductNumber nvarchar(25)
ProductName ProductName Product name varchar 50 Unknown 1 AW Production Product Name nvarchar(50)
ProductDescr ProductDescr Product English description
varchar 50 Unknown 1 AW Production Product Name nvarchar(50) Populate with the product name for now
We need a source for description.
ProductModelID ProductModelID Product model ID from source system
int 1 AW Production Product ProductModelID int NULL to -1
Model Model Model name varchar 50 Unknown 1 AW Production ProductModel Name nvarchar(50) Join on Product.ProductModelID
ProductSubcategoryID ProductSubcategoryID Product subcategory ID from the source system
int 1 AW Production Product ProductSubcategoryID int NULL to -1
Exempel på hur ETL design på hög nivå kan se ut
Beslutsstöd – ETL-design