深入了解資料列內容

已完成

您現在已經建立計算結果欄,可開始學習如何評估其公式。

會評估每個資料表中資料列的計算結果欄公式。 另外,這是在資料列內容中評估,表示是目前的資料列。 思考 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 資料表中相同。

但是,資料列內容並不會延伸到資料表範圍之外。 如果您的公式需要參考其他資料表中的資料行,有兩種選擇:

  • 如果資料表是直接或間接相關,可以使用 RELATEDRELATEDTABLE 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 QuantitySales Amount 資料行的值。 不過,因為 List Price 資料行屬於 Product 資料表,所以需要 RELATED 函式才能擷取銷售產品的定價值。

評估計算結果欄公式時,會使用資料列內容。 使用稱為迭代器函式的這類函式時,也會使用資料列內容。 迭代器函式可讓您彈性建立精確的摘要。 在稍後的課程模組中會說明迭代器函式。