設計和開發複雜資料流程的最佳做法
如果您要開發的資料流程變得更大且更複雜,以下是您可以針對原始設計進行改善的一些動作。
將它分成多個資料流程
請勿在一個資料流程中執行所有動作。 單一複雜的資料流程不僅會讓資料轉換程式更久,也讓您難以瞭解及重複使用資料流程。 您可以將資料流程分成多個資料流程,方法是將不同資料流程中的實體分隔,或甚至將一個實體分成多個資料流程來完成。 您可以使用計算實體或連結實體的概念,在一個資料流程中建置轉換的一部分,並在其他資料流程中重複使用。
從預備/擷取資料流程分割資料轉換資料流程
有些資料流程只是用來擷取資料 (,也就是 暫存資料流程) ,而其他則只是為了轉換資料,不僅有助於建立多層式架構,也有助於降低資料流程的複雜度。 有些步驟只會從資料來源擷取資料,例如取得資料、流覽和資料類型變更。 藉由分隔暫存資料流程和轉換資料流程,您可以讓資料流程更容易開發。
顯示將資料從資料來源擷取到暫存資料流程的影像,其中 enities 會儲存在 Dataverse 或 Azure Data Lake 儲存體中,然後資料移至轉換資料並轉換成資料倉儲結構的資料流程,然後將資料移至資料集。
使用自訂函式
自訂函式在必須針對不同來源的一些查詢執行特定步驟的案例中很有説明。 自訂函式可以透過 Power Query 編輯器 中的圖形化介面或使用 M 腳本來開發。 函式可以在資料流程中視需要重複使用。
只有單一版本的原始程式碼可以協助擁有自訂函式,因此您不需要複製程式碼。 因此,維護Power Query轉換邏輯和整個資料流程會變得更容易。 如需詳細資訊,請參閱下列部落格文章:自訂函式在 Power BI Desktop中變得簡單。
將查詢放入資料夾
使用資料夾進行查詢有助於將相關的查詢群組在一起。 開發資料流程時,請花更多時間在有意義的資料夾中排列查詢。 使用這種方法,您未來可以更輕鬆地找到查詢,並維護程式碼會變得更容易。
使用計算實體
計算實體不僅可讓您的資料流程更容易瞭解,也提供更佳的效能。 當您使用計算實體時,從其中參考的其他實體會從「已處理和儲存」實體取得資料。 轉換會比較簡單且更快速。
利用增強型計算引擎
針對在 Power BI 管理入口網站中開發的資料流程,請務必先在計算實體中執行聯結和篩選轉換,再執行其他類型的轉換,以使用增強的計算引擎。
將許多步驟分成多個查詢
很難追蹤一個實體中的大量步驟。 相反地,您應該將大量的步驟分成多個實體。 您可以針對其他查詢使用 [啟用載入 ],並在其為中繼查詢時加以停用,並只透過資料流程載入最終實體。 當您在每一個查詢中有多個具有較小步驟的查詢時,使用相依性圖表並追蹤每個查詢以進行進一步調查,而不是在單一查詢中深入探索數百個步驟。
新增查詢和步驟的屬性
檔是輕鬆維護程式碼的關鍵。 在Power Query中,您可以將屬性新增至實體,也可以新增至步驟。 當您將滑鼠停留在該查詢或步驟上時,您在屬性中新增的文字會顯示為工具提示。 本檔將協助您在未來維護模型。 一目了然地看一下資料表或步驟,即可瞭解該處發生的情況,而不是重新思考並記住您在該步驟中所做的事。
確定容量位於相同的區域中
資料流程目前不支援多個國家或地區。 Premium 容量必須位於與您的 Power BI 租用戶相同的區域中。
將內部部署來源與雲端來源區分開來
建議您為每個來源類型建立個別的資料流程,例如內部部署、雲端、SQL Server、Spark 和Dynamics 365。 將資料流程分隔為來源類型有助於快速進行疑難排解,並在重新整理資料流程時避免內部限制。
根據實體所需的排程重新整理來分隔資料流程
如果您有每小時在來源系統中更新的銷售交易資料表,而且您有每週更新的產品對應資料表,請將這兩個數據表分成兩個具有不同資料重新整理排程的資料流程。
避免排程相同工作區中連結實體的重新整理
如果您經常鎖定包含連結實體的資料流程,可能是由資料流程重新整理期間鎖定之相同工作區中的對應相依資料流程所造成。 這類鎖定提供交易式精確度,並確保已成功重新整理這兩個數據流,但可以封鎖您進行編輯。
如果您為連結的資料流程設定個別排程,可以不必要的重新整理資料流程,並封鎖您編輯資料流程。 有兩個建議可避免此問題:
- 請勿在與來源資料流相同的工作區中設定連結資料流程的重新整理排程。
- 如果您想要個別設定重新整理排程,並想要避免鎖定行為,請將資料流程移至不同的工作區。