共用方式為


使用 DAX 查詢視圖

在 Power BI 中使用 DAX 查詢檢視,您可以檢視和使用語意模型的數據分析表示式 (DAX) 查詢。

DAX 查詢

在 Power BI 中,DAX 公式 用來定義數據類型的計算,也可用來定義角色安全性。 DAX 查詢可用來從模型傳回資料。

DAX 查詢類似於 SQL 查詢,因為它們可以顯示您已經擁有的資料。 DAX 查詢不會在報表的模型或視覺效果中建立項目。

DAX 查詢有兩個主要部分:

  • 必須有 EVALUATE 語句。 它會指定查詢中傳回資料的內容和方式。
  • DEFINE 陳述式,為選擇性。 它可讓您定義在查詢中使用的 DAX 公式,例如量值。 使用 DAX 查詢 DEFINE MEASURE 建立或更新的量值是 DAX 查詢範圍量值,只在 DAX 查詢的內容中執行。 DAX 查詢範圍的度量值可以透過 CodeLens 模型更新動作新增至模型,或點選使用變更更新模型按鈕。

若要深入了解查詢的使用方式,請參閱 DAX 參考中的 DAX 查詢

開啟 DAX 查詢檢視

在 Power BI Desktop 中,選取左側 DAX 查詢檢視圖示。

Power BI Desktop 中 DAX 查詢檢視圖示的螢幕快照。

在 Power BI 服務或 Fabric 入口網站工作區中,從操作功能表選擇 [撰寫 DAX 查詢]

語意模型右鍵功能表中「撰寫 DAX 查詢」的入口點截圖。

在 Power BI 服務或 Fabric 入口網站語意模型詳細資料頁面中,從頁面頂端選取 [撰寫 DAX 查詢]

語意模型詳細資料頁面中撰寫DAX查詢的入口的螢幕快照。

DAX 查詢檢視布局

讓我們進一步瞭解 Power BI Desktop 中的 DAX 查詢檢視。

圖表顯示 DAX 查詢檢視版面配置。

DAX 查詢檢視具有下列元素:

功能區

DAX 查詢檢視功能區具有撰寫 DAX 查詢時使用的常見動作。

DAX 查詢檢視功能區的螢幕快照。

讓我們進一步瞭解功能選單中的元素:

查詢格式

選取 [格式化查詢] 功能區按鈕,或使用 SHIFT+ALT+F 來格式化目前的查詢。 查詢使用索引標籤縮排。 DAX 函式會變更為大寫,並且程式中會新增額外的行。 將 DAX 查詢格式化視為最佳做法,且可改善 DAX 查詢可讀性。 格式設定也會縮排,讓您可以折疊和展開查詢中的區塊。

[格式查詢] 按鈕的螢幕快照。

註解和取消註解

