Power BI Desktop 的 2017 年 4 月版本起,您只要為新資料行提供一或個範例值,就可以使用查詢編輯器將資料的新資料行新增到模型。 您可以從目前選取範圍建立新的資料行範例,也可以依據指定資料表中的所有 (或所選) 資料行提供輸入。

這個方法可協助您快速且輕鬆地建立新資料行,也很適合用於下列情況:

  • 您知道想要的新資料行資料結果,但不確定哪種轉換 (或轉換的集合) 能得出該結果。
  • 您已經知道需要哪種轉換,但不確定在 UI 中點擊或選取哪裡可以進行轉換。
  • 您完全了解在 M 中使用 Custom Column 運算式所需要的轉換,但其中一個 (或多個) 運算式在 UI 中無法點選或新增。

[從範例新增資料行] 功能易用也易懂。 從接下來幾節,您會知道有多麼簡單。

使用查詢編輯器從範例新增新資料行

若要從範例建立新資料行,請啟動 [查詢編輯器]。 您也可以從 Power BI Desktop 的 [常用] 功能區選取 [編輯查詢] 以完成這個動作。

在本文中,我們使用來自下列 Wikipedia 文章的資料 (您可以按一下這個連結,自行取得資料並跟著進行):

查詢編輯器已啟動,而您也載入一些資料後,即可開始從範例新增資料行。 若要新增新資料行,請在 [查詢編輯器] 的功能區選取 [新增資料行] 索引標籤,再選取 [來自範例的資料行]。 如果您選擇下拉式清單,可以選取 [來自所有資料行]\ (如果您直接選取按鈕而非下拉式清單,這會是預設選項) 或選取 [來自選取項目]。 在本文中,我們會逐步執行選取 [來自所有資料行] 的步驟。

[從範例新增資料行] 窗格

在您進行選取,以從範例新增新資料行後,新的窗格隨即出現,顯示目前資料表中的資料行 (您可能必須捲動才能看到全部)。 新的 Column1 也會顯示在右側,Power BI Desktop 會依據您的範例建立該資料行。 在下方,新的 Column1 標頭為空白儲存格,您可以在其中鍵入範例,讓 Power BI 用以建立規則及轉換,以符合您的範例。

另請注意,這是 [查詢設定] 窗格中的 [套用的動作]。 一如往常,查詢編輯器會記錄您的轉換步驟,並依序將其套用到查詢。

這稱作 [從範例新增資料行] 窗格,其中包含四個主要區域:

  1. 命令列包括功能或轉換的簡短描述。
  2. [傳送意見反應] 選項可協助 Power BI 改進這項功能。
  3. [確定] 和 [取消] 按鈕,可讓您認可轉換及新增資料行,或取消。
  4. 新資料行區域,您可以在這裡鍵入任何資料列中的範例值 (向 Power BI 提供您的範例),與該資料列中的其他資料行相關。

當您在新資料行中鍵入範例時,Power BI 會依據偵測到的轉換,供您預覽其建立的資料行會如何顯示。 例如,我們對應資料表第一行中的 Alabama 值,在第一列鍵入 Alabama 。 在我們按下 Enter 時,Power BI 隨即依據該值填入資料行。

但我們接著前往含有 Massachusetts[E] 的資料列,並刪除最後的 [E] 部份 (因為不想要這部份),而 Power BI 偵測到這項變更,並使用範例建立了轉換。 請注意中上方窗格中的轉換說明。

查詢編輯器會在您持續提供範例的同時,新增到轉換。 當您完成時,可以選取 [確定] 認可變更。

查看 [從範例新增資料行] 實際運作情形

想要看這項功能實際運作嗎? 下方影片使用本範例稍早提供的資料來源,示範這項功能的實際運用情形。 請觀看,並自己跟著操作!

考量與限制

使用 [從範例新增資料行] 時有多種轉換可用,但並非所有轉換都包含在內。 下方清單提供「支援」的所有轉換。

  • 參考

    • 特定資料行的參考 (包括修剪和大小寫轉換)
  • 文字轉換

    • Text.Combine (支援結合常值字串與整個資料行值)
    • Text.Replace
    • Text.Start
    • Text.Middle
    • Text.End
    • Text.BeforeDelimiter
    • Text.AfterDelimiter
    • Text.BetweenDelimiters

    注意:請留意,所有「文字」轉換都可能必須修剪或將大小寫轉換套用到資料行值。

  • 日期轉換

    • Date.Day
    • Date.DayOfWeek
    • Date.DayOfWeekName
    • Date.DayOfYear
    • Date.Month
    • Date.MonthName
    • Date.QuarterOfYear
    • Date.WeekOfMonth
    • Date.WeekOfYear
    • Date.Year
  • 時間轉換

    • Time.Hour
    • Time.Minute
    • Time.Second

    注意:請留意,所有「日期」和「時間」轉換都可能必須將資料行值轉換為「日期」或「時間」,或「日期時間」。