2013-08-23 41 views
1

我正在爲SSAS設計一個事實表,這是我第一次嘗試我的手,因爲這是一個原型系統,只是爲了展示可以做什麼並展示給有人來決定它是否在之後。爲SSAS設計的事實表

我已經編寫了一些數據,現在正在嘗試創建事實表。多維數據集將查看推介,我試圖展示的是隨時間推移的信息,顯示一個月內打開的推介數量,一個月內關閉的數量以及該月中任何時間點打開的數量(即它們可能在前一個月開放並在未來一個月內關閉)。

如何設計這些措施最適合我卡在哪裏。它應該是三個事實表嗎,還是我可以逃脫一個?如果我做了三個事實表,我可以鏈接記錄號碼和開放日期以獲取一個月內打開的號碼,我可以鏈接記錄號碼和結束日期以創建一個月內關閉的號碼,但我擁有的號碼沒有想法是描述這個月的任何時間點什麼時候開放。對於這張表,我需要爲每一次推薦每天創建一行?這似乎有點緊張,所以我立即認爲這是錯誤的。

所以問題是雙重的:

  1. 我可以做三項措施在一個表中如果有什麼是我們的最佳方法是什麼?
  2. 在月份的任何時候開放的最佳方法是什麼?

任何想法將不勝感激,因爲我真的是一個初學者在這個和所有我必須幫助我是谷歌,因爲我有一個簡短的截止日期爲此。

尺寸,我有:

人口統計學:記錄號碼;性別;種族;生日;

推薦:記錄號碼;開放日期;結束日期;

時間:日期;月; 25美分硬幣;年;

事實表我最初的設計是:

數據:

備案號; Opened_in_month; Closed_in_month; Open_in_month;

因爲創建立方體,我可以看到數不匹配什麼,我在測試中的數據,所以我知道我搞砸了事實表和它的這個表,我需要重新創建。

+0

日期的維度表已被證明對我們的數據倉庫非常有用。 –

+0

我已經添加了一個時間維度,涵蓋了我想要的時間段,並將其與維度鏈接以創建我的年/季度/月層次結構。問題是我如何實現我想要計算的東西。 – user1663003

回答

0

我有創造SSAS立方體的小經驗,但我可能會創建一個視圖,像這樣

ReferallFacts:

​​

CalendarDimension:

ShortDate | Week | Month | Quarter | Year | FinancialWeek... 

EmployeeDimension:

Id | FirstName | LastName | LineManager | Department... 

DepartmentDimension:

Id | Name | ParentDepartment | Manager | Location... 

我實在不明白在這種情況下,因爲所有你描述的需要不止一個事實表「按月」,「一天」是由歷維處理。

Here是一個非常好的散步,也pcteach.me有一些關於SSAS的好視頻。

+0

謝謝。我會看看是否可以在工作電腦上屏蔽手機上的walk walk。看來我需要將表更改爲更類似於:Data:Record Number;開了; date_open; date_closed;這是否導致我在事實表中每個記錄編號有一行?我認爲它按以下方式計算了一切:如果is_open = 0則不計算它,但它在前幾個月如何處理?例如。在五月它是開放的,六月它不是這樣的領域會改變。每個記錄號碼每天需要一行嗎? – user1663003

+0

我看了一下演練謝謝,我可以創建一個多維數據集並將其部署到SharePoint中,但我遇到的問題是事實表的設計不正確,並且是我必須破解的最後一個問題讓這個工作正常。我的問題是,轉介可能會從四月份開放到五月份結束,我需要在每個時間點代表其狀況。即如果有人想知道4月份有多少人開放,它會顯示爲開放,但是一旦他們在關閉日期之後它將被計爲關閉。 – user1663003

0

您是否考慮過基於事件的方法,一個事件是轉介開始還是結束?

首先,您需要確定事實表的粒度級別。如果你需要知道在一個月特定的日期和時間開轉診數目,那麼你的事實表必須在最低粒度(個人轉診記錄):

FactReferrals: (DateId, TimeId, EventId, RecordNumber, ReferralEventValue) 

這裏,ReferralEventValue就是一個整數推介打開時的值爲1,推薦關閉時爲-1。 EventId是指只有兩個成員的維度:OpenedClosed

該方法允許您獲取任何給定時間段內關閉或打開事件的數量。此外,從開始時間到某個時間點,您可以獲得ReferralEventValue的總和,您可以在該特定時刻獲得確切數量的開放式引薦。爲了加快SSAS中的總和,您可以設計聚合或創建一個單獨的度量,它是ReferralEventValue的累計總和。

編輯:當然,如果您不需要個別引薦粒度的數據,那麼在加載事實表之前,您總是可以總結每天甚至每月的ReferralEventValue。

+0

所以我每天需要一個條目,每個記錄的引薦是開放的?例如。 DateID,事件ID;記錄編號; ReferralEventValue; – user1663003

+0

是的,實際上,每次推薦您需要兩個條目。記錄打開日期的一個條目,以及關閉時的另一個條目。但是,如果您不需要個別引薦粒度的數據,則還可以將每個日期(或一週或一個月)中所有打開的引薦彙總到一個條目中,並將另一個條目中每天(或一週或一個月)的所有已結轉引薦。 – Dan

+0

好的。我想我每天需要一個轉介開放的日子,而不是兩個,一個開放日期和結束日期。我確實需要最低級別的推薦級別,但向上可能只是在SSAS中完成的聚合。 – user1663003