使用視覺計算 (預覽)
注意
視覺計算目前為預覽狀態。
視覺計算是在視覺效果上定義並直接執行的 DAX 計算。 視覺計算可讓您更輕鬆地建立先前難以建立的計算,進而簡化 DAX、更輕鬆的維護和更佳的效能。
以下是定義 Sales Amount 執行總和的範例視覺計算。 請注意,需要 DAX 很簡單:
Running sum = RUNNINGSUM([Sales Amount])
計算可以參考視覺效果中的任何數據,包括數據行、量值或其他視覺計算。 這項功能可移除語意模型的複雜性,並簡化撰寫 DAX 的程式。 您可以使用視覺計算來完成常見的商務計算,例如執行總和或移動平均值。
視覺計算與 DAX 中的其他計算選項不同:
視覺效果計算不會儲存在模型中,而是儲存在視覺效果上。 這表示視覺效果計算只能參考視覺效果上的內容。 模型中的任何專案都必須新增至視覺效果,才能參考視覺效果,以釋放視覺計算,使其無法關注篩選內容和模型的複雜性。
視覺計算結合了計算結果列內容的簡單性,以及量值的隨選計算彈性。
相較於量值,視覺計算會在匯總的數據上運作,而不是詳細數據層級,通常會導致效能優勢。 當新的量值或視覺計算可以達成計算時,後者通常會導致更好的效能。
由於視覺計算是視覺效果的一部分,因此可以參考視覺結構,這會導致更大的彈性。
如需在Power BI 中新增計算方式的更深入比較,請參閱 在Power BI Desktop 中使用計算選項。
開啟視覺計算之後,您可以:
- 將視覺效果計算新增至報表
- 隱藏特定欄位
- 使用範本快速建立視覺計算
- 藉由參考視覺效果的座標軸,進行彈性的視覺計算
下列各節提供每個元素在先前項目符號中說明如何使用視覺計算的詳細數據。
啟用視覺計算
若要使用視覺計算,您必須在 [選項及設定>選項>] 預覽功能中啟用它。 選取 [視覺計算] ,然後選取 [ 確定]。 Power BI Desktop 重新啟動之後,即會啟用視覺計算。
新增視覺效果計算
若要新增視覺效果計算,請選取視覺效果,然後選取功能區中的 [ 新增計算 ] 按鈕:
視覺效果計算視窗會在 [編輯] 模式中開啟。 [ 編輯 模式] 畫面包含三個主要區段,如下圖所示:
- 顯示您正在使用之視覺效果的視覺效果預覽
- 您可以在其中新增視覺效果計算的公式列
- 視覺效果 矩陣 ,顯示視覺效果中的數據,並在您加入視覺效果時顯示視覺計算的結果。 您套用至視覺效果的任何樣式或主題,都不會套用至視覺矩陣。
若要新增視覺效果計算,請在公式列中輸入表達式。 例如,在包含 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 等模型關聯性的函式。
隱藏視覺效果中的欄位
在視覺計算編輯模式中,您可以隱藏視覺效果中的欄位,就像在模型檢視中隱藏數據行和數據表一樣。 例如,如果您想要只顯示 收益 視覺效果計算,您可以從檢視中隱藏 銷售金額 和 總利潤 成本:
隱藏欄位不會從視覺效果或視覺效果矩陣中移除它們,因此您的視覺效果計算仍然可以參考它們並繼續運作。 隱藏欄位仍會顯示在視覺效果矩陣上,但未顯示在產生的視覺效果上。 建議的做法是,只有在視覺效果計算正常運作時,才包含隱藏欄位。
使用範本
視覺計算包含範本,可讓您更輕鬆地撰寫常見的計算。 您可以選擇要使用的樣本來尋找樣本:
下列範本可供使用:
- 執行總和。 計算值的總和,並將目前的值新增至上述值。 使用函式 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。 例如,定義為 RUNNINGSUM(Sales Amount],HIGHESTPARENT) 或 RUNNINGSUM([Sales Amount], 1) 的視覺計算會傳回每年從 0 開始的「銷售金額」執行總和。 定義為 RUNNINGSUM(Sales Amount]、 LOWESTPARENT) 或 RUNNINGSUM([Sales Amount], 2) 的視覺計算會傳回每季從 0 開始的「銷售金額」執行總和。 最後,定義為 RUNNINGSUM(Sales Amount]) 的視覺計算不會重設,而且會繼續將每個月的銷售金額值新增至先前的值,而不會重新啟動。
Axis 和 Reset vs ORDERBY 和 PARTITIONBY
Axis、 、 ResetORDERBY 和 PARTITIONBY 是四個函式,可用於配對或一起使用,以影響計算的評估方式。 它們會形成兩對,這些配對通常一起使用:
- Axis 和 Reset
- ORDERBY 和 PARTITIONBY
Axis 和 Reset 僅適用於可用於視覺計算的函式,而且只能在視覺計算中使用,因為它們參考視覺結構。 ORDERBY 和 PARTITIONBY 是可在匯出數據行、量值和視覺計算中使用的函式,並參考欄位。 雖然它們執行相同的函式,但在提供的抽象層級中不同;參考視覺結構比使用 ORDERBY 或 PARTITIONBY 明確參考字段更有彈性。
重設預期軸上會有多個層級。 如果座標軸上沒有多個層級,可能是因為座標軸上只有一個字段或一個單一層級中的多個字段,您可以使用 PARTITIONBY。
指定任一組效果良好,但您也可以同時指定 Axis、ORDERBY 和/或 PARTITIONBY,在此情況下,針對 ORDERBY 和 PARTITIONBY 指定的值會覆寫 所 Axis指定的值。 Reset 無法與 ORDERBY 和 PARTITIONBY 合併。
您可以藉由明確指定欄位來將 ORDERBY 和 PARTITIONBY 配對視為釘選字段參考,其中 Axis 和 Reset 是無從驗證欄位的欄位,它們會參考結構,以及所使用結構上發生的任何欄位。
可用的函數
您可以在視覺計算中使用許多現有的 DAX 函式。 由於視覺計算在視覺矩陣的限制內運作,因此無法使用依賴USERELATIONSHIP、RELATED或 RELATEDTABLE 等模型關聯性的函式。
視覺計算也會引進一組視覺計算特有的函式。 其中許多函式都更容易使用DAX視窗函式的快捷方式。
注意
請只使用下表所述的視覺計算特定函式。 其他視覺計算特定函式目前僅供內部使用,因此不應使用。 請參閱下表,以取得此預覽進行時可供使用之函式的任何更新。
函式 | 描述 | 範例 | 快捷方式 |
---|---|---|---|
COLLAPSE | 計算會在軸的較高層級進行評估。 | 父代百分比 = DIVIDE([Sales Amount], COLLAPSE([Sales Amount], ROWS)) | N/A |
COLLAPSEALL | 計算會在座標軸的總層級進行評估。 | 總計百分比 = DIVIDE([Sales Amount], COLLAPSEALL([Sales Amount], ROWS)) | N/A |
EXPAND | 計算會在軸的較低層級進行評估。 | 子系平均 = EXPAND(AVERAGE([Sales Amount]), ROWS) | N/A |
EXPANDALL | 計算會在座標軸的分葉層級進行評估。 | 分葉層級的平均值 = EXPANDALL(AVERAGE([Sales Amount]), ROWS) | N/A |
FIRST | 是指座標軸的第一列。 | ProfitVSFirst = [Profit] – FIRST([Profit]) | INDEX(1) |
ISATLEVEL | 報告指定的數據行是否存在於目前層級。 | IsFiscalYearAtLevel = ISATLEVEL([會計年度]) | 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(RANGE1), [銷售金額]) | WINDOW |
RUNNINGSUM | 在軸上加入執行的總和。 | RunningSumSales = RUNNINGSUM([Sales Amount]) | WINDOW |
考量與限制
視覺計算目前處於預覽狀態,在預覽期間,您應該注意下列考慮和限制:
- 並非所有視覺效果類型都受到支援。 使用視覺計算編輯模式來變更視覺效果類型。 此外,自定義視覺效果尚未使用視覺計算或隱藏欄位進行測試。
- 下列視覺效果類型和視覺效果屬性已經過測試,且找不到無法與視覺計算或隱藏欄位搭配使用:
- 折線與堆疊直條圖
- 矩形式樹狀結構圖
- 交叉分析篩選器
- R 視覺效果
- Python 視覺效果
- 關鍵影響因數
- 分解樹狀結構
- Q&A
- 智慧型敘事
- 計量
- 編頁報表
- Power Apps
- Power Automate
- 小倍數
- 散佈圖上的播放軸
- 此功能的效能不代表最終產品。
- 無法使用複製/貼上或其他機制重複使用視覺計算。
- 您無法篩選視覺計算。
- 視覺計算無法在相同或不同的詳細數據層級上參考自己。
- 視覺效果計算或隱藏欄位的個人 化無法使用。
- 您無法將 [發佈至 Web ] 功能與使用視覺計算或隱藏欄位的報表搭配使用。
- 您無法從使用視覺計算或隱藏欄位的視覺效果匯出基礎數據。
- 您無法將 查看記錄 鑽研功能與使用視覺計算或隱藏欄位的視覺效果搭配使用。
- 您無法在視覺計算上設定內建或自訂 格式字串 。
- 您無法在視覺計算上套用 條件式格式 設定。
- 您無法在視覺計算上設定 資料類別 。
- 您無法變更視覺計算的匯總。
- 您無法變更視覺計算的排序順序。
- 使用視覺計算或隱藏欄位的報表不支援 Power BI Embedded。
- 不支援對 SQL Server Analysis Services 的即時連線。
- 您無法搭配視覺計算使用 欄位參數 。
- 在視覺計算中無法顯示沒有數據 的專案。
下一步
下列文章在學習和使用視覺計算時可能很有用:
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: