---
schema_version: "1"
id: a2b283652c323faf9a95e39ffbebca67ccc78f3d53e7576d31783164047f3677
title: ใช้สคริปต์ R (Rserve) ในลำดับงานของคุณ
collection: tableau
version: next
locale: th-th
portal_url: https://docs.salesforce.com/tableau/next/th-th/prep/prep_scripts._R.md
canonical_url: https://help.tableau.com/v0.0/prep/th-th/prep_scripts._R.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 5d52e08975009a7b4c81e37820e101cdaa2106abef807e41d8587957fb7aacc7
description: Use R (Rserve) scripts in a Tableau Prep flow.
---
[ข้ามไปยังเนื้อหาหลัก](#main-content)

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

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

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

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

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

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

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

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

### ทรัพยากร

- [ดาวน์โหลดและติดตั้ง R](http://cran.wustl.edu/) ดาวน์โหลดและติดตั้งเวอร์ชันล่าสุดของ R สำหรับ Linux, Mac หรือ Windows
- [บันทึกการดำเนินการ R](https://community.tableau.com/s/question/0D54T00000G54v3SAB/r-implementation-notes) (โพสต์ชุมชน) ติดตั้งและกำหนดค่าการเชื่อมต่อไปยัง R และ Rserve สำหรับ Windows
- [ติดตั้งและกำหนดค่า Rserve](http://www.rforge.net/Rserve/doc.html) เป็นคำแนะนำสำหรับการติดตั้งและกำหนดค่าโดยทั่วไปสำหรับทุกแพลตฟอร์ม
    - [Rserve สำหรับ Windows (บันทึกประจำรุ่น)](https://www.rforge.net/Rserve/rserve-win.html) เป็นหัวข้อเกี่ยวกับข้อจำกัดเมื่อลง Rserve ลงในเครื่องคอมพิวเตอร์ Windows

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

ใช้คำแนะนำต่อไปนี้เพื่อกำหนดค่าการเชื่อมต่อระหว่างเซิร์ฟเวอร์ Rserve ของคุณและ Tableau Server

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

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

### การกำหนดค่า Rserve เพิ่มเติม (ไม่บังคับ)

คุณสามารถสร้างไฟล์ชื่อ Rserv.cfg เพื่อตั้งค่าการกำหนดค่าเริ่มต้นเพื่อกำหนด Rserve เองและวางไว้ในตำแหน่งที่ติดตั้ง `/etc/Rserve.conf` เพื่อเพิ่มความเสถียรกับเซิร์ฟเวอร์ Rserve และ Tableau Prep Builder คุณสามารถเพิ่มค่าเพิ่มเติมไปยังการกำหนดค่า Rserve ของคุณได้ เมื่อคุณเรียกใช้ Rserve คุณสามารถดูไฟล์นี้เพื่อปรับใช้ตัวเลือกการกำหนดค่าของคุณได้ ตัวอย่าง:

- Windows: `Rserve(args="--RS-conf C:\\folder\\Rserv.cfg")`
- MacOS และ Linux: `Rserve(args=" --no-save --RS-conf ~/Documents/Rserv.cfg")`

ตัวอย่างต่อไปนี้แสดงตัวเลือกเพิ่มเติมที่คุณสามารถเพิ่มในไฟล์การกำหนดค่า `Rserve.conf` ของคุณได้

\# If your data includes characters other than ASCII, make it explicit that data should be UTF8 encoded.
encoding utf8 
# Disable interactive behavior for Rserve or Tableau Prep Builder will stall when trying to run the script as it waits for an input response.
interactive no

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าไฟล์ Rserve.conf โปรดดู ในส่วน “การกำหนดค่าขั้นสูง” ใน[บันทึกการดำเนินการ R](https://community.tableau.com/s/question/0D54T00000G54v3SAB/r-implementation-notes) (โพสต์ชุมชน)

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

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

ตัวอย่าง:

postal\_cluster <- function(df) {      
  out <- kmeans(cbind(df$Latitude, df$Longitude), 3, iter.max=10)
  return(data.frame(Latitude=df$Latitude, Longitude=df$Longitude, Cluster=out$cluster))
 }

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

<table style="width: 100%;" class="simple-table"><colgroup><col><col></colgroup><tbody><tr><th>ประเภทข้อมูลใน Tableau Prep Builder</th><th>ประเภทข้อมูลใน R</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+01:00” เป็นวันที่ที่ถูกต้อง</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>

**หมายเหตุ**: ต้องส่งคืนวันที่และวันที่และเวลาเป็นสตริงที่ถูกต้องเสมอ ประเภท “วันที่เนทีฟ” (วันที่และเวลา) ใน R ไม่ใช่ค่าส่งคืนที่รองรับแต่สามารถใช้ในสคริปต์ได้

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

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

<table style="width: 100%;" class="simple-table"><colgroup><col><col></colgroup><tbody><tr><th>ฟังก์ชันใน R</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>

ตัวอย่างต่อไปนี้แสดงฟังกํชัน getOutputSchema สำหรับสคริปต์ postal\_cluster

getOutputSchema <- function() {      
  return (data.frame (
    Latitude = prep\_decimal (),
    Longitude = prep\_decimal (),
    Cluster = prep\_int ()));
}

## เชื่อมต่อกับเซิร์ฟเวอร์ Rserve ของคุณ

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

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

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

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

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