建立計算結果欄

已完成

您可以撰寫 DAX 公式,以便將計算結果欄新增至模型中的任何資料表。 計算結果欄公式必須傳回純量或單一值。

匯入模型中的計算結果欄有其成本:這種資料表會增加模型儲存大小,並延長資料重新整理時間。 這是因為當計算結果欄與重新整理資料表有公式相依性時,計算結果欄會重新計算。

在 [資料檢視] 的 [欄位] 窗格中,確認已選取 Due Date 資料表。 在建立計算結果欄之前,請先將 Date 資料行重新命名為 Due Date

現在,您可以將計算結果欄新增至 Due Date 資料表。 若要建立計算結果欄,請在 [資料表工具] 內容功能區中,從 [計算] 群組內選取 [新增資料行]。

圖中顯示出 Due Date 資料表的資料表工具內容功能區。在 [計算] 群組內,會反白顯示 [新增資料行] 命令。

在公式列中,輸入下列計算結果欄定義,然後按下 [Enter]。

Due Fiscal Year =
"FY"
    & YEAR('Due Date'[Due Date])
        + IF(
            MONTH('Due Date'[Due Date]) > 6,
            1
        )

計算結果欄定義會將 Due Fiscal Year 資料行新增至 Due Date 資料表。 下列步驟說明 Microsoft Power BI 如何評估計算結果欄公式:

  1. 加法運算子 (+) 會在文字串連運算子 (&) 之前受到評估。
  2. YEAR DAX 函式會傳回到期日年份的整數值。
  3. 當到期日月數為 7-12 (7 月到 12 月) 時,IF DAX 函式會傳回此值,否則會傳回空白。 (舉例來說,由於 Adventure Works 的會計年度是 7 月至 6 月,所以日曆年度最後六個月會使用下一個日曆年度做為會計年度。)
  4. 年度值會新增至 IF 函式所傳回的值,這是值 1 或空白。 如果此值為空白,會隱含轉換為零 (0),以便加入來產生會計年度值。
  5. 文字值 "FY" 與會計年度值串連,會隱含地轉換成文字。

使用下列定義來新增第二個計算結果欄:

Due Fiscal Quarter =
'Due Date'[Due Fiscal Year] & " Q"
    & IF(
        MONTH('Due Date'[Due Date]) <= 3,
        3,
        IF(
            MONTH('Due Date'[Due Date]) <= 6,
            4,
            IF(
                MONTH('Due Date'[Due Date]) <= 9,
                1,
                2
            )
        )
    )

計算結果欄定義會將 Due Fiscal Quarter 資料行新增至 Due Date 資料表。 IF 函式會傳回季度數 (第 1 季為 7 月至 9 月),而結果會串連到 Due Fiscal Year 資料行值和常值文字 Q

使用下列定義來新增第三個計算結果欄:

Due Month =
FORMAT('Due Date'[Due Date], "yyyy mmm")

計算結果欄定義會將 Due Month 資料行新增至 Due Date 資料表。 FORMAT DAX 函式會使用格式字串將 Due Date 資料行值轉換成文字。 在此情況下,格式字串會產生描述年份和縮寫月份名稱的標籤。

注意

有許多使用者定義的日期/時間格式存在。 如需詳細資訊,請參閱 FORMAT 函式的自訂日期和時間格式

使用下列定義來新增第四個計算結果欄:

Due Full Date =
FORMAT('Due Date'[Due Date], "yyyy mmm, dd")

使用下列定義來新增第五個計算結果欄:

MonthKey =
(YEAR('Due Date'[Due Date]) * 100) + MONTH('Due Date'[Due Date])

MonthKey 計算結果欄會將到期日年份乘以值 100,然後新增到期日的月數。 這會產生一個數值,可用來按照時間順序排序 Due Month 的文字值。

確認 Due Date 資料表有六個資料行。 第一個資料行是在建立計算資料表時所新增,而其他五個資料行則是新增為計算結果欄。

圖中顯示 Due Date 資料表為資料檢視。共有六個資料行,而且看得到前七個資料列。

為了讓 Due Date 資料表的設計更加完善,可採取以下動作:

  • 依據 Due Date 資料行,排序 Due Full Date 資料行。
  • 依據 MonthKey 資料行,排序 Due Month 資料行。
  • 隱藏 MonthKey 資料行。
  • 建立名為 Fiscal 的階層,並包含下列層級:
    • Due Fiscal Year
    • Due Fiscal Quarter
    • Due Month
    • Due Full Date
  • 使用 Due Date 資料行,將 Due Date 資料表標記為 Date 資料表。