類型轉換

本文介紹 Tableau 中的類型轉換函數及其用法。另外還示範了如何使用範例建立類型轉換計算。

為什麼使用類型轉換函數

類型轉換函數允許您將欄位從一種資料類型轉換為另一種資料類型(這稱為「轉換」)。例如,如果字串資料類型的欄位中有日期資訊,則您將無法在日期計算中使用該欄位,除非將該欄位轉換(變更)為日期資料類型。

例如,要在 DATEDIFF 函數中使用字串日期欄位,您還需要使用日期類型轉換:

DATEDIFF('day', [Date Field], DATE([String Date Field]) )

如果 DATE 函數不變更資料類型,您會收到錯誤訊息「正在使用 (string, date, string) 呼叫 DATEDIFF」。

顯示類型轉換錯誤的計算錯誤訊息

提示:欄位在資料窗格中有預設資料類型。在許多情況下,根本不需要使用類型轉換函數。您可以透過按一下圖示來變更欄位的資料類型。但是,在某些情況下,僅變更特定計算的資料類型可能很有用,否則 Tableau 可能無法將欄位的內容正確轉換為所需的資料類型(例如無法識別日期格式)。然後您需要使用如下列出的類型轉換函數。

Tableau 中可用的類型轉換函數

DATE

語法DATE(expression)
輸出日期
定義在指定數字、字串或日期運算式的情況下傳回日期。
範例
DATE([Employee Start Date])
DATE("September 22, 2018") 
DATE("9/22/2018")
DATE(#2018-09-22 14:52#)
說明

DATEPARSE(連結在新視窗開啟) 不同,不需要提供模式,因為 DATE 會自動識別許多標準日期格式。但是,如果 DATE 無法識別輸入,請嘗試使用 DATEPARSE 並指定格式。

MAKEDATE(連結在新視窗開啟) 是另一個類似的函式,但 MAKEDATE 需要輸入年、月和日的數值。

DATETIME

語法DATETIME(expression)
輸出日期時間
定義在給定數位、字串或日期運算式的情況下返回日期時間。
範例
DATETIME("April 15, 2005 07:59:00") = April 15, 2005 07:59:00

浮點數

語法FLOAT(expression)
輸出浮點數(十進位)
定義將其參數轉換為浮點數。
範例
FLOAT(3) = 3.000
說明另請參閱傳回整數的 INT。

INT

語法INT(expression)
輸出整數
定義將其參數轉換為整數。對於運算式,此函數將結果截斷為最接近於 0 的整數。
範例
INT(8/3) = 2
INT(-9.7) = -9
說明

字串轉換為整數時會先轉換為浮點數,然後舍入。

另請參閱傳回小數的 FLOAT。
另請參閱 ROUND(連結在新視窗開啟)CEILING(連結在新視窗開啟)FLOOR(連結在新視窗開啟)

MAKEDATE

語法MAKEDATE(year, month, day)
輸出日期
定義傳回一個依據指定數字年份、月份和日期構造的日期值。
範例
MAKEDATE(1986,3,25) = #1986-03-25#

請注意,輸入錯誤的值將被調整為日期,例如 MAKEDATE(2020,4,31) = May 1, 2020,而不是傳回沒有 4 月 31 日的錯誤。

說明

可用於 Tableau 擷取。檢查在其他資料來源中的可用性。

MAKEDATE 需要日期部分的數字輸入。如果您的資料是一個應該是日期的字串,請嘗試使用 DATE 函式。DATE 自動識別許多標準日期格式。如果 DATE 無法識別輸入,請嘗試使用 DATEPARSE。

MAKEDATETIME

語法MAKEDATETIME(date, time)
輸出日期時間
定義傳回合併日期和時間的日期時間。日期可以是 date、datetime 或 string 類型。時間必須是 datetime。
範例

MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#

MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM#

說明

附注:此功能僅適用於與 MySQL 相容的連線(對於 Tableau 為 MySQL 和 Amazon Aurora)。

MAKETIME 是可用於 Tableau 資料擷取和其他一些資料來源的類似函式。

MAKELINE

語法MAKELINE(<Spatial Point1>,<Spatial Point2>)
輸出幾何空間物件(線)
定義在兩點之間產生線標記。
範例
MAKELINE(OriginPoint, DestinationPoint)
MAKELINE( MAKEPOINT(OriginLat],[OriginLong]) , MAKEPOINT([DestinationLat],[DestinationLong] )
說明對於建立起點-目的地地圖或使用 MAKEPOINT 將緯度和經度轉換為空間物件非常有用。

MAKEPOINT

語法MAKEPOINT(<latitude>, <longitude>)
輸出幾何空間物件(點)
定義將緯度和經度欄的資料轉換為空間物件。
範例
MAKEPOINT([AirportLatitude],[AirportLongitude])
說明

您可以使用 MAKEPOINT 在空間上啟用資料來源,以便使用空間聯結將其與空間檔案相聯結。有關詳情,請參閱在 Tableau 中聯接空間檔案

若要使用 MAKEPOINT,您的資料必須包含經緯度座標。

MAKETIME

語法MAKETIME(hour, minute, second)
輸出日期時間。參見附註。
定義傳回一個依據指定小時、分鐘和秒建構的日期值。
範例
MAKETIME(14, 52, 40) = #1/1/1899 14:52:40#
說明

由於 Tableau 不支援時間資料類型,僅支援日期時間,因此輸出為日期時間。該欄位的日期部分將是 1/1/1899。

與 MAKEDATETIME 類似的功能,僅適用於 MYSQL 兼容的連線。

STR

語法STR(expression)
輸出字串
定義將其參數轉換為字串。
範例
STR([ID])

轉換布林值運算式

可以將布林值轉換為整數、浮點數或字串,但不能將其轉換為日期。

  • True 對應到 1、1.0 或“1”
  • False 對應到 0、0.0 或“0”
  • Unknown 對應到 Null

建立一個類型轉換計算

請按照以下步驟學習如何建立一個類型轉換計算。

  1. 在 Tableau Desktop 中,連線到 Tableau 附帶的[範例 - 超級市場]已儲存資料來源。
  2. 巡覽到工作表。
  3. 選取 [分析] > [建立計算欄位]
  4. 在開啟的計算編輯器中,將郵遞區號欄位從數字轉換為字串:
    • 將計算欄位命名為 [Postal Code] (郵遞區號)字串。
    • 輸入以下公式:

      STR([Postal Code])

    • 完成後,按一下 [確定]

新的計算欄位將出現在 [資料] 窗格中的 [維度] 下。就像其他欄位一樣,您可以在一個或多個視覺效果中使用該欄位。

將此欄位從數字轉換為字串可確保 Tableau 將其視為字串而不是數字(因此不會將其彙總)。

另請參閱

資料類型

將欄位轉換為日期欄位

在 Tableau 中設定計算的格式

Tableau 中的函數

Tableau 函數(按字母順序)

Tableau 函數(按類別)

感謝您的意見反應!已成功提交您的意見回饋。謝謝!