深入了解資料列內容
您現在已經建立計算結果欄,可開始學習如何評估其公式。
會評估每個資料表中資料列的計算結果欄公式。 另外,這是在資料列內容中評估,表示是目前的資料列。 思考 Due Fiscal Year 計算結果欄的定義:
Due Fiscal Year =
"FY"
& YEAR('Due Date'[Due Date])
+ IF(
MONTH('Due Date'[Due Date]) <= 6,
1
)
評估每個資料列的公式時,'Due Date'[Due Date]
的資料行參考會傳回該資料列的資料行值。 您會發現 Microsoft Excel 處理公式的概念和在 Excel 資料表中相同。
但是,資料列內容並不會延伸到資料表範圍之外。 如果您的公式需要參考其他資料表中的資料行,有兩種選擇:
- 如果資料表是直接或間接相關,可以使用
RELATED
或RELATEDTABLE
DAX 函式。RELATED
函式會擷取關聯性單側的值,而RELATEDTABLE
則會擷取多側的值。RELATEDTABLE
函式會傳回資料表物件。 - 當資料表互不相關時,可以使用
LOOKUPVALUE
DAX 函式。
一般來說,請盡量使用 RELATED
函式。 由於關聯性和資料行資料儲存及編制索引方式的緣故,此函式的執行效果通常會比 LOOKUPVALUE
函式更好。
現在,將下列計算結果欄定義新增至 Sales 資料表:
Discount Amount =
(
Sales[Order Quantity]
* RELATED('Product'[List Price])
) - Sales[Sales Amount]
計算結果欄定義會將 Discount Amount 資料行新增至 Sales 資料表。 Power BI 會評估 Sales 資料表中每個資料列的計算結果欄公式。 在資料列內容中,會擷取 Order Quantity 和 Sales Amount 資料行的值。 不過,因為 List Price 資料行屬於 Product 資料表,所以需要 RELATED
函式才能擷取銷售產品的定價值。
評估計算結果欄公式時,會使用資料列內容。 使用稱為迭代器函式的這類函式時,也會使用資料列內容。 迭代器函式可讓您彈性建立精確的摘要。 在稍後的課程模組中會說明迭代器函式。