Problem su:
Elimizde bir veri seti var, ve biz bu veri setinden bir measure olursturmak istiyoruz. Ancak soyle bir problem var bu measure farkli seviyelerde (granuality) farkli hesaplaniyor.
Ornegin veri yapimiz soyle olsun.
Product Dim
Business
Commodity
ItemNo
Customer Dim
CustomerID
factTable Item, Date, Customer, Sales
Ve buradan soyle bir yere olasmaya calisalim.
Lets say
---For Item
Select ItemNo, Sum(Sales)*2 as M1
From factTable
Group By ItemNo
--For Customer
Select CustomerID, Sum (Sales) * 3 M2
From factTable
Group By ItemNo
--For atomic level
Select ItemNo, CustomerID, Sales * 4 M3
From factTable
ve bu D1'in toplami da BI sistemimizdeki yeni mesaure'miz olsun.
Ulasmak istedigim yer her ozet seviyesi icin yeni bir Measure (M1,M2,M3) yaratmak degil sadece bir Measure (M1) yaratip bunu secilen seviyeye gore dogru ozet tablodan getirmek.
Soyle bir yaklasimla sonucu cozebildim.
1. Once her bir seviye icin bir Mesaure olusturalim
M1= M1 From Item Level
M2 = M2 From Customer Level
M3 = M3 From factTable
2. Simde de bu ucunu bir araya getircek bir M4 olusturalim
Create Member Measures.M4 As NULL
Scope (Measures.M4)
this = M3
Scope (Item, Measures.M4)
this = M1
end Scope
Scope (Customer, Measures.M4)
this = M2
end Scope
End Scope
boyle biseyler syntax dogru degil yaklasimi gostermek icin psudo olarak yazilmistir.
kolay gelsin,
13.02.2009
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder