---
schema_version: "1"
id: 64bb5f5fd48bbc50e8907922fb965d766d13eb0f0c24d22a504684efb44b9b5c
title: ใช้สคริปต์ Python ในลำดับงานของคุณ
collection: tableau
version: current
locale: th-th
portal_url: https://docs.salesforce.com/tableau/current/th-th/prep/prep_scripts_TabPy.md
canonical_url: https://help.tableau.com/current/prep/th-th/prep_scripts_TabPy.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 6e4bb3e12b6cf3bf649fd31301b6f9aa7742732f0ea17ec15565313461ea32c4
description: Use Python scripts via TabPy in a Tableau Prep flow.
---
[ข้ามไปยังเนื้อหาหลัก](#main-content)

# ใช้สคริปต์ Python ในลำดับงานของคุณ

**ข้อจำกัดความรับผิด:** หัวข้อนี้มีข้อมูลเกี่ยวกับผลิตภัณฑ์ของบริษัทอื่น โปรดทราบว่าเนื่องจากเราพยายามที่จะอ้างอิงถึงเนื้อหาจากบุคคลที่สามอย่างแม่นยำถูกต้อง ข้อมูลที่เรานำเสนอในที่นี้อาจเปลี่ยนแปลงไปโดยไม่ได้แจ้งให้ทราบ เนื่องจาก Python เปลี่ยนแปลงไป หากต้องการข้อมูลที่เป็นปัจจุบันที่สุด โปรดดูเอกสารและการสนับสนุนของ Python

Python เป็นภาษาการเขียนโปรแกรมระดับสูงที่ใช้กันอย่างแพร่หลายสำหรับการเขียนโปรแกรมอเนกประสงค์ ด้วยการส่งคำสั่ง Python ไปยังบริการภายนอกผ่าน Tableau Prep Builder คุณสามารถขยายตัวเลือกการจัดเตรียมข้อมูลของคุณได้อย่างง่ายดายโดยการดำเนินการ เช่น เพิ่มเลขแถว จัดลำดับฟิลด์ เติมข้อมูลในฟิลด์ และการทำความสะอาดอื่นๆ ที่คุณอาจทำในการใช้ฟิลด์ที่คำนวณ

เพื่อเพิ่มสคริปต์ Python ในลำดับงานของคุณ คุณต้องกำหนดค่าการเชื่อมต่อระหว่าง Tableau และเซิร์ฟเวอร์ TabPy จากนั้นคุณสามารถใช้สคริปต์ Python เพื่อปรับใช้ฟังก์ชันที่รองรับไปยังข้อมูลจากลำดับงานของคุณโดยใช้กรอบข้อมูล Pandas เมื่อคุณป้อนขั้นตอนสคริปต์ไปยังลำดับงานของคุณและระบุรายละเอียดการกำหนดค่า ไฟล์ และฟังก์ชันที่คุณต้องการจะใช้แล้ว ข้อมูลจะได้รับการส่งต่อไปยังเซิร์ฟเวอร์ TabPy อย่างปลอดภัย จะมีการปรับใช้นิพจน์ในสคริปต์ และผลลัพธ์จะได้รับการส่งคืนมาเป็นตารางที่คุณสามารถล้างหรือส่งออกตามต้องการ

คุณสามารถเรียกใช้งานลำดับงานที่มีขั้นตอนสคริปต์ใน Tableau Server ได้ตราบใดที่คุณได้กำหนดค่าการเชื่อมต่อไปยังเซิร์ฟเวอร์ TabPy ของคุณแล้ว ไม่รองรับการเรียกใช้ลำดับงานด้วยขั้นตอนสคริปต์ใน Tableau Cloud ในขณะนี้ เพื่อกำหนดค่า Tableau Server โปรดดู[กำหนดค่าเซิร์ฟเวอร์ Tableau Python (TabPy) สำหรับ Tableau Server](#TabServer_TabPy)

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีการกำหนดค่าเว็บไซต์บน Tableau Server ด้วยส่วนขยายการวิเคราะห์สำหรับเวิร์กบุ๊ก โปรดดู[กำหนดค่าการเชื่อมต่อด้วยส่วนขยายการวิเคราะห์](https://help.tableau.com/current/server/th-th/config_r_tabpy.htm)

## ข้อกำหนดเบื้องต้น

เพื่อเพิ่มสคริปต์ Python ในลำดับงานของคุณ ให้ตั้งค่าดังต่อไปนี้ให้เสร็จสิ้น ไม่รองรับการสร้างหรือเรียกใช้ลำดับงานด้วยขั้นตอนสคริปต์ใน Tableau Cloud ในขณะนี้

1. ดาวน์โหลดและติดตั้ง [Python](https://www.python.org/downloads/) ดาวน์โหลดและติดตั้งเวอร์ชันล่าสุดของ Python สำหรับ Linux, Mac, หรือ Windows
2. ดาวน์โหลดและติดตั้งเซิร์ฟเวอร์ Tableau Python ([TabPy](https://github.com/tableau/TabPy)) ทำตามคำแนะนำการติดตั้งและกำหนดค่าสำหรับการติดตั้ง TabPy Tableau Prep Builder ใช้ TabPy เพื่อส่งข้อมูลจากลำดับงานของคุณไปยัง TabPy เป็นอินพุต ปรับใช้สคริปต์ของคุณ จากนั้นส่งผลลัพธ์กลับไปยังลำดับงานนั้น
3. ติดตั้ง Pandas เรียกใช้ `pip3 install pandas` คุณต้องใช้กรอบข้อมูล Pandas ในสคริปต์ของคุณเพื่อบูรณาการเข้ากับ Tableau Prep Builder

### กำหนดค่าเซิร์ฟเวอร์ Tableau Python (TabPy) สำหรับ Tableau Server

หากคุณวางแผนที่จะเผยแพร่ สร้าง แก้ไข และเรียกใช้ลำดับงานที่มีขั้นตอนสคริปต์ใน Tableau Server คุณจะต้องกำหนดค่าการเชื่อมต่อระหว่างเซิร์ฟเวอร์ TabPy ของคุณและ Tableau Server

- **เวอร์ชัน 2019.3 และใหม่กว่า**: คุณสามารถเรียกใช้ลำดับงานที่เผยแพร่ที่มีขั้นตอนสคริปต์ใน Tableau Server
- **เวอร์ชัน 2020.4.1 และใหม่กว่า**: คุณสามารถสร้าง แก้ไข และเรียกใช้ลำดับงานที่มีขั้นตอนสคริปต์ใน Tableau Server ได้
- **Tableau Cloud**: ยังไม่รองรับการสร้างหรือเรียกใช้ลำดับงานที่มีขั้นตอนสคริปต์ในขณะนี้

1. เปิดบรรทัดคำสั่ง TSM
2. ป้อนคำสั่งต่อไปนี้เพื่อตั้งค่าที่อยู่ของโฮสต์ ค่าพอร์ต และการหมดเวลาการเชื่อมต่อ
    
    `tsm security maestro-tabpy-ssl enable --connection-type {maestro-tabpy-secure/maestro-tabpy} --tabpy-host <TabPy IP address or host name> --tabpy-port <TabPy port> --tabpy-username <TabPy username> --tabpy-password <TabPy password> --tabpy-connect-timeout-ms <TabPy connect timeout>`
    
    - เลือก `{maestro-tabpy-secure}` เพื่อเปิดใช้งานการเชื่อมต่อที่ปลอดภัยหรือ `{maestro-tabpy}` เพื่อเปิดใช้งานการเชื่อมต่อที่ไม่ปลอดภัย
    - หากคุณเลือก `{maestro-tabpy-secure}` ให้ระบุไฟล์ใบรับรอง `-cf<certificate file path>` ในบรรทัดคำสั่ง
    - ระบุ `--tabpy-connect-timeout-ms <TabPy connect timeout>` เป็นมิลลิวินาที ตัวอย่างเช่น `--tabpy-connect-timeout-ms 900000`
3. ป้อนคำสั่งต่อไปนี้เพื่อปิดใช้งานการเชื่อมต่อ TabPy
    
    `tsm security maestro-tabpy-ssl disable`

## สร้างสคริปต์ Python ของคุณ

เมื่อคุณสร้างสคริปต์ของคุณ ให้ใส่ฟังก์ชันที่ระบุ Pandas (pd.DataFrame) เป็นอาร์กิวเมนต์ของฟังก์ชันนั้นด้วย การดำเนินการนี้จะเรียกข้อมูลของคุณจาก Tableau Prep Builder คุณจะต้องส่งผลลัพธ์คืนใน Pandas (pd.DataFrame) โดยใช้ประเภทข้อมูลที่รองรับด้วย

ตัวอย่างเช่น เพื่อเพิ่มการเข้ารหัสไปยังเซตของฟิลด์ในลำดับงาน คุณสามารถเขียนสคริปต์ดังต่อไปนี้

def encode(input):     
  le = preprocessing.LabelEncoder()
  Return pd.DataFrame({
    'Opportunity Number' : input\['Opportunity Number'\],
    'Supplies Subgroup Encoded' : le.fit\_transform(input\['Supplies Subgroup'\]),
    'Region Encoded' : le.fit\_transform(input\['Region'\]),
    'Route To Market Encoded' : le.fit\_transform(input\['Route To Market'\]),
    'Opportunity Result Encoded' : le.fit\_transform(input\['Opportunity Result'\]),
    'Competitor Type Encoded' : le.fit\_transform(input\['Competitor Type'\]),
    'Supplies Group Encoded' : le.fit\_transform(input\['Supplies Group'\]),
})

รองรับประเภทข้อมูลต่อไปนี้:

<table style="width: 100%;" class="simple-table"><colgroup><col><col></colgroup><tbody><tr><th>ประเภทข้อมูลใน Tableau Prep Builder</th><th>ประเภทข้อมูลใน Python</th></tr><tr><td>สตริง</td><td>สตริง UTF-8 มาตรฐาน</td></tr><tr><td>ทศนิยม</td><td>Double</td></tr><tr><td>จำนวนเต็ม</td><td>จำนวนเต็ม</td></tr><tr><td>บูลีน</td><td>บูลีน</td></tr><tr><td>วันที่</td><td>สตริงในรูปแบบ ISO_DATE “YYYY-MM-DD” พร้อมการชดเชยโซนที่ไม่บังคับ เช่น “2011-12-03” เป็นวันที่ที่ถูกต้อง</td></tr><tr><td>วันที่และเวลา</td><td>สตริงในรูปแบบ ISO_DATE_TIME “YYYY-MM-DDT:HH:mm:ss” พร้อมการชดเชยโซนที่ไม่บังคับ ตัวอย่างเช่น “2011-12-03T10:15:30+01:00” เป็นวันที่ที่ถูกต้อง</td></tr></tbody></table>

**หมายเหตุ**: ต้องส่งคืนวันที่และวันที่และเวลาเป็นสตริงที่ถูกต้องเสมอ

หากคุณต้องการฟิลด์ส่งคืนที่แตกต่างจากที่คุณป้อน คุณจะต้องรวมฟังก์ชัน get\_output\_schema ไว้ในสคริปต์ของคุณซึ่งกำหนดเอาต์พุตและประเภทข้อมูลด้วย มิฉะนั้น เอาต์พุตจะใช้ช่องจากข้อมูลอินพุต ซึ่งนำมาจากขั้นตอนที่อยู่ก่อนขั้นตอนสคริปต์ในลำดับงาน

ใช้ไวยากรณ์ต่อไปนี้ในการระบุประเภทข้อมูลสำหรับฟิลด์ของคุณใน get\_output\_schema

<table style="width: 100%;" class="simple-table"><colgroup><col><col></colgroup><tbody><tr><th>ฟังก์ชันใน Python</th><th>ประเภทข้อมูลที่เป็นผลลัพธ์</th></tr><tr><td>prep_string()</td><td>สตริง</td></tr><tr><td>prep_decimal()</td><td>ทศนิยม</td></tr><tr><td>prep_int()</td><td>จำนวนเต็ม</td></tr><tr><td>prep_bool()</td><td>บูลีน</td></tr><tr><td>prep_date()</td><td>วันที่</td></tr><tr><td>prep_datetime()</td><td>วันที่และเวลา</td></tr></tbody></table>

วงเล็บเหลี่ยมสามารถใช้เพื่อเข้าถึงแถวจาก DataFrame วงเล็บเดี่ยวจะส่งเอาต์พุตเป็น Pandas Series ในขณะที่วงเล็บคู่จะส่งเอาต์พุตเป็น Pandas DataFrame

def create\_key(df):
return pd.DataFrame({
"Key": \['12345'\]
})

ตัวอย่างต่อไปนี้แสดงฟังกํชัน get\_output\_schema ที่เพิ่มไปยังสคริปต์ Python เข้ารหัสฟิลด์

def get\_output\_schema():       
  return pd.DataFrame({
    'Opportunity Number' : prep\_int(),
    'Supplies Subgroup Encoded' : prep\_int(),
    'Region Encoded' : prep\_int(),
    'Route To Market Encoded' : prep\_int(),
    'Opportunity Result Encoded' : prep\_int(),
    'Competitor Type Encoded' : prep\_int(),
    'Supplies Group Encoded' : prep\_int()
})

## เชื่อมต่อกับเซิร์ฟเวอร์ Tableau Python (TabPy) ของคุณ

> [!IMPORTANT]
> 
> **สำคัญ**: ตั้งแต่Tableau Prep Builderเวอร์ชัน 2020.3.3 เป็นต้นไป คุณสามารถกำหนดค่าการเชื่อมต่อเซิร์ฟเวอร์ครั้งเดียวจากเมนูความช่วยเหลือด้านบนแทนการตั้งค่าการเชื่อมต่อในแต่ละลำดับงานในขั้นตอน “สคริปต์” โดยคลิกเชื่อมต่อกับเซิร์ฟเวอร์ Tableau Python (TabPy)และป้อนรายละเอียดการเชื่อมต่อของคุณ คุณจะต้องกำหนดค่าการเชื่อมต่อของคุณใหม่โดยใช้เมนูใหม่นี้สำหรับลำดับงานใดๆ ที่สร้างขึ้นใน Tableau Prep Builder เวอร์ชันเก่าที่คุณเปิดในเวอร์ชัน 2020.3.3

1. เลือก ความช่วยเหลือ > การตั้งค่าและประสิทธิภาพ > จัดการการเชื่อมต่อส่วนขยายการวิเคราะห์
2. ในรายการดรอปดาวน์เลือกส่วนขยายการวิเคราะห์ ให้เลือกเซิร์ฟเวอร์ Tableau Python (TabPy)
    
    ![แบบฟอร์มการเข้าสู่ระบบการตั้งค่าการเชื่อมต่อส่วนขยายการวิเคราะห์](/tableau/current/th-th/prep/th-th/Img/prep_scripts_tabpy_signin.png)
3. ป้อนข้อมูลเข้าสู่ระบบของคุณ:
    - พอร์ต 9004 เป็นพอร์ตเริ่มต้นสำหรับ TabPy
    - หากเซิร์ฟเวอร์ต้องการข้อมูลเข้าสู่ระบบ ให้ป้อน “ชื่อผู้ใช้” และ “รหัสผ่าน”
    - หากเซิร์ฟเวอร์มีการเข้ารหัส SSL ให้เลือกกล่องกาเครื่องหมาย Require SSL (ต้องใช้ SSL) จากนั้นให้คลิกลิงก์ ไม่ระบุไฟล์การกำหนดค่าแบบกำหนดเอง... เพื่อเลือกใบรับรองสำหรับการเชื่อมต่อ นี่คือไฟล์ใบรับรองเซิร์ฟเวอร์ SSL ของคุณ
        
        **หมายเหตุ**: Tableau Prep Builder ไม่มีวิธีในการทดสอบการเชื่อมต่อ หากการเชื่อมต่อมีปัญหาจะมีข้อความแสดงข้อผิดพลาดปรากฏขึ้น

## เพิ่มสคริปต์ลงในลำดับงานของคุณ

เปิดใช้เซิร์ฟเวอร์ TabPy ของคุณและทำตามขั้นตอนต่อไปนี้ให้ครบถ้วน

**หมายเหตุ** TabPy ต้องใช้ Tornado Package เวอร์ชัน 5.1.1 ในการทำงาน หากคุณได้รับ 'tornado.web’ ไม่มีแอตทริบิวต์ 'asynchronous’ ขณะพยายามเปิด TabPy ให้เรียกใช้ `pip list` จากบรรทัดคำสั่งเพื่อตรวจสอบเวอร์ชันของ Tornado ที่ติดตั้งไว้ หากคุณติดตั้งเวอร์ชันอื่นไว้ ให้ดาวน์โหลด [Tornado Package เวอร์ชัน 5.1.1](https://pypi.org/project/tornado/5.1.1/#files) จากนั้นให้เรียกใช้ `pip uninstall tornado` เพื่อถอนการติดตั้งเวอร์ชันปัจจุบันของคุณ จากนั้นให้เรียกใช้ `pip install tornado==5.1.1` เพื่อติดตั้งเวอร์ชันที่จำเป็น

1. เปิด Tableau Prep Builder แล้วคลิกปุ่มเพิ่มการเชื่อมต่อ![ปุ่มเพิ่มการเชื่อมต่อข้อมูล](/tableau/current/th-th/prep/th-th/Img/prep_addconnection.png)
    
    ในการเขียนเว็บ จากหน้าแรก ให้คลิกสร้าง > โฟลว์ หรือจากหน้าสำรวจ ให้คลิกใหม่ > โฟลว์ จากนั้นคลิก เชื่อมต่อกับข้อมูล
2. จากรายการตัวเชื่อมต่อ ให้เลือกประเภทไฟล์หรือเซิร์ฟเวอร์ที่โฮสต์ข้อมูลของคุณ หากได้รับการแจ้งเตือน ให้ป้อนข้อมูลที่จำเป็นในการเข้าสู่ระบบ และเข้าถึงข้อมูลของคุณ
3. คลิกไอคอนบวก ![ปุ่มที่มีเครื่องหมายบวก](/tableau/current/th-th/prep/th-th/Img/prep_addicon.png) และเลือก Add Script (เพิ่มสคริปต์) จากเมนูบริบท
    
    ![เพิ่มสคริปต์ลงใน Tableau Prep](/tableau/current/th-th/prep/th-th/Img/prep_script_add.png)
4. ในหน้าต่าง “สคริปต์” ในส่วนประเภทการเชื่อมต่อ ให้เลือก เซิร์ฟเวอร์ Tableau Python (TabPy)
    
    ![สคริปต์เตรียมการ\_python2.png](/tableau/current/th-th/prep/th-th/Img/prep_scripts_python2.png)
5. ในส่วน ชื่อไฟล์ ให้คลิก เรียกดู เพื่อเลือกไฟล์สคริปต์ของคุณ
6. ป้อน ชื่อฟังก์ชัน จากนั้นกด Enter เพื่อเรียกใช้สคริปต์ของคุณ
    
    ![สคริปต์สำหรับตั้งค่าประเภทการเชื่อมต่อ](/tableau/current/th-th/prep/th-th/Img/prep_scripts_python_pane.png)