2016-05-05 44 views
0

這可能是一個奇怪的問題,但是如果具有多個值,我們可以使用任何屬性創建維度表嗎?例如「種族」,種族應該永遠是客戶的一個屬性(例如),或者它可以永遠在任何情況下或情況下都是它自己的維度表。可以有多個值的任何屬性是一個維度?

預先感謝您的任何幫助

回答

3

如果屬性有多個值,這不是一個好主意,有一列中所有的值。如果您需要根據該值搜索某些內容,您會發現在後期階段很難。一個好的方法是創建另一個主維度代理鍵作爲外鍵的子維度表,並將多個值放在明智行中。這樣你就可以得到一個結果集,它在Main維度中有1個記錄,在子維度表中有主記錄的許多記錄。我認爲這將是處理多種價值情況的更好方法。

我得處理一個類似的情況,一個客戶有很多電話號碼,所有電話號碼都存儲在源數據庫的一列中。我創建了不包含電話號碼的客戶數據,並創建了一個單獨的維度表,其中包括作爲外鍵的客戶表鍵,並將所有多個值都包含在該維表中的行中,這些行在我必須處理的其他任務中幫助我很多稍後再說。 ETL過程可以將這些值分隔成行。

我希望你明白。

+0

謝謝!很好地解釋:) – Eternity

相關問題