了解計算結果欄和量值

已完成
計算結果欄 量值
通常會建立新的資料行作為其他資料行的函式。 使用 DAX 函式建立的彙總值。
一律與某個資料表相關聯。 未與任何資料表建立關聯。
在建立時進行評估。 在建立視覺效果之後進行評估。
在關聯資料表的資料列層級進行計算。 根據資料列和篩選內容 (報表頁面上的內容) 進行彙總。

計算結果欄與量值之間的差異。

使用計算結果欄,您可以新增資料至已在 Power BI 模型中的資料表。 您將探索一些常見的使用案例:條件資料行、資料行之間的算術運算,以及相依於多個資料表的資料行。

影片:計算結果欄的示範

建立條件資料行

條件資料行可讓分析師測試變數的邏輯案例,以協助判斷某項條件為 true 或 false。 執行條件資料行的最簡單方式是透過邏輯函式,例如 IF 函式。 此函式會檢查條件,並在其為 TRUE 時傳回一個值,否則傳回第二個值。

以下是條件資料行範例:

Active StoreName = IF( [Status] = "On", [StoreName], "Inactive" )

在先前的代碼段中,您會檢查商店的狀態欄位是否設定為 「開啟」。如果該語句為 true,則您想要顯示其存放區名稱。 否則,您將會顯示 [Inactive] 一詞。

提示

與 TABLEAU 的關聯:這個概念應該類似於 Tableau 導出欄位視窗。 在 Tableau 中,您可以使用 IF/THEN 語法及/或 IIF 函式執行條件陳述式。 Power BI 中的 IF 函式與 Tableau 中的 IIF 函式最類似。

在資料行之間執行算術運算

在計算結果欄中執行算術運算應該類似於 Tableau 分析,但某些函式的語法會有所不同。

下列程式碼是使用熟悉語法的計算結果欄範例:

DiscountedPrice = [FullPrice] - [Discount]

根據上述程式碼,[DiscountedPrice] 是一個計算結果欄,會傳回項目的折扣價格。 其計算方式是將原價減去項目所套用的折扣。

相反地,下列程式碼是使用不同語法的計算結果欄範例:

ProfitRatio = DIVIDE( [Profit], [Sales] )

提示

與 TABLEAU 的關聯:在 Tableau 導出欄位中,您可以使用 "/" 字元執行除法運算:ProfitRatio = [Profit] / [Sales]

建立相依於多個資料表的計算結果欄

Power Query 是一種資料連線技術,可讓分析師探索、連接、合併及精簡資料來源。 基於該項資訊,使用 Power Query 建立相依於多個資料表的資料行似乎很合理。 可惜的是,您無法使用 Power Query 執行此作業。

為了彌補 Power BI 中的這項差距,分析師必須使用 DAX,因為您要建立的計算會使用您在 Power BI Desktop 中設定的關聯性。

已售出貨物成本範例

例如,您獲指派一個新工作,其必須使用產品批發價格和已售出單位數計算已售出貨物成本 (COGS)。 產品批發價格位於 Product 維度資料表中,而已售出單位數則來自 Sales 事實資料表。 以下是本範例中所有片段組合在一起的的資料預覽:

COGS 範例的資料預覽。

下列程式碼片段是相依於多個資料表的計算結果欄範例:

COGS = Sales[Quantity] * RELATED( Product[Wholesale Price] )

提示

與 TABLEAU 的關聯:下列 Tableau 程式碼片段只有在融入 [Product] 資料表中 [ProductID] 維度資料的情況下才適用:COGS = [Quantity] * [Product].[Wholesales Price]

提示

與 TABLEAU 的關聯:如果 Tableau Desktop 中的資料反正規化,您的程式碼看起來應如下所示:COGS = { FIXED [ProductID]: SUM([Quantity] * [Wholesale Price]) }

RELATED 函式可讓使用者根據現有的關聯性,在計算結果欄或量值中使用來自其他資料表的值。

我們將在下列影片中複習這些步驟:

影片:建立計算結果欄

您可以使用的另一個關聯性函式是 USERELATIONSHIP,這只會覆寫計算期間的其他關聯性。 換句話說,這會在計算期間啟用指定的關聯性 (根據參數或兩個資料行名稱)。

了解量值

相較於計算結果欄,量值稍微有些不同。 量值不會依每個資料列計算,而會根據彙總進行計算。

影片:建立量值的示範

量值 定義
= SUM( Sales[Quantity] ) 加總 Sales 資料表中的 Quantity 資料行。
= SUMX( Sales, (Related( Product[Wholesales Price] ) * Sales[Quantity] ) ) 查閱 Product 資料表中的 Wholesale Price,並將其乘以 Sales 資料表中的 Quantity (逐一查看每個資料列,然後加總)。 這會假設參考的資料表具有關聯性。
= [Total Sales] -- [COGS] 將 Total Sales 量值減去 COGS 量值 (這兩者必須是量值,而不是計算結果欄)。
= DIVIDE( [Gross Profit], [Total Sales] ) 將 Gross Profit 量值除以 Total Sales 量值。
= SWITCH( DATE[Month], 1, "January", 2, "February", 3, "Unknown month number" ) 這是建立使用多項條件之 IF/THEN 陳述式的捷徑。

示範使用一般函式的簡單量值,以及其定義。

如需計算結果欄的詳細資訊,請參閱:在 Power BI Desktop 中建立計算結果欄

如需 DAX 的詳細資訊,請參閱:在 Power BI Desktop 中使用 DAX