Sql-Server-2017
SSAS表格模型日期維度與時間可能嗎?
我正在建構我的第一個 SSAS 表格模型,並認為一切進展順利,直到嘗試通過 DateTime 創建度量。
在我的倉庫中,我有一個 DIm_Time 維度,它有一個 DateTime 列,過去 2 年每 5 分鐘有一行。5 分鐘是我們需要的粒度。另外,表上有一個 TimeID Identity 列。在我的 ETL 中,我根據每個事實表的 5 分鐘範圍為每個事實表分配一個時間 ID。所以最終結果是 ID 上的 2 個表之間的關係,假設每個 TimeID 有 10 個事實。
現在我正在嘗試對每個時間範圍的行數進行簡單的計數。例如,目前小時有多少事實。我發現的問題是,在測試我的度量時,我在 PowerBI 或 Excel 中都沒有看到任何數據,而且我 90% 確信這與我的模型在計算度量時將我的 DateTime 過濾為日期有關。
Fcts by Date:= CALCULATE ( COUNTA(Fct_Table[IDColumn]), Dim_Time[DateTime])
請有人幫我指出正確的方向,因為我正在努力尋找有關使用 DateTime 維度的任何內容。非常感謝你。
我是,使用 SQL/SSAS 2017
通常,我將日期和時間保留在單獨的維度中,因為這會降低整體基數,但即使您的日期維度具有時間元素,獲取此值也不會有問題。下面的範例是在我自己的系統上編寫的,並在 DAX Studio 中進行了測試:
DEFINE MEASURE Sales[TransactionCountPerTimePeriod] = COUNTROWS('Sales') EVALUATE SUMMARIZECOLUMNS ( 'Date'[DateKey], "Transaction Count", [TransactionCountPerTimePeriod] );
為了在模型中完成這項工作,只需定義度量並包含它,如下所示:
TransactionCountPerTimePeriod:=COUNTROWS('Sales')
然後,在發布模型後,您應該會在 DAX Studio、Power BI、Excel 或任何其他報告工具中看到它:
-- no need to define the measure if it is already in the model -- just use it EVALUATE SUMMARIZECOLUMNS ( 'Date'[DateKey], "Transaction Count", [TransactionCountPerTimePeriod] );