選取 [註解] 功能區按鈕,將雙反斜線 (//) 新增至游標所在的行開頭或所有選取行的開頭。 此動作會註釋掉行,當執行 DAX 查詢時,會忽略這些行。

選取 取消註解 功能區按鈕,以移除游標所在行或所有選取行開頭的 //。 它無法作用於含有多行註解標記的行。

您也可以使用 CTRL+/ 在註解和取消註解之間切換。

DAX 查詢檢視功能區中 [批注] 和 [取消批注] 按鈕的螢幕快照。

尋找與替換

選取 [尋找] 功能區按鈕,或使用 CTRL+F 在 DAX 查詢編輯器中搜尋文字。 搜尋包括匹配大小寫、匹配整個單詞、使用正則表達式,以及循環瀏覽當前查詢的所有匹配項目的選項。 您也可以選取 [尋找] 方塊左邊的箭號,以輸入 [取代]。

螢幕擷取畫面顯示 DAX 查詢檢視功能區中的 [尋找] 按鈕。

選取功能區中的 [取代] 按鈕,或使用 CTRL+H 來搜尋和取代 DAX 查詢編輯器中的文字。 保留大小寫和一次取代一個或全部的選項包含在取代功能中。

螢幕擷取畫面顯示 DAX 查詢檢視功能區中的 [取代] 功能。

命令選擇區

選取 [命令選擇區] 功能區按鈕,或使用 CTRL+ALT+P 開啟命令選擇區方塊。 您可以搜尋更多 DAX 查詢編輯器動作,並查看其相關聯的鍵盤快捷方式。

DAX 查詢檢視命令選擇區的螢幕快照。

命令列

DAX 查詢檢視命令列包含使用 DAX 查詢檢視時最重要的動作。

執行和取消

[執行] 按鈕用來運行 DAX 查詢或查詢中選取的行。 查詢執行之後的狀態會出現在較低的狀態列中。

DAX 查詢檢視命令行的螢幕快照。

當查詢執行時,按鈕會變成 [取消] 按鈕,可用來停止執行中的查詢。

DAX 查詢檢視取消的螢幕快照。

用變更來更新模型

更新模型的變更, 按鈕會使用來自DAX查詢範圍中度量值的DAX公式來新增或覆寫模型中的量值。 DAX 查詢範圍量值是 DEFINE MEASURE 區塊中的 DAX 公式。 或者,您可以選擇使用出現在每個量值上方的 CodeLens 文字,個別新增或覆寫模型量值。

DAX 查詢編輯器

DAX 查詢檢視包含查詢編輯器,您可以在其中撰寫和編輯查詢。 這不僅僅是一個更大的 DAX 公式列。 它的功能更強大,而且有許多與 VS Code 中提供的 DAX 編輯器的相似點。

DAX 查詢編輯器具有下列元素:

建議與智能提示

在編輯時輸入您的查詢,並獲得建議和智能感知的協助。

DAX 查詢編輯器 Intellisense 的螢幕快照。

使用 ENTER 或 TAB 來新增反白顯示的智能提示,或使用 SHIFT+ENTER 或 ALT+ENTER 移至另一行而不新增智能提示選項。 選取 ESC 會關閉任何覆蓋層。

將滑鼠懸停以查看測量公式

當 DAX 查詢中包含量值時,您可以將滑鼠停留在它上面,以查看公式、名稱和描述。

懸停以查看量值公式功能的螢幕快照。

選取以查看測量燈泡的快捷操作

在查詢中,如果沒有 DEFINE 陳述式而選取 EVALUATE 陳述式中的度量,會顯示快捷操作提示燈泡。 選取 [定義][使用參考定義] 來建立具有此量值公式的 DEFINE 陳述式,可包含或不含參考量值 DAX 公式。

使用 CodeLens 更新模型量值

使用 DEFINE MEASURE 可以協助您建立量值,因為它首先允許您將量值作為 DAX 查詢範疇的量值來創建。 您可以在一個視窗中編輯多個量值,然後執行查詢,以查看所有量值的結果,或僅選擇特定的分組欄位來查看其中部分結果。 您不需要在報表檢視中建立資料表視覺效果,並在量值公式之間來回切換。 CodeLens 會藉由提供量值已存在於模型中時的提示,進一步進行此步驟。 這些提供快速連結以新增量值或覆寫模型中的量值。

CodeLens 是顯示在 DEFINE MEASURE 區塊上方的可點選文字。 對於模型中尚未存在的 DAX 查詢範圍量值,會出現 更新模型:新增量值 CodeLens,點擊後會新增模型量值。 對於模型中已存在的 DAX 查詢範圍量值,當它們的 DAX 公式不同時,會出現 更新模型:覆寫量值 的 CodeLens,按一下即可將模型中的量值變更為此 DAX 公式。

或者,您可以按一下 [命令] 列中的 [使用變更更新模型] 按鈕,以一次新增或覆寫多個量值。

[更新模型] 的螢幕快照,其中含有 DAX 查詢檢視中可用的 [變更] 按鈕。

指標更新工作流程

燈泡快閃操作和 CodeLens 可以在完整的工作流程中一起使用:

  1. 在量值的內容選單中,選擇 [快速查詢],然後選擇 [評估],系統會在新的 [查詢] 索引標籤中為您建立查詢。
  2. 選取查詢中的度量,用於定義或使用引用來進行定義,然後新增 DEFINE 陳述式。
  3. 對量值進行 DAX 公式更新,然後執行 DAX 查詢以查看結果。
  4. 當變更如預期出現時,請使用 CodeLens 更新模型的「覆寫量值」功能,將變更儲存回模型。

以下是更有視覺效果的方式,以瞭解工作流程:

工作流程的圖表。

結果表格

執行查詢時,結果會顯示在結果方格中。

結果方格的螢幕擷取畫面:

如果在查詢編輯器中有多個 EVALUATE 陳述式,則可以傳回多個結果。 您可以使用 [結果] 下拉式清單來切換它們。 [複製] 按鈕會將整個網格複製為以製表符分隔且具有標頭的資料表。 藉由拖曳結果方格與查詢編輯器之間的右上角箭號或框線來調整網格線的大小。

如果查詢產生錯誤,結果方格會顯示錯誤。

結果方格中錯誤訊息的螢幕擷取畫面。

複製按鈕會將錯誤傳送至剪貼簿。 錯誤的開頭表示查詢中錯誤的位置。 在上圖中,錯誤為:

查詢 (4, 23) 無法判斷 'Sales 2' 的值。數據行不存在,或此數據行沒有目前的數據列。

而「查詢(4,23)」表示錯誤位於第 4 行,字元 23。

查詢索引標籤

DAX 查詢檢視可以有多個查詢索引標籤,可以重新命名或移除。 其也顯示查詢的目前狀態。

[查詢] 索引標籤的螢幕快照。

每個索引標籤都包含狀態指示器:

  • 在執行查詢之前,不會顯示任何指標。
  • 綠色核取記號表示查詢執行成功。
  • 紅色十字表示發生錯誤。
  • 圓形中填滿的正方形表示查詢已取消。
  • 時鐘表示查詢正在執行。

查詢可以在背景中執行,讓您繼續處理其他查詢索引標籤。

儲存 DAX 查詢

當您從 Power BI Desktop 儲存時,DAX 查詢檢視查詢索引標籤會儲存在檔案中,因此您可以在再次開啟檔案時繼續前次離開的位置。 如果您使用開發人員模式來儲存 Power BI 專案,則每個查詢標籤會以 .dax 檔案的形式儲存在語意模型資料夾的 DAXQueries 資料夾中,或者如果是在即時連線報表中建立,則儲存在報表資料夾中。 若要深入了解,請參閱 Power BI 開發人員模式文件

目前,您無法在 Power BI 服務中檢視或編輯先前在 Power BI Desktop 中新增的 DAX 查詢。 報表或語意模型的檢視者看不到以語意模型儲存的DAX查詢。

當您從 Power BI 服務或 Fabric 入口網站撰寫 DAX 查詢時,DAX 查詢的檢視索引標籤在關閉時會被捨棄。

資料窗格

[資料] 窗格顯示模型中的項目,以協助您撰寫查詢。 這些項目大部分的編輯路徑都會在查詢檢視中遭到封鎖。

快速查詢

[資料] 窗格操作功能表包含 [快速查詢]。 使用快速查詢,在資料表、資料行和量值的新查詢索引標籤中建立查詢。 快速查詢的設計目的是要提升一般工作的生產力,並且建置的方式要能夠輕鬆地進行後續修改。 所有快速查詢都建立在新的查詢索引標籤中,並會自動執行。

任何地方
  • 定義模型中 的所有量值會建立查詢,其中包含查詢中顯示的所有量值公式。 輕鬆地搜尋您所有量值的公式。

  • 定義新的量值 會使用定義量值區塊來建立查詢。 使用此方式在 DAX 查詢檢視中建立您自己的量值,然後在準備好時新增至您的模型。

資料表
  • 顯示前 100 個資料列使用 SELECTCOLUMNS() 建立查詢,以顯示資料表的前 100 個資料列。 欄位會列在每一行上,以便透過註解掉行來輕鬆修改。 也會包含 ORDER BY 來指定排序次序。

    顯示前 100 列的截圖。

  • 顯示資料行統計資料會建立查詢,顯示表格中每個資料行的統計資訊。 查看多種公式用法,瞭解如何將欄位彙總為最小值 (MIN)、最大值 (MAX)、平均值 (AVERAGE)、計數 (COUNT) 等等等。

  • 定義此資料表中的所有量值會建立查詢,此資料表的量值公式會顯示在查詢中。

欄位
  • 顯示資料預覽 使用 DISTINCT 建立查詢,以查看資料行的值。

    顯示資料預覽的螢幕擷取畫面。

  • 顯示資料行統計資料會建立查詢,顯示此特定資料行的統計資訊。 查看多種公式,了解如何將欄彙總為 MIN、MAX、AVERAGE、COUNT 等等。 根據資料行的資料類型,查詢結果會有所不同,顯示數值、文字和日期資料行的不同統計資料。

    顯示資料行預覽的螢幕擷取畫面。

措施
  • 評估會建立查詢以顯示量值的結果。 SUMMARIZECOLUMNS() 可用來新增任何需要分組的資料行,以依特定群組顯示量值,例如國家/地區、產品等。

    評估量值的螢幕擷取畫面。

  • 定義和評估會建立查詢以顯示量值的結果,並在可修改的 DEFINE 陳述式中顯示量值公式。

    定義和評估量值的螢幕擷取畫面。

  • 使用參考定義並評估會建立查詢以顯示量值的結果,而且不僅會顯示可修改之 DEFINE 陳述式中的量值公式,也會顯示量值公式中參考的任何其他量值。 編輯量值完整內容中的任何部分。

    定義、參考和評估的螢幕擷取畫面。

從效能分析器取得圖形化 DAX 查詢

在報表檢視中,圖表透過建立 DAX 查詢從模型中取得資料。 您可以使用效能分析器在 DAX 查詢檢視中檢視視覺查詢。 效能分析器可以為您提供深入解析,幫助您了解視覺效果為何可能顯示非預期值,也可以簡便地作為快速啟動查詢的方法,讓您進一步修改查詢。

[報表檢視] 中,移至 [最佳化] 功能區,然後選取 [效能分析器]。 選取 [開始錄製],然後 [重新整理視覺效果]。 在下表中,展開視覺化圖表以查看可複製查詢或在 DAX 查詢檢視中執行的選項。 在 DAX 查詢檢視中選取 [執行] 會將視覺化查詢新增為 DAX 查詢檢視中的新 [查詢] 索引標籤,然後執行它。

效能分析器功能中視覺化 DAX 查詢的螢幕擷取畫面。

Power BI Desktop 中的 DAX 查詢檢視和即時連線

Power BI Desktop 可以在 OneLake 資料中樞中選取語意模型時,按一下 [連線],即時連線至已發佈的 Power BI 語意模型。 在 [報表] 檢視的右下角會顯示 [即時連線至 Power BI 語意模型]。 DAX 查詢檢視可用來在即時連線時撰寫 DAX 查詢。

模型量值

當即時連線到已發佈的Power BI語意模型時,您無法檢視或編輯模型量值。 [快速查詢] 選項僅限於 [評估]

報表指標

當即時連線到已發佈的 Power BI 語意模型時,您可以建立報表量值。 報表量值可以使用 [報表][模型] 檢視中的 [新量值] 動作來建立,但正如名稱所示,只能在目前的報表中使用。 建立之後,DAX 查詢檢視中的 [快速查詢] 會顯示 [使用參考定義並評估] 的選項。 DAX 查詢會在語意模型上執行,因此報表量值必須一律轉換成 DEFINE MEASURE 區塊中的 DAX 查詢範圍量值來執行,因為它們本身不存在。

[使用變更更新模型]按鈕和 CodeLens 選項更新模型不適用於報表度量。

Web 中的 DAX 查詢檢視

從已發佈的語意模型撰寫 DAX 查詢,並在網頁中使用 DAX 查詢檢視。 Web 中的 DAX 查詢檢視與 Power BI Desktop 中的體驗相同,但有一些例外。

  • 使用者可以在 Power BI 服務中編輯資料模型 (預覽版) 需要啟用 Power BI 工作區設定才能撰寫 DAX 查詢。 若要深入了解,請參閱在 Power BI 服務中編輯資料模型
  • 在關閉時,DAX 查詢會被捨棄。 Power BI Desktop 中的 DAX 查詢會儲存至模型,而語意模型可能會有已儲存在模型中的 DAX 查詢。 Web 中的 DAX 查詢檢視目前不會顯示可能存在於語意模型中的任何先前儲存的 DAX 查詢,而且在您關閉瀏覽器之後,不會保留網頁中建立的查詢。
  • 撰寫 DAX 查詢需要語意模型的寫入權限。 工作區檢視者必須使用 Power BI Desktop 與語意模型的即時連線來撰寫 DAX 查詢。

在 Web 中,帶有 ?query= 參數的 DAX 查詢不再支援附加於指向 DAX 查詢檢視的 URL 之後。

考量與限制

以下是一些要記住的考量:

  • 在 DAX 查詢編輯器中,有 500 多行在輸入時有明顯的延遲。
  • 只有在查詢索引標籤中沒有 DEFINE 陳述式時,才會顯示量值的燈泡快閃操作。
  • 命令選擇區會顯示一些尚無法運作的命令。
  • 結果方格不會顯示具有指定格式的欄位和量測值,例如貨幣、大於千的整數等。
  • 在工作區設定 初始Git 整合 不會包含儲存在已發佈語意模型中的 DAX 查詢。 若要深入了解,請參閱 Fabric Git 整合

有一些需要記住的限制:

  • 每個查詢的資料量最多為 15 MB。 超過 15MB 之後,目前的資料列就會完成,但不會寫入其他資料列。
  • 每個查詢最多 1,000,000 個值。 如果您查詢 20 個資料行,最多可以取回 50,000 個資料列 (1 百萬除以 20 個資料行)。
  • 當量值超過 500 個時,無法定義此資料表或模型中的所有量值。

在 Web 中執行 DAX 查詢有額外的限制:

  • 每個查詢最多會傳回 99,999 個數據列。
  • 語意模型的寫入權限。 具有建置許可權的檢視者可以使用Power BI Desktop 即時連線,並使用DAX查詢檢視來執行DAX查詢。
  • 僅適用於非預設語意模型。 您可以使用Power BI Desktop 即時連線到預設語意模型,並使用DAX查詢檢視來執行DAX查詢。
  • 使用者可以在 Power BI 服務中編輯資料模型 (預覽版) 需要啟用 Power BI 工作區設定才能撰寫 DAX 查詢。 若要深入瞭解,請參閱編輯 Power BI 服務 中的數據模型