了解計算結果欄和量值
計算結果欄 | 量值 |
---|---|
通常會建立新的資料行作為其他資料行的函式。 | 使用 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 = 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