VertiPaq Analyzer 教程:關係和參照完整性

本教程將討論 DAX Studio 中VertiPaq 分析器中的關係選項卡。您將了解它在識別會降低 DAX 代碼速度的引用完整性違規��面有多麼有用。它可以幫助您確定需要優化和改進的表或列。

目錄

VertiPaq Analyzer 中的關係選項卡教程

關係選項 卡顯示數據模型中的所有關係。為了說明,這是將在本教程中使用的示例文件。你可以看到它有四個關係集。

VertiPaq Analyzer 教程:關係和參照完整性

這是數據模型的圖表視圖。

VertiPaq Analyzer 教程:關係和參照完整性

它有四個與事實表相關的維度表。返回Relationships選項卡,您可以看到 Max From Cardinality 列。

此列定義關係的成本,即DAX將過濾器從維度表傳輸到事實表所需的時間量。

選項卡中的其他重要列是Missing KeysInvalid RowsSample  violations;它們在您的模型中顯示參照完整性問題。

引用完整性違規

當一對多關係的多方有價值而單方不存在時,就會發生引用完整性違規。

這些違規行為會降低 DAX 的性能,有時會導致計算不准確。

要找到這些違規,您可以使用 Relationships 選項卡運行DAX 查詢。最佳做法是始終解決問題以獲得更流暢的性能。

如果返回 Relationships 選項卡,您可以看到存在引用維度表與事實 表關係的違規行為。

VertiPaq Analyzer 教程:關係和參照完整性

事實表有 781 個缺失的CustomerKeys 和 1 個缺失的SalesPersonKey ,它們在DimCustomer 和DimSalesPerson表中不存在 。 

Sample Violations 列顯示缺少的鍵是什麼。在該示例中,它僅顯示Customer Key 表中的 5 個鍵。

如果要更改顯示的鍵數,請轉到“文件”並單擊“選項”。接下來,單擊“高級”,然後更改違規次數。在此示例中,使用了 20 個丟失的密鑰。

VertiPaq Analyzer 教程:關係和參照完整性

返回選項卡後,通過單擊“查看指標”重新運行 DAX。您現在可以看到更多丟失的鑰匙。

VertiPaq Analyzer 教程:關係和參照完整性

現在,您需要弄清楚為什麼缺少這些鍵以及它們是什麼。創建一個 DAX 查詢,為您提供Customer Key表中缺少的鍵。

VertiPaq Analyzer 教程:關係和參照完整性

首先,使用EVALUATE函數,然後使用 函數。對於左表, 對FactSales 表的CustomerKey使用函數。

對於右表, 對DimCustomer表的CustomerKey使用DISTINCT函數。按 F5 後,您將看到所有 781 個丟失的鍵。

VertiPaq Analyzer 教程:關係和參照完整性

VertiPaq Analyzer 教程:修復 RI 違規

要解決違規問題,請返回示例文件並單擊 “轉換數據”。接下來,轉到DimCustomer表,獲取完整列表,然後單擊應用。

VertiPaq Analyzer 教程:關係和參照完整性

再次運行 DAX 查詢。您現在可以看到它沒有丟失的鍵。

VertiPaq Analyzer 教程:關係和參照完整性

對於來自 SalesPersonKey 表的違規,執行相同的操作。轉到DimSalesPerson表,獲取缺少的鍵,然後單擊應用。

VertiPaq Analyzer 教程:關係和參照完整性

現在沒有引用完整性違規。


通過這門新課程優化 DAX 函數
簡單的 LuckyTemplates 轉換以獲得更優化的數據
使用高級 DAX 優化 LuckyTemplates 公式

結論

如果您不知道如何以及從何處開始優化 DAX,請使用 VertiPaq Analyzer Metrics 中的 Relationships 選項卡。它可以找到違反引用完整性的表,並幫助您擺脫它們以加快DAX 計算速度。

性能問題總是會發生,但是一旦您掌握了“關係”選項卡的使用,您將獲得無錯誤的計算。

Leave a Comment

在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。