2011-11-14 13 views
9

Bir SSAS küpünde, zaman dışı bir boyut için LastChild olarak toplanan önlemleri nasıl oluşturabilirim?Zaman-dışı boyutlarda son çocuk için Hesaplanmış Üye?

Kaynak veri, belirli bir günde aynı iş kaydının birçok sürümüne sahiptir. Zaman boyutu DATE öğesinin tanecikliğine sahiptir, saniye & milisaniye değildir.

Gerçek kayıtların bir zaman damgası ve bir artımlı (kimlik) birincil anahtarı vardır. Aslında, istediğim bir ölçümün belirli bir tarihte yapılan tüm düzenlemeler için son değer olarak hesaplanmasıdır.

şimdiye kadar gördüğüm seçenekler iki kategoriden birine girer:

  • saniyeye iner bir zaman boyutuna üretin. Bu çok büyük ve verimsiz bir zaman boyutuyla sonuçlanacaktır.

VEYA

  • önlemleri sakla ve birincil anahtar dayalı herhangi bir tarih için son değeri aramak hesaplanan tedbirler ile değiştirin. Bu hantal ve daha az verimlidir.

Bu sorunu çözmek için tatlı bir nokta veya alternatif bir teknik var mı?

verilerin doğal hiyerarşidir:

  1. İş Anahtar
  2. Tutanak Zaman Damgası
  3. Vekil Key (ZAMAN boyuta bağlantılar)

cevap

5

Hayır, kesinlikle bir oluşturmak olamaz latChild Bir zaman boyutu olmayan öznitelik:

enter image description here

Yapabilecekleriniz, DSV'nizde size son alt değeri vermek ve bir ölçü grubu oluşturmak için kullanmak üzere bir sorgu oluşturmaktır. Örnek:

Senaryo: Bir loş ve bir gerçek tablo oluşturur

create table dim(
id int not null primary key, 
name varchar(50)) 
insert into dim values (1,'one'),(2,'two') 

create table fact(
id int not null primary key, 
dimId int not null, 
value numeric (12,3), 
constraint fk_fact_dim foreign key(dimId) references dim(id)) 

insert into fact values (1,1,5) 
insert into fact values (2,1,3) 

insert into fact values (3,2,10) 
insert into fact values (4,2,20) 

çok basit komut dosyası. İşte size basit bir seçme ve sonucundan sonra ben çok 3 ve 20 Dimension kimliği dayalı son değerler olacaktır, istediğiniz düşünüyorum:

enter image description here

çok basittir inşa etmek, sadece sağ tık ile sizin DSV ve yeni bir adlandırılmış sorgu ekleyin ve son değerinizi oluşturmak için sorguyu bilgilendirin. Benim durumumda ise:

select dimId, 
(select top 1 value from fact where dimId=F.dimId order by id desc) as lastValue 
from fact F 
group by dimId 

mantıksal birincil anahtar oluşturmak ve boyut tablosuna bağlayın: enter image description here

ve küpü , sağ, herhangi boş bir alana tıklayın select "gösteri tüm tabloları" ve ekleyin yeni masan.

enter image description here

Sonuç:

enter image description here

Ve zaten toplanmış çünkü senin küp "hayır toplamalardan" olarak Sorgunuzla yeni bir tedbir oluşturmak üzerine

İlgili konular