[英]Grain of factless fact table
在sql server 14中設計事實表。應該非常簡單..:我需要檢查每天/客戶/團隊/狀態的訪問量。 除了訪問量之外,我還需要跟蹤每次訪問所執行的操作量。
SELECT [VISITS_PK]
,[PERIOD_SK]
,[CLIENT_SK]
,[TEAM_SK]
,[STATUSS_SK]
,[ACTIONS_SK]
FROM [dbo].[FACT_VISITS]
將返回
VISITS_PK PERIOD_SK CLIENT_SK TEAM_SK STATUSS_SK ACTIONS_SK
1 20160515 1 1 1 1
2 20160515 1 1 1 2
3 20160515 1 1 1 3
4 20160515 2 2 1 1
5 20160515 2 2 1 2
摘要:完成了2次訪問,總共執行了5次操作。
跟蹤動作量使我可以使用COUNT,但是如果我不想考慮這些動作,而只是查看我總共獲得了多少次訪問,是否需要另一個事實表和另一個谷物? 我寧願使用一個事實表,因為訪問量實際上是更匯總的。
編輯:actions_sk包含一個到維表的鏈接,其中包含有關已執行操作的詳細信息。 前3行是一次訪問,執行了3次操作,后2行是一次訪問,執行了2次操作。
每次訪問只需要一行,而不是每個操作都一行,並且該訪問中的操作總和為:
VISITS_PK PERIOD_SK CLIENT_SK TEAM_SK STATUSS ACTIONS
1 20160515 1 1 1 3
2 20160515 2 2 1 2
根據對數據的新理解進行編輯 :
好的,我將表名更改為Fact_Actions,因為這是最低級別的粒度,並且使訪問SK,如下所示:
VISITS_SK PERIOD_SK CLIENT_SK TEAM_SK STATUSS_SK ACTIONS_PK
1 20160515 1 1 1 1
1 20160515 1 1 1 2
1 20160515 1 1 1 3
2 20160515 2 2 1 4
2 20160515 2 2 1 5
現在,您可以通過對行進行計數來對操作進行計數,並可以通過計算DISTINCT Visits_SK值來對訪問次數進行計數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.