Share via


建立計算群組

計算群組可以大幅減少您必須建立的備援量值數目,方法是讓您將 DAX 運算式定義為套用至模型中現有量值的計算專案。 如需計算群組的詳細資訊,請參閱 計算群組 一文。

新增計算群組

當您開啟本機模型時,請在 Power BI Desktop 中,流覽至 [模型] 檢視 ,然後選取功能區中的 [ 計算群組 ] 按鈕。 如果您尚未在 [模型總管] 中,[數據] 窗格會開啟至 [模型] 檢視。

Screenshot of calculation groups button in the ribbon.

如果不鼓勵使用隱含量值屬性已關閉,系統會提示您開啟對話框視窗,以啟用計算群組的建立。

Screenshot of dialog window prompting you to enable implicit measures.

在報表檢視,您直接在視覺效果中使用 [數據] 窗格中的數據行時,就會發生隱含量值。 視覺效果可讓您將其匯總為 SUM、AVERAGE、MIN、MAX 或其他一些基本匯總,這會變成隱含量值。 建立計算群組會阻止建立這類隱含量值,方法是不再顯示 [數據] 窗格中數據行旁的加總符號,並封鎖將數據行直接新增至匯總軸或值上的視覺效果。 視覺效果中已建立的現有隱含量值將繼續運作。 必須啟用「不鼓勵隱含量值」屬性,因為計算專案不適用於隱含量值。 計算專案僅適用於量值或明確量值。

Screenshot of Report view and creation of implicit measures.

當您建立 New 量值並定義 DAX 運算式來匯總數據行時,就會發生量值或明確量 值。 明確量值也可以有條件式邏輯和篩選,充分利用您可以使用DAX執行的動作。 教學課程:您可以瞭解如何 在 Power BI Desktop 中建立自己的量值。

注意

當您有一個不想要變更計算專案的量值時,可以透過量值名稱忽略明確量值的方式建立計算專案。

一旦您選取 [ ],或如果您已啟用不鼓勵隱含量值屬性,就會新增計算群組,而且您可以開始定義 DAX 公式列中第一個計算專案的 DAX 表達式。

SELECTEDMEASURE() 是 DAX 函式,可作為計算專案要套用之量值的佔位元。 您可以從其文章瞭解 SELECTEDMEASURE DAX 函式

Screenshot of DAX formula bar and calculation group.

時間智慧範例

Analysis Services 表格式模型一文中的計算群組有時間智慧範例,可用來填入某些計算專案。 此範例可以新增至依日期和日期數據表標示為日期數據表的任何模型,或者您可以從 DAX 範例模型 - DAX 下載 Adventure Works DW 2020 PBIX

重新命名計算群組

若要重新命名計算群組,請在 [數據] 窗格中按兩下該群組,或者您可以選取該群組並使用 [屬性] 窗格。

Screenshot of how to rename a calculation group.

重新命名計算群組數據行

若要重新命名計算群組數據行,請在 [資料] 窗格中按兩下該資料行,或者您可以選取它並使用 [屬性] 窗格。 您選取的數據行是您將在視覺效果或交叉分析篩選器中使用的數據行,以套用特定的計算專案。

Screenshot of how to rename a calculation group column.

重新命名計算專案

第一個計算專案已建立為 SELECTEDMEASURE(),因此也可以按兩下或使用 [屬性 ] 窗格來重新命名。

Screenshot of how to rename a calculation item.

建立其他計算專案

若要建立其他計算專案,您可以使用 [計算專案] 區段或計算群組本身的右鍵操作功能表,然後選擇 [新增計算專案],或使用 [計算專案] 區段的 [屬性] 窗格

Screenshot of how to create a new calculation item.

一旦我新增了所有時間智慧計算專案,我的計算群組看起來會像下圖。

Screenshot of calculation groups once all time intelligence items have been added.

請注意紅色三角形圖示,指出錯誤。 因為 DAX 運算式範例使用名為 DimDate 的 Date 數據表,所以我需要更新 DAX 運算式,以改用 Date 名稱。 下圖顯示更正之前的DAX表達式。

Screenshot of incorrect DAX expression.

一旦我修正 DAX 運算式,錯誤就會消失。

Screenshot of corrected DAX expression.

一旦我針對計算專案中的每個錯誤進行更正,紅色三角形警告圖示就不再出現。

Screenshot of corrected DAX expressions in the calculation items area.

重新排序計算專案

若要以任何您偏好的邏輯方式重新排序計算專案,您可以在 [屬性] 窗格中選取 [計算專案] 區段,或以滑鼠右鍵單擊計算專案的操作功能表,以在清單中向上或向下移動。

Screenshot of reordering calculation items.

將動態格式字串新增至計算專案

計算項目預設會使用基礎量值格式設定。 我們可能會想要改為將YOY%顯示為百分比。 若要這樣做,請選取 YOY% 計算項目,然後在 [屬性] 窗格中開啟 [動態格式字串 ],這可讓您指定 DAX 運算式來建立格式字串。 在此範例中,它不需要任何條件元素,因此只要 #,##0.00% 就會在套用此計算專案時,將格式變更為百分比,如下圖所示。

Screenshot of changing format of underlying data items.

在報表中使用計算群組

若要在報表中使用新的計算群組,請移至 [報表 ] 檢視,建立 [矩陣 ] 視覺效果,然後新增下列專案:

  1. 從日期數據表到數據列的月份數據行
  2. 時間智慧計算群組到數據行的時間計算
  3. Orders measure to the Values

注意

如果未在模式中建立量值 Orders ,您可以使用不同的量值或移至功能區,然後選擇 [使用此 DAX 表達式的新量值]。

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

下圖顯示建置視覺效果。

Screenshot of using calculation groups in reports.

[矩陣] 視覺效果中 [數據行] 上的計算項目會顯示依每個計算專案分組的量值 Orders。 您也可以將計算群組數據行加入交叉分析篩選器視覺效果,將個別計算專案套用至多個量值。

Screenshot of applying individual calculation items to multiple measures.

在量值中使用計算專案

您可以使用 DAX 運算式建立新的量值,以在特定量值上使用計算專案。

若要建立 [Orders YOY%] 量值,您可以使用計算專案搭配 CALCULATE。

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

設定計算群組優先順序

最後,如果您將其他計算群組新增至模型,而且您想要指定它們套用至量值的順序,您可以在 [計算群組] 區段屬性窗格中調整計算群組優先順序,如下圖所示。

Screenshot of setting calculation group precedence.

您可以在 Analysis Services 表格式模型中的計算群組一文中深入了解計算群組優先順序。

下列文章將詳細說明數據模型,並詳細說明 DirectQuery。

DirectQuery 文章: