การเชื่อมต่อข้อมูลของคุณกับ Tableau Prep Builder ด้วย Supermetrics API [บทช่วยสอนทีละขั้นตอน]
เผยแพร่แล้ว: 2022-01-11ในการสร้างรายงานที่สามารถนำไปปฏิบัติได้จริงและมีข้อมูลเชิงลึกใน Tableau คุณต้องมีข้อมูลที่เตรียมไว้อย่างดีและสะอาด
อย่างไรก็ตาม เนื่องจากธุรกิจมีข้อมูลในสถานที่และรูปแบบต่างๆ มากมาย การล้างข้อมูลเพื่อการวิเคราะห์จึงกลายเป็นกระบวนการที่หนักหน่วง
นั่นคือจนกระทั่ง Tableau ได้แนะนำ Tableau Prep Builder เพื่อเพิ่มขีดความสามารถให้กับผู้ใช้ข้อมูล ซึ่งรวมถึงนักวิเคราะห์และนักการตลาดที่อาจไม่มีทักษะในการวิเคราะห์เชิงลึกในการแปลงข้อมูลของตน
ในบทความนี้ ฉันจะแสดงวิธีเชื่อมต่อข้อมูลของคุณกับ Tableau Prep Builder โดยใช้ Supermetrics API และแบ่งปันวิธีที่คุณสามารถใช้ประโยชน์จากข้อมูลของคุณที่นั่น
นี่คือขั้นตอนที่เราจะดำเนินการ:
- ติดตั้ง Tableau Prep Builder
- ติดตั้งและตั้งค่า TabPy
- สร้างสคริปต์ Python ขนาดเล็กที่จะมีการเรียก Supermetrics API
- สร้างโฟลว์ใน Tableau Prep Builder ซึ่งจะสร้างไฟล์แยก Tableau ให้เรา

เมื่อเสร็จแล้ว คุณจะสามารถรวมเอาท์พุตของการสืบค้น Supermetrics API กับแหล่งข้อมูลอื่นๆ ผ่าน Union และกำหนดเวลาการรีเฟรชส่วนเพิ่มของ Tableau ที่ดึงข้อมูลจาก API ของเรา
ฟังดูเข้าท่า? มาเริ่มกันเลย!
ดูการทำงานของ Supermetrics API
ค้นพบวิธีที่ง่ายที่สุดในการป้อนข้อมูลการตลาดของคุณลงใน Tableau หรือเครื่องมือ BI ฐานข้อมูล หรือคลังข้อมูลอื่นๆ ที่สนับสนุนอินพุต JSON หรือ CSV
ขั้นตอนที่ 1: ติดตั้ง Tableau Prep Builder
Tableau Prep Builder เป็นเครื่องมือแปลงข้อมูลที่ Tableau เปิดตัวในปี 2018 เพื่อช่วยให้ผู้ใช้ทำความสะอาดและเตรียมข้อมูลสำหรับการวิเคราะห์
สิ่งที่ดีที่สุดเกี่ยวกับ Tableau Prep Builder คือช่วยให้คุณเห็นภาพการดำเนินการแปลงข้อมูลทั้งหมดของคุณ ด้วยวิธีนี้ คุณจะสามารถติดตามสิ่งที่เกิดขึ้นกับข้อมูลของคุณและระบุข้อผิดพลาดได้อย่างรวดเร็ว ผลลัพธ์คือผลลัพธ์ของชุดข้อมูลของคุณใน Tableau Hyper Extract — ซึ่งได้รับการปรับให้เหมาะสมสำหรับการสร้างรายงานใน Tableau
เนื่องจาก Tableau Prep Builder มีอยู่ในชุด Tableau คุณอาจสามารถเข้าถึงได้แล้ว
การตั้งค่าก็ค่อนข้างง่ายเช่นกัน สิ่งที่คุณต้องทำคือดาวน์โหลดจากเว็บไซต์ Tableau ติดตั้งบนคอมพิวเตอร์ของคุณ และสุดท้าย ป้อนรหัสลิขสิทธิ์ของคุณหรือเริ่มการทดลองใช้ฟรี
ขั้นตอนที่ 2: ติดตั้ง TabPy
TabPy เป็นองค์ประกอบที่สองที่เราต้องการสำหรับโซลูชันนี้
TabPy เป็นส่วนขยาย Python สำหรับ Tableau ช่วยให้คุณสามารถเรียกใช้สคริปต์ Python ได้จากแดชบอร์ด Tableau หรือที่สำคัญที่สุดสำหรับกรณีของเราที่นี่ ภายใน Tableau Prep Builder
คุณสามารถดูคำแนะนำในการติดตั้งได้จาก Github ของแพ็คเกจ แน่นอน คุณจะต้องใช้ Python เวอร์ชันล่าสุดจึงจะใช้งานได้ เมื่อการติดตั้งเสร็จสมบูรณ์ คุณสามารถเริ่มใช้ TabPy ได้โดยเรียกใช้กระบวนการพื้นหลังในหน้าต่างเทอร์มินัล มันจะบอกคุณว่ามันกำลังทำงานและรอฟังคำขอที่เข้ามาจาก Tableau บนพอร์ต 9004
การเตรียมการขั้นสุดท้ายสำหรับ TabPy คือการกำหนดค่าการเชื่อมต่อใน Tableau Prep Builder
คุณสามารถค้นหาตัวเลือกที่จำเป็นในเมนู 'ความช่วยเหลือ' ของ Tableau Prep ภายใต้ 'ความช่วยเหลือ' > 'การตั้งค่าและประสิทธิภาพ' > 'จัดการการเชื่อมต่อส่วนขยายของ Analytics'
สำหรับคู่มือนี้ เราคิดว่าคุณกำลังตั้งค่านี้บนเครื่องของคุณ ดังนั้นสิ่งที่คุณต้องทำคือตรวจสอบให้แน่ใจว่า TabPy ยังคงทำงานอยู่ และพอร์ตที่คุณเห็นในหน้าต่างตรงกับพอร์ตที่ TabPy กำลังฟังอยู่

คลิกปุ่ม 'ลงชื่อเข้าใช้' เท่านี้ก็เรียบร้อย!
ขั้นตอนที่ 3: ตั้งค่าสคริปต์ Python
ได้เวลาตั้งค่าสคริปต์ Python
ในกรณีที่คุณกังวลเกี่ยวกับขั้นตอนนั้นอย่าเป็น มันค่อนข้างตรงไปตรงมา สคริปต์ที่เราต้องการจะมีโค้ดเพียงไม่กี่บรรทัด ซึ่งส่วนใหญ่เป็นลิงก์ API จาก Supermetrics
คุณยังสามารถคัดลอกและวางสิ่งนี้ลงในไฟล์ข้อความและแทนที่ '[PLACEHOLDER FOR YOUR API LINK]' ด้วยลิงก์ของคุณเอง:
import requests import pandas as pd def get_data_to_flow(input): response = requests.get("[PLACEHOLDER FOR YOUR API LINK]") results = response.json() return pd.DataFrame(results['data'][1:], columns=results['data'][0])
บันทึกเป็นไฟล์ที่มีนามสกุล .py ซึ่งคุณจะพบได้ง่ายอีกครั้ง เราจะใช้สิ่งนี้ในขั้นตอนต่อไปนี้
ต่อไปเรามาสร้างลิงก์ API ใน Supermetrics Query Manager กัน และในขณะที่เราอยู่ที่นั่น เราจะดาวน์โหลดตัวอย่างข้อมูลของเราในรูปแบบ CSV ด้วย
เมื่อต้องการทำเช่นนี้ ให้เข้าสู่ระบบไซต์ทีม
โปรดทราบว่าคุณเข้าถึง Supermetrics Query Manager ได้ด้วยใบอนุญาต Supermetrics API ที่ถูกต้อง หากคุณยังไม่มีใบอนุญาต เริ่ม การทดลองใช้ฟรี 14 วัน
จากนั้นเลือก 'การผสานรวม' > 'ตัวจัดการแบบสอบถาม' คุณจะเห็นแถบด้านข้างทางด้านซ้ายของหน้าจอ เริ่มสร้างคำถามของคุณที่นั่น ในตัวอย่างนี้ ฉันจะใช้ Google Ads เป็นแหล่งข้อมูล สร้างแบบสอบถามของคุณต่อไปโดยกรอกข้อมูลในฟิลด์เหล่านี้:
- เลือกวันที่
- เลือกเมตริก
- แยกตามขนาด
- ตัวกรอง & ตัวเลือก
เมื่อเสร็จแล้ว คลิก 'เรียกใช้' คุณจะเห็นข้อมูลของคุณในตารางแสดงตัวอย่างและรูปแบบ JSON ดิบ

