共用方式為


建立匯出數據表

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

計算數據表 是以 DAX 查詢或表示式為基礎,衍生自相同模型中其他數據表之所有或部分的計算物件。

計算數據表可以解決的常見設計問題是在特定內容中呈現角色扮演維度,以便您將它公開為用戶端應用程式中的查詢結構。 您可能還記得,角色扮演維度只是多個內容中浮現的數據表--傳統範例是 Date 數據表,其會以 OrderDate、ShipDate 或 DueDate 表示,視外鍵關聯性而定。 藉由明確建立 ShipDate 的導出數據表,您可以取得可供查詢使用的獨立數據表,就像任何其他數據表一樣完全可操作。 另一個用法包括從其他現有數據表設定已篩選的數據列集、子集或超集。 這可讓您在建立該數據表的變化以支援特定案例時,讓原始數據表保持不變。

使用計算數據表獲得最佳優勢,需要您至少知道一些 DAX。 當您使用數據表的表示式時,可能有助於知道導出數據表包含具有 DAXSource 的單一分割區,其中運算式是 DAX 運算式。
表達式所傳回的每個數據行都有一個 CalculatedTableColumn,其中 SourceColumn 是傳回的數據行名稱(類似於非導出數據表上的 DataColumns)。

您必須先存在至少一個數據表,才能建立匯出數據表。 如果您要將匯出數據表建立為獨立計算數據表物件,您可以先從檔案數據源匯入來建立數據表(csv、xls、xml)。 您匯入的檔案可以有單一數據行和單一值。 然後,您可以隱藏該數據表。

如何建立導出數據表

  1. 首先,確認表格式模型具有1200或更高版本的相容性層級。 您可以在 SSDT 的模型上檢查 相容性層級 屬性。

  2. 切換至 [數據檢視]。 您無法在 [圖表檢視] 中建立匯出資料表。

  3. 選擇 [資料表]>[新增匯出資料表]

  4. 輸入或貼上DAX運算式(請參閱下方的一些想法)。

  5. 將資料命名為 。

  6. 建立模型中其他數據表的關聯性。 如果您需要此步驟的協助,請參閱 建立兩個數據表之間的關聯性

  7. 在模型中的計算或表達式中參考數據表,或使用 [在 Excel 中分析] 進行臨機操作數據探索。

複寫角色扮演維度

在公式列中,輸入取得另一個數據表複本的 DAX 公式。 填入匯出數據表之後,請提供描述性名稱,然後設定使用角色專屬外鍵的關聯性。 例如,在 Adventure Works 資料庫中,您可以建立到期日的計算數據表,並使用 DueDateKey 做為事實數據表關聯性的基礎。

=DimDate  

摘要或篩選

在 [公式] 列中,輸入可篩選、摘要或其他操作模型的 DAX 運算式,以包含您想要的數據列。 此範例會依銷售依色彩和貨幣分組。

=SUMMARIZECOLUMNS(DimProduct[Color]  
, DimCurrency[CurrencyName]   
, "Sales" , SUM(FactInternetSales[SalesAmount])  
)  

使用多個數據表的數據行的超集

在 [公式] 列中,輸入結合多個數據表之數據行的 DAX 運算式。 在此情況下,查詢輸出會列出每個貨幣的產品類別目錄。

=CROSSJOIN(DimProductCategory, DimCurrency)  

另請參閱

相容性層級
Analysis Services 數據分析表達式 (DAX)
瞭解表格式模型中的DAX