簡體   English   中英

事實表粒度

[英]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.

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