計算數據表案例和使用案例

在數據流中使用 計算數據表 有好處。 本文說明計算數據表的使用案例,並說明其如何在幕後運作。

什麼是計算數據表?

數據表代表在數據流重新整理之後,在數據流中建立之查詢的數據輸出。 它代表來源的數據,以及選擇性地套用至它的轉換。 有時候,您可能想要建立屬於先前內嵌數據表之函式的新數據表。

雖然可以重複建立數據表並套用新轉換的查詢,但此方法有缺點:數據會內嵌兩次,而且數據源上的負載會加倍。

計算數據表可解決這兩個問題。 計算數據表與其他數據表類似,因為它們會從來源取得數據,而且您可以套用進一步的轉換來建立它們。 但其數據源自使用的記憶體數據流,而不是原始數據源。 也就是說,它們先前是由數據流所建立,然後重複使用。

您可以藉由參考相同數據流中的數據表,或參考在不同數據流中建立的數據表,來建立計算數據表。

強調計算數據表的螢幕快照。

為什麼要使用計算數據表?

在一個數據表中執行所有轉換步驟可能會很慢。 此速度變慢的原因有很多—數據源可能很慢,或者您執行的轉換可能需要在兩個或多個查詢中複寫。 最好先從來源擷取數據,然後在一或多個數據表中重複使用。 在這種情況下,您可以選擇建立兩個數據表:一個從數據源取得數據,另一個是計算數據表,將更多轉換套用至數據流所使用的Data Lake。 這項變更可以提升資料的效能和重複使用性,以節省時間和資源。

例如,如果兩個數據表甚至共用其轉換邏輯的一部分,而沒有計算數據表,則必須執行轉換兩次。

顯示數據轉換兩次的影像。

不過,如果使用計算數據表,則轉換的通用(共用)部分會處理一次,並儲存在 Azure Data Lake 儲存體 中。 接著會從一般轉換的輸出處理其餘轉換。 整體而言,此處理速度要快得多。

顯示一次計算數據表中完成一次常見轉換並儲存在 Data Lake 中的影像,以及稍後發生的其餘唯一轉換。

計算數據表提供一個位置作為轉換的原始程式碼,並加速轉換,因為它只需要完成一次,而不是多次。 數據源上的負載也會降低。

使用計算數據表的範例案例

如果您要在 Power BI 中建置匯總資料表以加速數據模型,您可以參考原始數據表並套用更多轉換來建置匯總數據表。 藉由使用此方法,您不需要從來源複寫轉換(來自原始數據表的元件)。

例如,下圖顯示 Orders 數據表。

Orders 數據表的螢幕快照。

使用這個資料表的參考,您可以建置計算數據表。

建立計算數據表。

顯示如何從 Orders 資料表建立計算數據表的螢幕快照。 首先,以滑鼠右鍵按下 [查詢] 窗格中的 [Orders] 數據表,然後從下拉功能表中選取 [參考] 選項。 此動作會建立計算數據表,此數據表會在這裡重新命名為匯總的 Orders。

計算數據表可以有進一步的轉換。 例如,您可以使用 Group By 來匯總客戶層級的數據。

[訂單匯總] 數據表的螢幕快照,其中強調 [客戶] 數據行。

這表示 Orders Aggregated 數據表會從 Orders 數據表取得數據,而不是再次從數據源取得數據。 由於某些需要完成的轉換已在 Orders 資料表中完成,因此效能較佳,且數據轉換較快。

其他數據流中的計算數據表

您也可以在其他數據流中建立計算數據表。 您可以使用 Microsoft Power Platform 數據流連接器從數據流取得數據來建立它。

從 Power Platform 數據流取得數據。

影像強調Power Platform 資料流連接器從Power Query 選擇資料源視窗。 此外,也包含一個描述,指出一個數據流數據表可以在另一個數據流數據表的數據之上建置,而該數據表已經保存在記憶體中。

計算數據表的概念是讓數據表保存在記憶體中,以及從中衍生的其他數據表,以便減少數據源的讀取時間,並共用一些常見的轉換。 透過數據流連接器從其他數據流取得數據,或參考相同數據流中的另一個查詢,即可達成此縮減。

計算資料表:使用轉換或不使用轉換?

既然您知道計算數據表對於改善數據轉換的效能而言是很好的問題,建議您詢問轉換是否一律延後至計算數據表,還是應該套用至源數據表。 也就是說,數據應該一律擷取到一個數據表,然後在計算數據表中轉換? 什麼是優缺點?

載入沒有轉換文字/CSV 檔案的數據

當數據源不支持查詢折疊時(例如文字/CSV 檔案),從來源取得數據時,套用轉換沒有什麼好處,尤其是在數據量很大時。 源數據表應該只會從 Text/CSV 檔案載入數據,而不套用任何轉換。 然後,計算數據表可以從源數據表取得數據,並在內嵌的數據上執行轉換。

您可能會問,建立只內嵌數據的源數據表的價值為何? 這類數據表仍然很有用,因為如果來源的數據用於多個數據表中,它會減少數據源的負載。 此外,數據現在可以由其他人和數據流重複使用。 計算數據表特別適用於數據量很大的情況,或透過內部部署數據網關存取數據源時,因為它們會減少來自網關的流量,以及其後方的數據源負載。

執行 SQL 資料表的一些常見轉換

如果您的數據源支持查詢折疊,最好在源數據表中執行某些轉換,因為查詢會折疊至數據源,而且只會從該數據源擷取轉換的數據。 這些變更可改善整體效能。 下游計算數據表中常見的轉換集合應該套用在源數據表中,以便將其折疊至來源。 只有套用至下游數據表的其他轉換應該在計算數據表中完成。