18
Beslutsstöd Malin Johansson [email protected] 0735-11 12 12

Beslutsstöd

Embed Size (px)

Citation preview

Page 1: Beslutsstöd

Beslutsstöd

Malin [email protected] 12 12

Page 2: Beslutsstöd

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

Page 3: Beslutsstöd

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.

Page 4: Beslutsstöd

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

Page 5: Beslutsstöd

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

Page 6: Beslutsstöd

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.

Page 7: Beslutsstöd

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

Page 8: Beslutsstöd

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...

Page 9: Beslutsstöd

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...

Page 10: Beslutsstöd

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

Page 11: Beslutsstöd

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

Page 12: Beslutsstöd

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

Page 13: Beslutsstöd

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

Page 14: Beslutsstöd

“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

Page 15: Beslutsstöd

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

Page 16: Beslutsstöd

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

Page 17: Beslutsstöd

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  

Page 18: Beslutsstöd

Exempel på hur ETL design på hög nivå kan se ut

Beslutsstöd – ETL-design