---
schema_version: "1"
id: a9464a72c1cbd05be4a54c1df9b5b0c31d8f0b7a361f13c1f76d76d2442d99be
title: 資料表擴充功能
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/public/desktop/td_table_extensions.md
canonical_url: https://help.tableau.com/current/public/desktop/zh-tw/td_table_extensions.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 119f66d7a4f9c2244fe3dd07f4d037ad8786b114beeadfb16d319851152d3fe4
description: Create table extensions with analytics extension scripts in Tableau Desktop.
---
[跳至主要內容](#main-content)

# 資料表擴充功能

資料表擴充功能允許您使用分析擴充功能指令碼建立資料表。您可以編寫自訂 TabPy 或 Rserve 指令碼，並可選擇新增一或多個輸入表。

**注意：**每次開啟工作簿或重新整理資料來源時，資料表擴充功能都會重新整理。

### 優點

資料表擴充功能可為新使用者和有經驗的使用者帶來以下優勢。

- 輕鬆在 Tableau 中集成指令碼與進階函數
- 輕鬆地將 Tableau 資料連線中的資料作為輸入拖到指令碼中
- 低程式碼編輯器方便您在資料來源中新增程式碼
- 與[「資料指南」](https://help.tableau.com/current/server/zh-tw/data_guide.htm)和[「資料詮釋」](https://help.tableau.com/current/server/zh-tw/explain_data_basics.htm)整合
- 與 TabPy、Rserve 和其他分析擴充功能集成
- 結果可用於組建儀表板或視覺效果

## 必要條件

在可以使用資料表擴充功能之前，您必須完成以下清單。

- 在桌面或網頁製作中開啟資料來源。
- 設定分析擴充功能
    - 有關設定分析擴充功能連線的步驟，請參閱[使用分析擴充功能連線傳送運算式](https://help.tableau.com/current/pro/desktop/zh-tw/r_connection_manage.htm)。

## 建立表計算

要建立資料表擴充功能，請完成以下步驟。

1. 開啟工作簿。
2. 開啟資料來源或建立資料來源。
3. 在**「連線」**下，選擇**「新增資料表擴充功能」**。
4. 將工作表拖到資料模型中。
5. _（可選）_將資料表從資料連線拖曳到資料表擴充功能窗格中，以便用作分析擴充功能指令碼或函數的輸入。
    
    預設情況下，來自 Tableau 的資料被傳遞到分析擴充功能並定義為 `variable _arg1`，一個類似字典的結構，例如：`{‘column_name’: [1,2,3], ‘column_name_2’: [3,4,5]`
    
    - **Python 輸入資料：**可以使用以下方法將輸入資料轉換為 pandas 資料框架：`import pandas as pddf = (pd.DataFrame(_arg1))`
    - **Rserve 輸入資料：**輸入資料被定義為 `variable.arg1`，資料類型是清單的命名清單。
    - **自訂 SQL 輸入資料：**如果是支援的關聯資料來源，則可以使用自訂 SQL 作為表擴充功能的輸入。在自訂 SQL 查詢中使用參數時，變更該參數會導致查詢重新執行並重新計算指令碼。這將建立一個路徑來動態更新儀表板中的參數，並篩選或以其他方式將值傳遞給資料表擴充功能指令碼。
        
        請注意：如果在資料表擴充功能中使用參數，則在從擴充功能中刪除該參數之前，無法刪除該參數。刪除資料表擴充功能中呼叫的參數可能會觸發致命錯誤。
        
        ![關聯資料來源](/tableau/current/zh-tw/public/desktop/zh-tw/Img/table_ext_1.PNG)

1. 在「**指令碼**」下輸入您的指令碼或函數呼叫。該指令碼必須返回字典或清單的清單，比如一個 JSON 物件。RServe 的指令碼必須傳回 data.frame 或命名清單的清單。Python 指令碼必須傳回字典。
    - **Python 範例：**使用以下顯式傳回命令：`return df.to_dict(orient='list')`
    
    **附註：** 如果在 TabPy 中禁用了 TABPY\_EVALUATE\_ENABLE，則表擴充功能不支援呼叫 TabPy 端點。
2. 選取「**套用**」執行指令碼。
    
    ![指令碼對話方塊](/tableau/current/zh-tw/public/desktop/zh-tw/Img/table_ext_2.PNG)
3. _（可選）_如果將資料表擴充功能與資料模型中的另一個表相關聯，請在每個表中至少定義一個欄位之間的關係。
4. 在「**輸出****資料表**」下的資料格中，選擇「**立即更新**」，結果會出現在「輸出資料表」索引標籤中。
    
    ![輸出結果表](/tableau/current/zh-tw/public/desktop/zh-tw/Img/table_ext_3.PNG)

**附註：**如果沒有在資料模型中定義與表關聯性，則「輸入資料表」索引標籤為空，並將顯示消息「資料預覽無法使用」。

1. _（可選）_在**「名稱」**欄位中，為新的資料表擴充功能輸入唯一的名稱。
2. 前往**「工作表」**索引標籤，以開始探索和視覺化資料。
3. 發佈工作簿進行分享。發佈目的地必須啟並設定適當類型的分析擴充功能。

> [!TIP]
> 
> **疑難排解提示**：如果資料表擴充功能遇到錯誤，請先確保所有程式碼和格式正確。然後嘗試使用工具列中的圓形「重新整理資料來源」按鈕或再次按一下「套用」。

### **比較擴充功能類型**

雖然以下一些產品不相關，但資料表擴充功能和分析擴充功能是關聯的。分析擴充功能連線後方可才能使用資料表擴充功能功能。讓我們分解每個功能。

#### 儀表板擴充功能

[儀表板擴充功能](https://help.tableau.com/current/pro/desktop/zh-tw/dashboard_extensions.htm)允許使用儀表板擴充功能 SDK 將自訂 Web 應用程式新增到儀表板。

#### 資料表擴充功能

資料表擴充功能可讓您在資料來源中建立一個表，該表可以將資料和指令碼傳送到分析擴充功能並傳回完整的表作為結果。傳回的結果在資料模型中顯示為表，在工作簿中顯示為度量和維度。

#### Analytics 擴充

[分析擴充](https://www.tableau.com/zh-tw/developer/learning/getting-started-analytics-extensions-api)功能允許您使用 Python、外部工具和外部平台等程式設計語言擴充 Tableau 動態計算。

建立與分析擴展的連線後，就可以透過名為 `SCRIPT_X` 或 `MODEL_EXTERNAL_X` 的計算欄位與外部伺服器通訊，其中 `X` 是預期傳回值的資料類型。有關詳情，請參閱[透過分析擴充功能傳遞運算式](https://help.tableau.com/current/pro/desktop/zh-tw/r_connection_manage.htm)。