使用視覺計算 (預覽版)
注意
視覺計算目前處於預覽狀態。
視覺計算是直接在視覺效果上定義和執行的 DAX 計算。 視覺計算可讓您更輕鬆地建立先前難以建立的計算,進而促成更簡化的 DAX、更輕鬆的維護,以及更好的效能。
以下是定義 Sales Amount 之累積總和的範例視覺計算。 請注意,所需的 DAX 很簡單:
Running sum = RUNNINGSUM([Sales Amount])
計算可以參考視覺效果中的任何資料,包括資料行、量值或其他視覺計算。 這個能力可移除語意模型的複雜度,並簡化撰寫 DAX 的流程。 您可以使用視覺計算來完成常見的商業計算,例如累積總和或移動平均。
視覺計算與 DAX 中的其他計算選項不同:
視覺計算不會儲存在模型中,而是儲存在視覺效果上。 這表示視覺效果計算只能參考視覺效果上的內容。 模型中的所有項目都必須先新增至視覺效果,視覺計算才能加以參考,這使得視覺計算不會受到篩選內容和模型複雜度的影響。
視覺計算結合了計算結果資料行內容的簡單性,以及量值的隨選計算彈性。
相較於量值,視覺計算會在彙總的資料上運算,而不是在詳細資料層級上,而這通常能帶來效能上的優勢。 當新的量值或視覺計算可以達成計算時,後者通常會帶來更好的效能。
由於視覺計算是視覺效果的一部分,因此其可以參考視覺效果結構,而這能帶來更大的彈性。
如需在 Power BI 中新增計算之方式的更深入比較,請參閱在 Power BI Desktop 中使用計算選項。
啟用視覺計算之後,您可以:
- 將視覺計算新增至報表
- 隱藏特定欄位
- 使用範本快速建立視覺計算
- 透過參考視覺效果的座標軸,進行彈性的視覺計算
下列各節旨在介紹 (前述重點中) 每個元素會如何搭配視覺計算運作的詳細資料。
啟用視覺計算
在 2024 年 9 月 24 日之前,若要使用視覺計算,您必須在 [選項及設定]>[選項]>[預覽功能] 中加以啟用。 選取 [視覺計算],然後選取 [確定]。 在 Power BI Desktop 重新啟動之後,即會啟用視覺計算。
自 2024 年 9 月起,預設會啟用視覺計算,因此不再需要執行該步驟。 雖然視覺計算仍處於預覽狀態,但您可以視需要使用上述設定來停用視覺計算。
新增視覺計算
若要新增視覺計算,請選取視覺效果,然後選取功能區中的 [新增視覺計算] 按鈕:
視覺計算視窗會在 [編輯] 模式中開啟。 [編輯] 模式畫面是由三個主要區段所組成,如下圖中從上到下所示:
- 視覺效果預覽,其中顯示您正在使用的視覺效果
- 公式列,可供您在其中新增視覺計算
- 視覺效果矩陣,其顯示視覺效果中的資料,並在您新增視覺計算時顯示其結果。 您套用至視覺效果的任何樣式或主題,都不會套用至視覺效果矩陣。
若要新增視覺計算,請在公式列中輸入運算式。 例如,在包含 Sales Amount 和 Total Product Cost by Fiscal Year 的視覺效果中,您可以輸入下列命令來新增視覺效果計算,以計算每年的利潤:
Profit = [Sales Amount] – [Total Product Cost]
根據預設,視覺效果上的大部分視覺計算都會依資料列評估,就像計算結果欄一樣。 在上一個範例中,針對視覺效果矩陣的每個資料列,會減去目前的 Sales Amount 和 Total Product Cost,並在 Profit 資料行中傳回結果。 雖然可能的話,您不需要像量值中一樣新增如 SUM (部分機器翻譯) 的彙總函式。 事實上,最好不要在不需要這類彙總時加以加入,以便您可以更輕鬆地區分量值和視覺計算運算式。
當您新增視覺計算時,這些計算會顯示在視覺效果上的欄位清單中:
此外,視覺效果上會顯示視覺計算:
您可以在視覺計算中使用許多現有的 DAX 函式。 您也可以使用特定於視覺計算的函式。 由於視覺計算是在視覺效果矩陣的範圍內運作,因此無法使用依賴模型關聯性的函式,例如 USERELATIONSHIP (部分機器翻譯)、RELATED (部分機器翻譯) 或 RELATEDTABLE (部分機器翻譯)。
隱藏視覺效果中的欄位
在視覺計算編輯模式中,您可以隱藏視覺效果中的欄位,如同在模型化檢視中隱藏資料行和資料表一樣。 例如,如果您想要只顯示 Profit 視覺計算,您可以從檢視中隱藏 Sales Amount 和 Total Profit 成本:
隱藏欄位不會從視覺效果或視覺效果矩陣中移除這些欄位,因此您的視覺效果計算仍然可以加以參考並能夠繼續運作。 隱藏欄位仍會顯示在視覺效果矩陣上,但不會在產生的視覺效果上顯示。 建議的做法是,只有在需要該隱藏欄位視覺計算才能正常運作的情況下,才包括那些隱藏欄位。
使用範本
視覺計算包括範本,以讓您可以更輕鬆地撰寫常見的計算。 若要尋找範本,您可以選取範本按鈕並選擇要使用的樣本:
您也可以按兩下 [新增視覺計算] 按鈕的 底部,從功能區建立樣板化視覺計算 。
下列範本可供使用:
- 累積總和: 計算值的總和,並將目前的值加至前一個值。 使用 RUNNINGSUM 函式。
- 移動平均: 計算指定窗口中一組值的平均值,方法是將值的總和除以窗口的大小。 使用 MOVINGAVERAGE 函式。
- 父代百分比: 計算相對於值父代的值百分比。 使用 COLLAPSE 函式。
- 總計百分比: 使用 COLLAPSEALL 函式計算值相對於所有值的百分比。
- 子系平均值: 計算子值集合的平均值。 使用 EXPAND 函式。
- 與上一個值比較: 使用 PREVIOUS 函式將值與上一個值比較。
- 與下一個值比較: 使用 NEXT 函式將值與下一個值比較。
- 與第一個值比較: 使用 FIRST 函式將值與第一個值比較。
- 與最後一個值比較: 使用 LAST 函式將值與第一個值比較。
選取範本會在公式列中插入範本。 您可以使用這些範本作為起點。 您也可以新增自己的運算式,而不是依賴範本。
Axis
許多函式都有選擇性的 Axis 參數,其只能在視覺計算中使用。 Axis 會影響視覺計算周遊視覺效果矩陣的方式。 根據預設,Axis 參數會設定為視覺效果中的第一個座標軸。 對於許多視覺效果而言,第一個座標軸都是 ROWS,這表示視覺計算是在視覺效果矩陣中以從上至下的方式逐資料列評估。 下表顯示 Axis 參數的有效值:
Axis 圖示 | Axis 名稱 | 描述 |
---|---|---|
ROWS | 從上至下以垂直方式跨資料列計算。 | |
COLUMNS | 從左至右以水平方式跨資料行計算。 | |
ROWS COLUMNS | 從上至下以垂直方式跨資料列計算,然後從左至右依資料行繼續計算。 | |
COLUMNS ROWS | 從左至右以水平方式跨資料行計算,然後從上至下依資料列繼續計算。 |
注意
您只能使用您正在處理之視覺效果中可用的座標軸值。 並非所有視覺效果都提供所有座標軸,且有些視覺效果不會提供座標軸。
Reset
許多函式都有選擇性的 Reset 參數,僅供視覺計算使用。 Reset 會影響函式在周遊視覺效果矩陣時,會將其值重設為 0,或切換至不同的範圍。 根據預設,Reset 參數會設定為 None,這表示永遠不會重新啟動視覺計算。 重設預期座標軸上會有多個層級。 如果座標軸上只有一個層級,您可以使用 PARTITIONBY (部分機器翻譯)。 下列清單描述 參數的有效值 Reset :
- NONE 是預設值,而且不會重設計算。
- HIGHESTPARENT 會在座標軸上最高父代的值變更時重設計算。
- LOWESTPARENT 會在座標軸上最低父代的值變更時重設計算。
- 數值,參考座標軸上的字段,最高欄位為一。
- 只要欄位位於視覺效果上,欄位就會參考。
若要了解 HIGHESTPARENT 和 LOWESTPARENT,讓我們假設有一個座標軸,其在多個層級上都具有三個欄位:Year、Quarter 和 Month。 HIGHESTPARENT 是 Year,而最低父代是 Quarter。 例如,下列視覺計算相等,並傳回每年從 0 開始的銷售 金額 總和:
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
相反地,下列視覺計算都會傳回每季從 0 開始的銷售 金額 總和:
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], 2)
最後,此視覺計算不會重設,而且會繼續將每個月的 Sales Amount 值新增至previous值,而不會重新啟動。
RUNNINGSUM([Sales Amount])
Axis 和 Reset 與 ORDERBY 和 PARTITIONBY
Axis、Reset、ORDERBY 和 PARTITIONBY 是可以兩兩搭配或一起使用以影響評估計算方式的四個函式。 這四個函式會形成兩個經常一起使用的配對:
- Axis 和 Reset
- ORDERBY 和 PARTITIONBY
Axis 和 Reset 僅適用於可用於視覺計算的函式,而且只能在視覺計算中使用,因為其會參考視覺效果結構。 ORDERBY 和 PARTITIONBY 是可在計算結果資料行、量值和視覺計算中使用的函式,而且會參考欄位。 雖然其會執行相同的函式,但在所提供的抽象層級中是有所不同的;對視覺效果結構的參考,比使用 ORDERBY 或 PARTITIONBY 明確參考欄位會更有彈性。
重設預期座標軸上會有多個層級。 如果座標軸上沒有多個層級 (這可能是因為座標軸上只有一個欄位,或是有多個具有單一層級的欄位),您可以使用 PARTITIONBY。
指定任何一組都能運作良好,但您也可以同時指定 Axis、ORDERBY 和/或 PARTITIONBY,在此情況下,針對 ORDERBY 和 PARTITIONBY 指定的值會覆寫 Axis 所指定的值。 Reset 無法與 ORDERBY 和 PARTITIONBY 合併。
您可以將 ORDERBY 和 PARTITIONBY 配對想成透過明確指定欄位來將欄位參考固定下來,其中座標軸和重設都與欄位無關,其指的是結構以及所使用結構上的任何欄位。
可用的函數
您可以在視覺計算中使用許多現有的 DAX 函式。 由於視覺計算是在視覺效果矩陣的範圍內運作,因此無法使用依賴模型關聯性的函式,例如 USERELATIONSHIP (部分機器翻譯)、RELATED (部分機器翻譯) 或 RELATEDTABLE (部分機器翻譯)。
視覺計算也會引進一組視覺計算特有的函式。 其中許多函式都是 DAX window 函式更易於使用的捷徑。
注意
請只使用下表所述的視覺計算特定函式。 其他視覺計算特定的函式目前僅供內部使用,因此不應使用。 請參閱下表,以取得此預覽進行時可供使用之函式的任何更新。
函式 | 描述 | 範例 | 作為下列項目的捷徑 |
---|---|---|---|
COLLAPSE | 計算會在座標軸的較高層級進行評估。 | Percent of parent = DIVIDE([Sales Amount], COLLAPSE([Sales Amount], ROWS)) | N/A |
COLLAPSEALL | 計算會在座標軸的總層級進行評估。 | Percent of grand total = DIVIDE([Sales Amount], COLLAPSEALL([Sales Amount], ROWS)) | N/A |
EXPAND | 計算會在座標軸的較低層級進行評估。 | Average of children = EXPAND(AVERAGE([Sales Amount]), ROWS) | N/A |
EXPANDALL | 計算會在座標軸的分葉層級進行評估。 | Average of leaf level = EXPANDALL(AVERAGE([Sales Amount]), ROWS) | N/A |
FIRST | 指的是座標軸的第一個資料列。 | ProfitVSFirst = [Profit] – FIRST([Profit]) | INDEX(1) |
ISATLEVEL | 回報指定的資料行是否存在於目前層級。 | IsFiscalYearAtLevel = ISATLEVEL([Fiscal Year]) | N/A |
LAST | 指的是座標軸的最後一個資料列。 | ProfitVSLast = [Profit] – LAST([Profit]) | INDEX(-1) |
MOVINGAVERAGE | 在座標軸上新增移動平均。 | MovingAverageSales = MOVINGAVERAGE([Sales Amount], 2) | WINDOW |
NEXT | 指的是座標軸的下一個資料列。 | ProfitVSNext = [Profit] – NEXT([Profit]) | OFFSET(1) |
PREVIOUS | 指的是座標軸的上一個資料列。 | ProfitVSPrevious = [Profit] – PREVIOUS([Profit]) | OFFSET(-1) |
RANGE | 指的是座標軸的資料列配量。 | AverageSales = AVERAGEX(RANGE(1), [Sales Amount]) | WINDOW |
RUNNINGSUM | 在座標軸上新增累積總和。 | RunningSumSales = RUNNINGSUM([Sales Amount]) | WINDOW |
格式化視覺效果計算
可以使用資料類型和格式設定選項來設定視覺計算的格式, 也可以設定自訂視覺效果層級格式字串。 在視覺效果格式設定窗格中,使用 [一般] 區段中的 [資料格式] 選項來設定格式:
考量與限制
視覺計算目前處於預覽狀態,且在預覽期間,您應該注意下列考量和限制:
- 並非所有視覺效果類型都受到支援。 使用視覺計算編輯模式來變更視覺效果類型。 此外,自訂視覺效果尚未搭配視覺計算或隱藏欄位進行測試。
- 下列視覺效果類型和視覺效果屬性已經過測試,且發現無法與視覺計算或隱藏欄位搭配使用:
- 矩形式樹狀結構圖
- 交叉分析篩選器
- R 視覺效果
- Python 視覺效果
- 關鍵影響因數
- 分解樹狀結構
- Q&A
- 智慧型敘事
- 計量
- 編頁報表
- Power Apps
- Power Automate
- 小倍數
- 散佈圖上的播放座標軸
- 此功能的效能不代表最終產品。
- 無法使用複製/貼上或其他機制重複使用視覺計算。
- 您無法篩選視覺計算。
- 視覺計算無法在相同或不同的詳細資料層級上參考自己。
- 無法對視覺計算或隱藏欄位進行個人化。
- 您無法使用發行至 Web (部分機器翻譯) 功能搭配使用視覺計算或隱藏欄位的報表。
- 從視覺效果匯出數據時,視覺計算結果不會包含在基礎數據匯出中。 匯出中永遠不會包含隱藏的欄位,但導出 基礎數據時除外。
- 您無法搭配使用視覺計算或隱藏欄位的視覺效果使用查看記錄鑽研功能。
- 您無法在視覺計算上套用條件式格式設定。
- 您無法在視覺計算上設定資料類別 (部分機器翻譯)。
- 您無法在視覺計算上變更彙總。
- 您無法變更視覺計算的排序次序。
- 使用視覺計算或隱藏欄位的報表不支援 Power BI Embedded。
- 不支援對 SQL Server Analysis Services 進行即時連線。
- 雖然您可以搭配視覺計算使用 字段參數 ,但它們有一些限制。
- 視覺計算無法使用顯示沒有資料的項目。
- 您無法搭配視覺計算使用資料限制。
- 您無法在視覺計算上設定 動態格式字串,也無法使用視覺計算做為欄位或量值的動態格式字串。
- 您無法搭配視覺計算使用 Azure 地圖服務 的 Path 選項。
Next 個步驟
下列文章在學習和使用視覺計算時可能很有用: