我正在設計一個數據模型,用於報告針對參加課程的人。我試圖找出我是否應該使用一個或兩個事實表。一個或多個事實表
措施,我會需要計算如下:
學生
的 - 總數量-Number民族(和國籍過濾器)
誰通過一門課程的學生 - 數量
請注意,僅僅因爲學生在課程中,並不意味着他們已經參加過考試,因此他們可能還沒有課程成績。
這給了我兩組不同粒度的事實數據。
所有學生的課程粒度。
已完成課程且通過且失敗的學生的粒度。
我的選項,我看到他們是:在這個分享幾個維度不同粒度
兩個不同的事實表。
一個事實表,但對於沒有通過/失敗的任何學生,它們將鏈接到DimResult中具有「無結果」描述的條目。
在混合粒度時是否有一套指導原則,或者兩種答案都能正常工作,並由我來決定?
顯示兩個事實表的計劃的模式如下所示。
感謝您的任何建議
我在考慮這是否可用於商業用戶,如果每個事實表只有一個粒度,他們將更容易使用數據透視表中的數據。 是否足夠合理?我現在對它進行額外的ETL工作,但這對我來說不是問題。 –
這些用戶將直接在數據庫表上播放嗎?如果是這樣,他們應該足夠熟練以正確的方式解釋數據結構。如果不是,你仍然可以爲他們提供一些反映這兩種事實之間差異的用戶界面。請注意我對數據庫視圖的回答。 – TAM