นี่คือบทช่วยสอนเกี่ยวกับวิธีการเริ่มต้นใช้งาน Supermetrics API
Tableau Prep ต้องการตัวอย่างนี้เพื่อทำความเข้าใจโครงสร้างข้อมูลที่จะมาในการตอบกลับ API
โปรดทราบว่าการเลือกรูปแบบถูกตั้งค่าเป็น 'JSON' ไม่ใช่ 'Tableau' เนื่องจากเราจะปล่อยให้สคริปต์ Python ซึ่งเขียนขึ้นเพื่อทำงานกับการตอบสนองในรูปแบบ JSON จัดการกับการเรียก API นั้น จากนั้นฉันก็ส่งออกผลลัพธ์เป็นไฟล์ CSV (1) และคัดลอก URL ของ API ไปยังไฟล์สคริปต์ Python ที่เตรียมไว้ (2)
อย่าลืมบันทึกไฟล์สคริปต์หลังจากวางลิงก์ Supermetrics API!
ขั้นตอนที่ 4: นำทุกอย่างมารวมกันใน Tableau Prep Builder
เราเกือบจะอยู่ที่นั่นแล้ว!
เพื่อให้ข้อมูลไหลจาก Supermetrics API ไปยังโฟลว์ Tableau Prep ของคุณ ตอนนี้เราต้องเชื่อมต่อไฟล์ CSV ที่เราดาวน์โหลดจากขั้นตอนก่อนหน้า
เนื่องจาก Tableau Prep Builder ค่อนข้างจู้จี้จุกจิกเกี่ยวกับประเภทข้อมูล มันจึงไม่ยอมรับเอาต์พุตของสคริปต์ Python ของเราหากไม่มีขั้นตอนนี้ ไฟล์ CSV มีโครงสร้างเดียวกับข้อมูลจาก Supermetrics API โดยแจ้ง Tableau Prep Builder วิธีตีความข้อมูลนั้น

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

เราจำเป็นต้องเพิ่มสคริปต์เป็นขั้นตอนต่อไปในโฟลว์ ทำได้โดยคลิกเครื่องหมายบวกข้างกล่องที่แสดงไฟล์ CSV แล้วเลือก 'สคริปต์'

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

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

เมื่อการตั้งค่าเหล่านี้เสร็จสิ้น Tableau Prep ควรเริ่มดำเนินการสืบค้น Supermetrics API ทันที และข้อมูลจะปรากฏในหน้าต่างแสดงตัวอย่าง
ยินดีด้วย! คุณเพิ่งโหลดข้อมูลจาก Supermetrics API ไปยังโฟลว์การเตรียม Tableau ของคุณสำเร็จ
ใช้ประโยชน์จากข้อมูลของคุณใน Tableau Prep Builder
คุณสามารถควบคุมข้อมูลที่จะโหลดผ่าน Supermetrics API ได้อย่างง่ายดายโดยแก้ไขลิงก์ API มิฉะนั้น คุณสามารถใช้องค์ประกอบการป้อนข้อมูลนี้ในโฟลว์ Tableau ได้ตามที่คุณต้องการ
หากคุณกำลังใช้ URL แบบสั้น คุณสามารถดูวิธีแก้ไขพารามิเตอร์ได้ในบทความของเอกสารนี้
ตราบใดที่คุณไม่เปลี่ยนรูปร่างของข้อมูลโดยการเพิ่มหรือลบคอลัมน์ คุณก็สามารถเล่นกับผลลัพธ์ได้ หากคุณต้องการเปลี่ยนรูปร่างของข้อมูล อย่าลืมเปลี่ยนไฟล์ CSV เพื่อให้ Tableau Prep สามารถตีความการตอบสนองของ API ได้
ตอนนี้ มาสำรวจฟังก์ชันบางอย่างใน Tableau Prep Builder ที่คุณสามารถใช้เพื่อใช้ประโยชน์จากข้อมูลของคุณเพื่อการวิเคราะห์
ผนวกข้อมูลจาก Supermetrics ไปยังชุดข้อมูล CSV (UNION)
สิ่งแรกที่เราทำได้คือดำเนินการยูเนี่ยน สำหรับสิ่งนั้น แทนที่จะเพียงแค่ส่งไฟล์ CSV ตัวอย่างสำหรับ Tableau Prep Builder เพื่อตีความเอาต์พุต API เราจะใช้เป็นวิธีการนำเข้าข้อมูลคงที่ด้วย
ลองนึกภาพว่ามีชุดข้อมูลในอดีตที่จะไม่เปลี่ยนแปลงอีกต่อไป กรณีการใช้งานทั่วไปจะส่งออกข้อมูลของปีที่แล้วสำหรับเมตริก ซึ่งคุณต้องการใช้ในรายงาน Tableau แต่ยังเพิ่มชุดข้อมูลที่อัปเดตรายวันต่อท้ายชุดข้อมูลนี้เพื่อให้เป็นปัจจุบันอยู่เสมอ
ตัวอย่างเช่น ฉันกำหนดค่าการค้นหาใน Query Manager เพื่อรับข้อมูล Google Ads สำหรับปี 2020 และดาวน์โหลดผลลัพธ์เป็น CSV

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


ตอนนี้เราทำตามขั้นตอนเดิมเหมือนเมื่อก่อน เราจำเป็นต้องเพิ่มการดำเนินการ UNION และ 'เอาต์พุต' ในโฟลว์:
- เริ่มโฟลว์ใหม่ใน Tableau Prep โดยเชื่อมต่อกับไฟล์ CSV ก่อน
- เพิ่มขั้นตอน 'สคริปต์' หลัง CSV โดย TabPy ให้บริการฟังก์ชันการเรียก API
- เพิ่มขั้นตอน 'Union' หลังสคริปต์ จากนั้นคลิกและลากขั้นตอน CSV ไปไว้บนนั้น กลายเป็นสามเหลี่ยม
- เพิ่มขั้นตอน 'ผลลัพธ์' หลังยูเนี่ยน

การเรียกใช้โฟลว์ตอนนี้จะทำให้เรามีไฮเปอร์เอ็กซ์ตริกที่สามารถใช้เป็นแหล่งข้อมูลสำหรับโปรเจ็กต์ Tableau ของคุณ และเนื่องจากการเรียก API มีช่วงวันที่สัมพัทธ์ (ปีจนถึงปัจจุบัน) คุณจึงสามารถเรียกใช้โฟลว์ซ้ำเพื่ออัปเดตการแยกได้!
คุณยังสามารถเลือกที่จะบันทึกไฟล์ที่ส่งออกไปยังฮาร์ดไดรฟ์ในเครื่องของคุณ หรือเผยแพร่โดยตรงไปยัง Tableau Server หรือ Tableau Online เพื่อแบ่งปันกับผู้ใช้ Tableau คนอื่น ๆ ในองค์กรของคุณ
สารสกัดที่เพิ่มขึ้นจะรีเฟรชด้วยข้อมูลจาก Supermetrics
วิธีการที่อธิบายไว้ข้างต้นจะใช้ได้ดีกับข้อมูลขนาดเล็กถึงขนาดกลาง อย่างไรก็ตาม เมื่อการสืบค้นของคุณไปยัง API มีขนาดใหญ่ขึ้นและมีความต้องการมากขึ้น ในแง่ของทรัพยากรรันไทม์ จะเป็นความคิดที่ดีที่จะทำการรีเฟรชชุดข้อมูลทีละส่วน แทนที่จะขอช่วงเต็มเวลาในแต่ละโฟลว์ที่รันและเขียนทับการดึงข้อมูลก่อนหน้า .
โชคดีที่ Tableau Prep มาพร้อมกับตัวเลือกในตัวสำหรับการอัพเดตที่เพิ่มขึ้นของไฟล์แยกที่มีอยู่ คุณเพียงแค่ต้องระบุว่าควรใช้คอลัมน์ใดในตารางข้อมูลเพื่อกำหนดแถวใหม่ของข้อมูลที่มาจากการรีเฟรช โฟลว์จะดูแลส่วนที่เหลือให้คุณเอง
อย่างไรก็ตาม Tableau Prep Builder ไม่รองรับสิ่งนี้สำหรับข้อมูลผ่านการเรียกใช้สคริปต์
ต่อไปนี้คือวิธีการหลีกเลี่ยงข้อจำกัดและสร้างโซลูชันการทำงานสำหรับการรีเฟรชข้อมูลส่วนเพิ่ม
เราจะแบ่งกระบวนการออกเป็นสองส่วน:
ขั้นแรก เราสร้าง Tableau Hyper Extract ที่จะมีการอัปเดต จากนั้นนำไปใช้กับแหล่งข้อมูลจริงในขั้นตอนที่สอง นี่เป็นสิ่งสำคัญเพราะการอัพเดตแบบเพิ่มส่วนได้รับการสนับสนุนจริง ๆ เมื่อไฟล์แยกอื่นเป็นแหล่งที่มาของข้อมูลการรีเฟรช

เพื่อไปถึงจุดนั้น เราสร้างโฟลว์ที่มีสคริปต์อีกครั้ง เราใช้ช่วงเวลาสัมพัทธ์ในการเรียก API ที่จะรักษาปริมาณข้อมูลที่เราร้องขอให้มีน้ำหนักเบา ฉันใช้ '10 วันที่ผ่านมา' ในตัวอย่างนี้

ในการสร้างไฟล์แยกที่จะเป็น 'ตัวรีเฟรช' เราต้องใช้สิ่งที่เราได้เรียนรู้เกี่ยวกับสคริปต์ใน Tableau Prep Builder
ที่นี่ ฉันใช้ไฟล์แยกที่มีอยู่เป็นอินพุตก่อนขั้นตอนของสคริปต์เพื่อแสดงให้เห็นว่ายังใช้งานได้ และไฟล์ CSV เริ่มต้นที่เราใช้เป็นเพียงขั้นตอนที่จำเป็นในการเรียกใช้สคริปต์
หากไม่มีการดำเนินการของ UNION ผลลัพธ์ของโฟลว์นี้จะเป็นอะไรก็ได้ที่สคริปต์ของเรากำลังดึงผ่าน Supermetrics API

หลังจากบันทึกไฟล์เอาต์พุตนี้ในไดรฟ์ของฉันเป็น 'increment.hyper' แล้ว ตอนนี้ฉันสามารถตั้งค่าโฟลว์สุดท้ายที่จะอัปเดตสารสกัดที่เผยแพร่ซึ่งใช้สำหรับรายงานหลายฉบับ

สิ่งนี้อาจดูขัดกับสัญชาตญาณ – แน่นอนว่าสำหรับฉัน
เรากำลังเชื่อมต่อกับไฟล์ส่วนเพิ่มใน Tableau Prep Builder และสิ่งที่เราทำคือเพิ่ม 'เอาต์พุต' ที่ชี้ไปที่ไฟล์ที่เรามีอยู่แล้วและต้องการอัปเดต
ในที่นี้ ฉันมีขั้นตอนการทำความสะอาดทางเลือกในโฟลว์ที่แยกสองขั้นตอนออกจากกัน สิ่งสำคัญที่นี่คือการเปิดใช้งานการรีเฟรชแบบเพิ่มหน่วยใน 'อินพุต' ซึ่งเป็นไฟล์ 'increment.hyper' ของเรา เราจำเป็นต้องตั้งค่าฟิลด์ที่จะใช้ตรวจจับแถวใหม่ที่เข้ามาในโฟลว์ ในกรณีของเรา นั่นคือ 'วันที่'
จากนั้น เราจะเลือก 'เอาต์พุต' ที่ชี้ไปที่ปลายทางที่เราต้องการอัปเดตและจับคู่ฟิลด์ 'วันที่' จาก 'อินพุต' กับฟิลด์ 'วันที่' ที่สอดคล้องกันใน 'เอาต์พุต'
การตั้งค่านี้ทำให้เรามีตัวเลือกใหม่ในการเรียกใช้โฟลว์เป็นการรีเฟรชส่วนเพิ่ม ยอดเยี่ยม!

วิธีนี้จะรักษาข้อมูลที่เรามีอยู่แล้วในไฟล์ที่ส่งออก อาจเป็นส่วนแยกขนาดใหญ่ที่มีแถวนับล้าน — เราเพิ่งเพิ่มแถวใหม่ในขั้นตอนนี้ เมื่อคุณสร้างโฟลว์เหล่านี้แล้ว จะใช้เวลาเพียงไม่กี่วินาทีในการเรียกใช้และอัปเดตข้อมูล ท้ายที่สุด ตอนนี้เรากำลังค้นหาเฉพาะ Supermetrics API สำหรับข้อมูล 10 วันเท่านั้น
แค่นั้นแหละ!
การใช้ Supermetrics API เป็นแหล่งข้อมูลใน Tableau Prep Builder ช่วยให้คุณทำงานเกี่ยวกับการสร้างแบบจำลองข้อมูลที่ซับซ้อน ซึ่งมักจะต้องใช้คลังข้อมูล
หากคุณต้องการเพิ่มพลังให้กับรายงาน Tableau ของคุณ จองการสาธิตกับทีมขายของเรา หรือเริ่มทดลองใช้ Supermetrics API ฟรี 14 วัน