LuckyTemplates 中的存儲引擎——VertiPaq 運算符和查詢

LuckyTemplates 中的存儲引擎——VertiPaq 運算符和查詢

本教程將討論LuckyTemplates 中的VertiPaq 運算符和存儲引擎查詢。您將了解運算符如何在計算背後工作,以及存儲引擎如何幫助您優化 DAX 代碼的性能。

VertiPaq 運算符和查詢允許您監控每個代碼的執行,以便您可以在必要時改進它們。

目錄

VertiPaq 運營商

VertiPaq 具有計算簡單查詢的能力。它具有邏輯運算符,可執行您的DAX 代碼以獲得答案。

這些是 VertiPaq 邏輯運算符:

  • 掃描
  • 通過...分組
  • 篩選
  • 最小值
  • 最大限度
  • 數數
  • 非重複計數
  • 平均的
  • 標準差
  • 標準偏差
  • 變量S
  • 變量P

這些是由示例查詢生成的邏輯和物理查詢計劃。

LuckyTemplates 中的存儲引擎——VertiPaq 運算符和查詢

每當一行有_Vertipaq時,就意味著 VertiPaq 引擎正在自行完成工作。如果您查看Logical Query Plan,您會看到它有Sum_VertipaqScan_Vertipaq。這兩個運算符用於掃描FactSales 的數量並對其求和以生成答案。

在物理查詢計劃中,您還會看到使用ProjectionSpool的Sum_Vertipaq。這意味著查詢被發送到存儲引擎,然後返回到數據緩存中的公式引擎。您還會注意到它只有一個記錄。

Records列顯示有多少行從存儲引擎具體化到公式引擎它只需要一個記錄就可以有效地工作。多個記錄需要更多時間才能完成查詢。

如果存儲引擎無法執行請求,公式引擎就會接管。公式引擎可以完成您要求的一切,但速度要慢得多。

存儲引擎查詢

這是對存儲引擎查詢以及如何閱讀和理解它們的介紹。您可以使用這些信息來優化 DAX 查詢以獲得更好的性能。永遠記住,存儲引擎返回給公式引擎的數據緩存是未壓縮的格式。

這是將要使用的示例查詢。

LuckyTemplates 中的存儲引擎——VertiPaq 運算符和查詢

如果運行它並打開 Physical Query Plan 選項卡,您將看到ProjectionSpool Operator。您必須了解它在計算背景中的工作原理才能產生結果。

LuckyTemplates 中的存儲引擎——VertiPaq 運算符和查詢

存儲引擎查詢以稱為xmSQL的偽 SQL 語言表達。它不是真正的編程語言。它更像是引擎在後台執行的操作的直觀表示。

如果您在 DAX Studio 中運行示例查詢,它將顯示 xmSQL。它表明查詢選擇了SalesData 的 Quantity並從Sales Data表中對其求和。

LuckyTemplates 中的存儲引擎——VertiPaq 運算符和查詢

您會注意到查詢中的表名與 xmSQL 不同。xmSQL 使用Sales Data而不是FactSales作為表名,因為 DAX 不喜歡使用 Fact 或 DIM 作為名稱。

現在,要獲得更快的 DAX 性能,您需要讓存儲引擎盡可能多地工作。它可以在掃描數據時執行簡單的數學運算和聚合。由於示例查詢僅使用,因此計算是在存儲引擎中完成的。

最好的優化技術是找出最佳集合,以便存儲引擎完成大部分工作,而公式引擎只完成剩下的工作。


多線程環境中的 VertiPaq 存儲引擎
LuckyTemplates 中的 VertiPaq 壓縮和存儲
什麼是 LuckyTemplates Desktop 中的 DAX Studio

結論

存儲引擎負責使 DAX 工作得更快。它允許您在邏輯和物理查詢計劃的幫助下查看整個計算背後的過程。您可以跟踪哪個進程降低了整體性能,然後對其進行優化。

如果您想了解更多有關 VertiPaq 工作原理的信息,請使用本教程並練習優化您的 DAX 代碼。


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

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

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

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

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

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

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

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

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

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

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

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

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

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

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的