我正在用星型模式建模構建DW。我將用它與pentaho進行BI項目。 我當然會有一個時間維度表。我將用不同的粒度(日,周,月,年或其他)來分析我的事實表在星型模式中我的時間維度表的屬性
我應該爲每個粒度在我的維度表中放置一個屬性(所以我有一天屬性,一個月屬性,一年的屬性...)或者我應該只寫日期,然後計算與此日期的所有內容(獲取日期的月份,日期的年份...)?
THKS很多關於你的幫助
我正在用星型模式建模構建DW。我將用它與pentaho進行BI項目。 我當然會有一個時間維度表。我將用不同的粒度(日,周,月,年或其他)來分析我的事實表在星型模式中我的時間維度表的屬性
我應該爲每個粒度在我的維度表中放置一個屬性(所以我有一天屬性,一個月屬性,一年的屬性...)或者我應該只寫日期,然後計算與此日期的所有內容(獲取日期的月份,日期的年份...)?
THKS很多關於你的幫助
我想補充的日期的屬性作爲自己的列。這並不佔用更多的空間,並且通常會使查詢優化器在計算多少維度表記錄符合給定條件(例如,day_of_month = 31)時更好。
除了日,周,月和年,您還應該考慮其他屬性,如「公司假期」或「財政季度」。這可以是用於驅動不同時間窗口的相同查詢的巨大資源。
通常,越多越好。
這裏是我使用的示例...
總帳@ localhost-> SELECT * FROM date_dimension其中date = '2015年12月25日';
- [RECORD 1] ---- + --------------------
date | 2015-12-25
年| 2015
month | 12
月份名稱| 12月
天| 25
dayofyear | 359
weekdayname |星期五
calendarweek | 52
formatteddate | 25. 12。2015
quartal | Q4
yearquartal | 2015/Q4
yearmonth | 2015/12
yearcalendarweek | 2015/52
週末|平日
americanholiday |假日
austrianholiday |假日
canadianholiday |假日
期間|聖誕節季節
cwstart | 2015-12-21
cwend | 2015-12-27
monthstart | 2015-12-01
monthend | 2015年12月31日00:00:00
它是基於來自PostgreSQL維基這裏查詢... https://wiki.postgresql.org/wiki/Date_and_Time_dimensions
這將是有趣的進一步東西以擴大此:
宗教節日(復活節,無數聖徒日子,齋月節日,猶太節日等)
法定節假日的相關司法轄區。我工作的公司最終宣佈愛爾蘭銀行假期,因爲一些客戶通過銀行轉賬支付。
如果你在法國經營,你可能需要Lundi,Mardi,Mercredi ......而不是英文日的名字。
夏令時(正確/錯誤)將是一個很好的補充。
很多這是我的想法。 也許是最後一個細節。我應該寫每一個屬性(日期,星期,月份,年份)還有日期屬性,還是這個屬性是無用的? – joris 2013-03-04 14:24:47
地毯炸彈的維度表幾乎包含了你能想到的所有事物,包括日期。 – 2013-03-04 16:41:45
英語不適合我的語言,「地毯炸彈」是正面還是負面? – joris 2013-03-04 17:00:50