Web
Site
Search
Home
Agenda
Links
Bloggers
Over PASS Nederland
User benefits
Geregistreerd... en dan?
Sponsoring
Artikelen
Cursussen en certificering
SQL Server 2000
SQL Server 2005
Examenrecensies
Archief nieuwsbrieven
2005
Nieuwsbrief 1 / 09-10-2005
2006
Nieuwsbrief 2 / 16-01-2006
Nieuwsbrief 3 / 11-03-2006
Nieuwsbrief 4 / 11-04-2006
Nieuwsbrief 5 / 08-05-2006
Nieuwsbrief 6 / 18-06-2006
Nieuwsbrief 7 / 27-08-2006
Nieuwsbrief 8 / 20-10-2006
Nieuwsbrief 9 / 22-12-2006
2007
Nieuwsbrief 10 / 04-02-2007
Nieuwsbrief 11 / 05-03-2007
Nieuwsbrief 12 / 02-04-2007
Nieuwsbrief 13 / 01-05-2007
Nieuwsbrief 14 / 01-06-2007
Nieuwsbrief 15 / 02-09-2007
Nieuwsbrief 16 / 04-10-2007
Nieuwsbrief 17 / 05-11-2007
Nieuwsbrief 18 / 06-12-2007
2008
Nieuwsbrief 19 / 12-01-2008
Nieuwsbrief 20 / 14-02-2008
Nieuwsbrief 21 / 02-05-2008
Nieuwsbrief 22 / 16-06-2008
Nieuwsbrief 23 / 01-08-2008
Nieuwsbrief 24 / 13-11-2008
Nieuwsbrief 25 / 01-12-2008
2009
Nieuwsbrief 26 / 07-02-2009
Nieuwsbrief 27 / 09-03-2009
Nieuwsbrief 28 / 01-04-2009
Nieuwsbrief 29 / 04-06-2009
Nieuwsbrief 30 / 02-09-2009
Nieuwsbrief 31 / 06-10-2009
Nieuwsbrief 32 / 07-11-2009
Nieuwsbrief 33 / 04-12-2009
Forum
onze sponsors
Forum
Login
|
Register
Forum
Unanswered
Active Topics
Forums
Search
Forums
>
Forums
>
Business Intelligence
Subject: bepalen granulatie feitentabel
Prev
Next
You are not authorized to post a reply.
Author
Messages
Oldest First
Newest First
Ruud Boots
Posts:62
20-04-2009 16:08:45
Alert
Voor een kubus 'personeel info' wil ik de granulatie van een feiten tabel bepalen.
Initieel is het personeelsnummer en een dagelijks timeid de primary key.
één van de foreign keys is een afdelingscode, tbv een dimensie 'afdeling'
In de praktijk blijkt het voor te komen dat een medewerker in de bron geregistreerd kan staan voor meerdere afdelingen.
(bv. voor 75% afdeling A en 25% voor afdeling B)
Hoe kan dit het beste in dit model oplossen?
Arjan Fraaij
Posts:110
20-04-2009 20:14:19
Alert
Wat wordt er in de fact geregistreerd is mijn eerste vraag? Hoe wordt in de fact de afdeling FK bepaald? Als je deze in de fact tabel wil opnemen zou het dus kunnen zijn dat er per medewerker meerdere fact regels op een dag worden geregistreerd afhankelijk van de business requirement.
Stel ik werk 3 uur voor X en 5 uur voor Y en op andere dagen is het weer verschillend. De business requirement is dat onder andere op uurniveau bepaald moet kunnen worden voor welke afdeling dit geweest is. Dan dient de fact granualiteit dus op uur niveau te liggen. Als de uurverdeling gelijk blijft dan zouden dit dus in een 5 daagse werkweek 10 fact regels moeten opleveren.
Als ik 1 dag voor X werk en 4 dagen voor Y dan is het dus dag niveau. hierbij komen op een 5 daagse werkweek dus 5 fact regels. Het is een beetje lastig aan te geven omdat niet bekend is wat in de fact moet worden opgenomen.
Als ik het zo lees is voor de persooneels informatie gekozen om de afdeling in de fact niveau vast te leggen, wellicht had je dit moeten registreren op medewerkeniveau en dus in de personeels dimensie en onderdeel moeten maken van de Surrogate BusinessKey.
Een andere oplossing is denk ik het gebruik maken van een weighting factor tabel om de afdeling op fact niveau vast te leggen. (Kimball bridge table)
Of te wel je komt terecht in de many to many SSAS structuren, Marco Russo heeft hier een hier een whitepaper over geschreven http://www.sqlbi.eu/Portals/0/Downloads/M2M%20Revolution%201.0.93.pdf
Zie bv pg51 DimCustomer -> DimCustomerProfile volgens mij kan je dit vertalen in DimPersoneel > DimPersoneelAfdeling met een weight factor voor de percentage verdeling.
Om tot een echt goed antwoord te komen zou echter de business case bekend moeten zijn om te zien hoe de facts en dimensies op te bouwen.
Hoop dat je hier iets aan hebt.
Gr,
Arjan Fraaij
Ruud Boots
Posts:62
20-04-2009 20:48:00
Alert
Arjan,
In de eerste plaats hartelijk dank voor je reactie en de link. Het model staat nog niet vast, jouw idee om de afdeling op te nemen in de personeelsdimensie is zeker een optie. Hoe zou je dan een weging zoals bv. 75/25 kunnen implementeren? Uitgaande dat deze verdeling pre-calculatief in de bron is vastgelegd, dus niet op basis van werkelijk gewerkte uren of dagen in een week.
mvgr
Ruud
Arjan Fraaij
Posts:110
21-04-2009 09:34:53
Alert
Hallo Ruud,
Neem even een kijkje op http://msdn.microsoft.com/en-us/library/ms345139.aspx sectie Measure Expressions and Many-to-Many Dimensions
hierbij moet je de volgende vergelijking maken:
Sales = Jouw Fact
Store = DimPersoneel
Ownership = DimBridgeAfdeling waarbij kolom ownership de weeg factor bevat
Organization = DimAfdeling
Kan in dit forum helaas geen plaatjes toevoegen dus even tekstueel proberen. Ga eens kijken of ik er een blogje voor kan maken.
Wat zou je dus kunnen gaan krijgen:
Fact_PersoneelInfo
- Dim_Personeel_FK
- Measure 1
- Measure etc
Dim_Personeel
- Dim_Personeel_PK
- Naam
- Woonplaats
- ETC
Dim_BridgeAfdeling
- Dim_Personeel_FK
- Dim_Afdeling_FK
- Factor
Dim_Afdeling
- Dim_Afdeling_PK
- Naam
- Etc
De Bridge tabel gaat dan bv de volgende informatie bevatten..
Dim_Personeel_FK Dim_Afdeling_FK Factor
1 A 0.25
1 B 0.75
2 C 1.00
3 A 0.15
3 B 0.35
3 C 0.50
Je measures moet je dan aanpassen om je bridge tabel factor te gebruiken, dit kan je na lezen op de MSDN page.
Om dit te realiseren moet je natuurlijk wel je ETL inrichten om tot de dimensionele structuur te komen, om dit echter uit te leggen gaat een beetje te ver maar er zijn voldoende kimball cursussen en boeken verkrijgbaar :-) of je moet een Data Vault fan zijn.
Je kan mij natuurlijk altijd inhuren.... of is reclame spam op dit forum verboden?
Met vriendelijke groet,
Arjan Fraaij
Kimball trainingen in europa worden verzorgt door www.q4k.com (Er is momenteel een Dimensional modeling training gepland zover ik kan zien)
Arjan Fraaij
Posts:110
21-04-2009 11:31:58
Alert
Ruud,
Nog even een kleine waarschuwing, veel functionaliteit is beperkt in de Standard edition van SQL SSAS 2005/8.
Het bijvoorbeeld aanpassen van je measure expression om de factor te gebruiken is alleen mogelijk in de Enterprise / developers edition.
Een algemene tip is altijd de BIDS project properties even aan te passen naar welke SSAS edition je gebruikt zodat je niet voor verassingen komt te staan.
Ruud Boots
Posts:62
21-04-2009 11:44:42
Alert
Hallo Arjan,
Super, bedankt voor je uitgebreide uitleg en vertaling naar mijn casus. Hiermee kan ik goed uit de voeten. Dank voor je aanbod tot inhuur, maar voor nu (nog) niet nodig.
mvrgr
Ruud
You are not authorized to post a reply.
Algemeen
--Forum regels
PASS Nederland
--Aankondigingen
--Bijeenkomsten
--PASS Nederland Algemeen
Forums
--DBA
--Ontwikkelen
--Business Intelligence
--Metadata (SIG)
--Performance (SIG)
--High Availability (SIG)
--XML (SIG)
--Algemeen
SQL Server
Forums
>
Forums
>
Business Intelligence
> bepalen granulatie feitentabel
ActiveForums 3.6
Copyright (c) 2012 PASS Nederland
Privacy Statement
Terms Of Use