簡體   English   中英

SSAS事實表設計

[英]Fact table designing for SSAS

我正在為SSAS設計一個事實表,這是我第一次嘗試這樣做,因為這將是一個原型系統,目的只是為了展示可以做的事情,並向某人展示決定它是否是什么后。

我已經整理了一些數據,現在正嘗試創建事實表。 多維數據集將在查看引薦,我要顯示的是隨着時間的推移的信息,這些信息顯示一個月內打開的引薦數量,一個月內關閉的引薦數量以及該月任何時候打開的引薦數量(也就是說,它們本可以在上個月打開,並在未來一個月關閉)。

設計這些措施的最佳方式是我遇到的困難。 應該是三個事實表,還是我可以擺脫一個? 如果我做三個事實表,我可以鏈接記錄號和打開日期以獲得一個月內打開的號碼,我可以鏈接記錄號和關閉日期以創建一個月內關閉的數字,但是我有一個沒有一個想法是描述它在一個月中的任何時候打開的時間。 對於此表,我需要為每次推介創建每天一行嗎? 這似乎有點密集,所以我立即認為這是錯誤的。

因此,問題是雙重的:

  1. 我可以在一個表中執行這三個度量,如果可以的話,什么是最佳方法?
  2. 在月份計數的任何時候打開的最佳方法是什么?

任何想法都將不勝感激,因為我確實是一個初學者,而我需要幫助的就是Google,因為我的截止日期很短。

我擁有的尺寸:

受眾特征:記錄編號; 性別; 種族; 生日;

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

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

我最初設計的事實表是:

數據:

記錄編號; Opened_in_month; 閉月 開放月

自創建多維數據集以來,我可以看到這些數字與我在測試數據中輸入的數字不匹配,因此我知道自己搞砸了事實表,並且需要重新創建該表。

我幾乎沒有在SSAS中創建多維數據集的經驗,但是我可能會像這樣創建視圖

ReferallFacts:

Id | IsOpen | DateOpened | OpenedBy | DateClosed | ClosedBy | OpenForMinutes...

CalendarDimension:

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

EmployeeDimension:

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

部門尺寸:

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

在這種情況下,我真的不需要多個事實表,因為您描述的所有“按月”,“按日”都是由日歷維度處理的。

是一個非常不錯的選擇,並且pcteach.me也有一些有關SSAS的優秀視頻。

您是否考慮過基於事件的方法,即事件是引薦的開放還是結束?

首先,您需要確定事實表的粒度級別。 如果您需要知道一個月中特定日期和時間的開放引用數量,則事實表的粒度必須最低(單個引用記錄):

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

在這里,當Referral打開時, ReferralEventValue只是一個整數值1,而當Referral關閉時,則是-1的整數值。 EventId指的是只有兩個成員的維度: OpenedClosed

這種方法使您可以獲取任何給定時間段內已關閉或已打開事件的數量。 另外,通過從開始到某個時間點取ReferralEventValue的總和,您可以在該特定時刻獲得打開引用的確切數量。 為了加快SSAS中的總和,您可以設計匯總或創建單獨的度量,該度量是ReferralEventValue的累積總和。

編輯:當然,如果您不需要按單個引用粒度划分的數據,則可以始終在加載事實表之前每天或什至每月匯總ReferralEventValue。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM