事件
Power BI DataViz World Championships
2月14日 下午4時 - 3月31日 下午4時
4 次參賽機會,有機會贏得會議套裝行程,現場參與在拉斯維加斯舉行的總決賽
進一步了解備註
視覺計算目前處於預覽狀態。
視覺計算是直接在視覺效果上定義和執行的 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 成本:
隱藏欄位不會從視覺效果或視覺效果矩陣中移除這些欄位,因此您的視覺效果計算仍然可以加以參考並能夠繼續運作。 隱藏欄位仍會顯示在視覺效果矩陣上,但不會在產生的視覺效果上顯示。 建議的做法是,只有在需要該隱藏欄位視覺計算才能正常運作的情況下,才包括那些隱藏欄位。
視覺計算包括範本,以讓您可以更輕鬆地撰寫常見的計算。 若要尋找範本,您可以選取範本按鈕並選擇要使用的樣本:
您也可以按兩下 [新增視覺計算] 按鈕的 底部,從功能區建立樣板化視覺計算 。
下列範本可供使用:
選取範本會在公式列中插入範本。 您可以使用這些範本作為起點。 您也可以新增自己的運算式,而不是依賴範本。
許多函式都有選擇性的 Axis 參數,其只能在視覺計算中使用。 Axis 會影響視覺計算周遊視覺效果矩陣的方式。 根據預設,Axis 參數會設定為視覺效果中的第一個座標軸。 對於許多視覺圖形而言,第一個坐標軸是 ROWS,這表示在視覺矩陣中,視覺計算是從上到下逐行評估的。 下表顯示 Axis 參數的有效值:
Axis 圖示 | Axis 名稱 | 描述 |
---|---|---|
![]() |
ROWS | 從上到下垂直計算數據列。 |
![]() |
COLUMNS | 從左至右水平計算各列。 |
![]() |
ROWS COLUMNS | 從上到下垂直計算各行,然後依次從左到右逐列計算。 |
![]() |
COLUMNS ROWS | 從左至右水平計算各列,從上到下依次逐行繼續計算。 |
備註
您只能使用您正在處理之視覺效果中可用的座標軸值。 並非所有視覺效果都提供所有座標軸,且有些視覺效果不會提供座標軸。
許多函式都有選擇性的 Reset 參數,僅供視覺計算使用。 Reset 會影響函式在周遊視覺效果矩陣時,會將其值重設為 0,或切換至不同的範圍。 根據預設,Reset 參數會設定為 None,這表示永遠不會重新啟動視覺計算。 重設預期座標軸上會有多個層級。 如果座標軸上只有一個層級,您可以使用 PARTITIONBY (部分機器翻譯)。 下列清單描述 參數的有效值 Reset :
若要了解 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 值新增至先前的值,而不需重新啟動。
RUNNINGSUM([Sales Amount])
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視窗函式捷徑。
備註
請只使用下表所述的視覺計算特定函式。 其他視覺計算特定的函式目前僅供內部使用,因此不應使用。 請參閱下表,以取得此預覽進行時可供使用之函式的任何更新。
函式 | 描述 | 範例 | 作為下列項目的捷徑 |
---|---|---|---|
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 |
可以使用資料類型和格式設定選項來設定視覺計算的格式, 也可以設定自訂視覺效果層級格式字串。 在視覺效果格式設定窗格中,使用 [一般] 區段中的 [資料格式] 選項來設定格式:
視覺計算目前處於預覽狀態,且在預覽期間,您應該注意下列考量和限制:
下列文章在學習和使用視覺計算時可能很有用:
事件
Power BI DataViz World Championships
2月14日 下午4時 - 3月31日 下午4時
4 次參賽機會,有機會贏得會議套裝行程,現場參與在拉斯維加斯舉行的總決賽
進一步了解訓練
模組
Create visual calculations in Power BI Desktop - Training
Calculations in Power BI are necessary to enrich data analysis. Visual calculations simplify complex formulas, enhance performance, and reduce maintenance.
認證
Microsoft Certified: Power BI Data Analyst Associate - Certifications
示範符合使用 Microsoft Power BI 進行資料建模、視覺化和分析的業務和技術要求的方法和最佳做法。