你可以定義並偵測資料型別,但大多數時候你不必這麼做。 預設情況下,當你連接到以下裝置時,資料類型偵測會自動發生:
- 結構化資料來源 範例包括所有資料庫。 Power Query 會從資料來源讀取資料表結構,並自動依照每欄使用正確的資料型態顯示資料。
- 非結構化來源 範例包括 Excel、CSV 及文字檔案。 Power Query 會自動透過檢查資料表中的值來偵測資料型態。
預設情況下,Power Query 對非結構化來源啟用自動資料型別偵測,但你可以更改選項設定。 有時你可能不希望這些步驟自動發生,因為這可能導致資料來源的刷新錯誤。 欲了解更多資訊,請參閱 處理資料來源錯誤。
Power Query 資料型別
Power Query 中使用的資料型態列於下表。
| 圖示 | 資料類型 | 描述 |
|---|---|---|
|
|
任何一個 | 表示沒有明確的資料型別定義。 |
|
|
二進位 | 一個二進位值,例如 Y/N 或 0/1。 |
|
|
固定十進位數 | 固定格式為右四位數,左邊十九位數。 也稱為貨幣類型。 |
|
|
日期 | 一個沒有時間、分數值為零的日期。 |
|
|
日期/時間 | 以十進位數字類型儲存的日期與時間值。 |
|
|
日期/時間/時區 | 一個UTC日期/時間,並帶有時區偏移。 |
|
|
工期 | 時間長度換算成十進位數字。 |
|
|
[真/假] | 一個布林值,真或假。 |
|
|
十進位數字 | 一個 64 位元 (八位元組) 浮點數。 |
|
|
百分比 | 一個固定的十進位數字,並有遮罩以百分比格式化。 |
|
|
文字 | 字串、數字或日期以文字格式表示。 |
|
|
時間 | 沒有日期且小數點左側沒有數字的時間。 |
|
|
整數 | 一個 64 位元 (八位元組) 整數值。 |
定義並偵測資料型態
欄位的資料型態會以圖示顯示在欄位標題的左側,並以圖示表示該資料型別。
- 要開啟查詢,請先找到先前從 Power Query 編輯器載入的查詢,選取資料中的一個儲存格,然後選擇查詢>編輯。 欲了解更多資訊,請參閱「在 Excel 中建立、載入或編輯查詢」 (Power Query) 。
- 要偵測資料型態,請選擇欄位,然後選擇 轉換>偵測資料型態。 如果目前的資料型態是 Any,且你希望欄位有特定的資料型態,你可以這麼做。
- 要定義資料型別,請選擇 「主資料>型態」,然後從下拉選單中選擇資料型別。
提示 你也可以選擇欄位標題左側的圖示。 除了每種資料型態外,你也可以在列表底部選擇「 使用區域」(Using locale )來顯示 「變更區域類型 」對話框,既能選擇資料型態,也能套用特定區域。 這個 locale 會覆蓋 Power Query 的 locale 設定。 欲了解更多資訊,請參閱「設定地點或區域」以獲取資料 (Power Query) 。
設定資料型別與欄位標頭的自動偵測
預設情況下,對於非結構化來源,Power Query 會根據資料表的前 200 列自動檢查並偵測欄位類型與標頭。 啟用此設定後,Power Query 會在第一個 Source 步驟後立即新增兩個步驟:
步驟:升格頭 將表格的第一列升格為欄位標頭。 此步驟相當於 Home 標籤中的「Use First Row as Headers」指令。例如:
= Table.TransformColumnTypes(#"Promoted Headers,{{"OrderID", type number}, {"CustomerID", type text}, {"EmployeeID", type number}, {"OrderDate", type date}, {"RequiredDate", type date}, {"ShipName", type text}})步驟:改變類型 根據檢查每欄的值,將 Any 資料型態的值轉換成資料型態。 此步驟相當於 Transform 標籤中的 Detect Data Type 指令。例如:
= Table.TransformColumnTypes(Source,{{"OrderID", type number}, {"CustomerID", type text}, {"EmployeeID", type number}, {"OrderDate", type date}, {"RequiredDate", type date}, {"ShipName", type text}})
程序
在 Power Query 編輯器中,選擇檔案>選項並設定>查詢選項。
為所有工作簿設定選項 在左側的 GLOBAL(全域)選選 Data Load,然後在右側 Type Detection 選選以下選項之一:
- 對於非結構化來源,請務必偵測欄位類型和標頭
- 根據每個檔案的設定,偵測非結構化來源的欄位類型與標頭
-
切勿偵測非結構化來源的欄位類型與標頭
設定開啟工作簿的選項 在左側窗格的 CURRENT WORKBOOK 中,選擇 Data Load,然後在右側窗格的 Type Detection 中, 選擇或清除偵測 非結構化來源的欄位類型與標頭。