在數據流中建立計算數據表

搭配 Power BI 進階版 訂用帳戶使用資料流時,您可以執行記憶體內計算。 這可讓您對現有的數據流進行計算,並傳回可讓您專注於報表建立和分析的結果。

Screenshot emphasizing the computed tables in Power BI Premium.

若要執行記憶體內計算,您必須先建立數據流,並將數據帶入該 Power BI 資料流記憶體。 擁有包含數據的數據流之後,您可以建立 計算數據表,也就是執行記憶體內計算的數據表。

有兩種方式可將數據流數據連線到 Power BI:

下列各節說明如何在數據流數據上建立計算數據表。

如何建立計算數據表

擁有具有資料表清單的數據流之後,您可以對這些數據表執行計算。

在 Power BI 服務 的數據流撰寫工具中,選取 [編輯數據表]。 然後,以滑鼠右鍵按下您想要作為計算數據表基礎的數據表,以及要執行計算的數據表。 在快捷方式功能表上,選取 [ 參考]。

若要讓數據表符合計算數據表的資格, 必須選取 [啟用負載 ],如下圖所示。 以滑鼠右鍵按鍵表以顯示此快捷方式選單。

Screenshot of the query's shortcut menu with enable load selected.

選取 [ 啟用載入],您可以建立來源為參考數據表的新數據表。 圖示會變更為 計算圖示 ,如下圖所示。

Screenshot of the computed table with the computed icon emphasized.

您在此新建立數據表上執行的任何轉換,都會在已位於Power BI資料流記憶體的數據上執行。 這表示查詢不會針對匯入數據的外部數據源執行(例如,從中提取數據的 SQL 資料庫)。

範例使用案例

您可以使用計算資料表執行何種轉換? 在 Power BI 或 M 編輯器中使用轉換使用者介面所指定的任何轉換,在執行記憶體內計算時,都支援這些轉換。

請思考一下下列範例。 您有帳戶數據表,其中包含 Dynamics 365 訂閱中所有客戶的原始數據。 您也有來自服務中心的 ServiceCalls 原始數據,以及來自年度每一天從不同帳戶執行的支持呼叫數據。

假設您想要使用 ServiceCalls 的數據來擴充 Account 數據表。

首先,您需要匯總 ServiceCalls 的數據,以計算去年針對每個帳戶所做的支援呼叫數目。

Screenshot of the Group by dialog aggregating the data from the service calls by account ID.

接下來,您會將 Account 數據表與 ServiceCallsAggregated 數據表合併,以計算擴充 的 Account 數據表。

Screenshot of the Merge dialog merging the account table with the ServiceCallsAggregated table.

然後,您可以看到結果,如下圖所示的 EnrichedAccount。

Screenshot showing the results of a computed table in Power BI Premium.

也就是說,轉換是在位於 Power BI 進階版 訂用帳戶的數據流數據上完成,而不是在源數據上。

考量與限制

請務必注意,如果您從 Power BI 移除工作區 進階版 容量,將不會再重新整理相關聯的數據流。

使用組織 Azure Data Lake 儲存體 帳戶中特別建立的數據流時,鏈接的數據表和計算數據表只有在數據表位於相同的記憶體帳戶時才能正常運作。 其他資訊:連接資料流程儲存空間的 Azure Data Lake Storage Gen2

鏈接的數據表僅適用於Power BI和Power Apps中建立的數據流。 最佳做法是,在內部部署和雲端數據聯結的數據上執行計算時,請建立新的數據表來執行這類計算。 這提供比使用現有數據表進行計算更好的體驗,例如同時從來源查詢數據的數據表,以及執行記憶體內轉換。

另請參閱

本文說明計算數據表和數據流。 以下是一些可能很有用的文章:

下列連結提供 Power BI 和其他資源中資料流的其他資訊:

如需有關 Power Query 和排程重新整理的詳細資訊,您可以閱讀下列文章:

如需 Common Data Model 的詳細資訊,您可以閱讀其概觀文章: