Skip to main content

Command Palette

Search for a command to run...

การเชื่อมต่อ Tableau กับ Database ผ่าน SQL ให้มีประสิทธิภาพ

Updated
การเชื่อมต่อ Tableau กับ Database ผ่าน SQL ให้มีประสิทธิภาพ

Tableau-Performance-Checklis-1600.png

ในหลาย ๆ ครั้งการเข้าถึง Data Source สำหรับทำ Data Analytics บน Tableau จะเรียกใช้งานข้อมูลจาก Database ด้วยภาษา SQL แต่บางครั้งด้วยข้อมูลปริมาณมหาศาล จึงใช้เวลาในการเชื่อมต่อแต่ละครั้งค่อนข้างนานหรือในบางครั้งก็ไม่สำเร็จ และอาจทำให้ Database ถูก Lock จนไม่สามารถทำงานอย่างอื่นเพิ่มเติมได้

โปรแกรม Tableau สามารถรับคำสั่งภาษา SQL (Structured Query Language)ในการเรียกดึงข้อมูลได้โดยใช้ Function ชื่อ New Custom SQL (ตามภาพประกอบ)

image.png

เมื่อคลิกที่ปุ่มในภาพข้างบน จะปรากฏ Widget ขึ้นมาให้เราใส่ Code ลงไปเพื่อหยิบเอาข้อมูลในส่วนที่เราจะใช้จากฐานข้อมูลมาได้ ตามคำสั่ง SQL ที่ต้องการ

image.png

image.png

ทว่า การใช้งาน Custom SQL บน Tableau ในลักษณะนี้นั้นแม้จะง่ายดาย ทำให้เราสามารถเลือกเพียง Fields ที่ต้องการใช้งานบน Tableau ออกมาจาก Database ได้ แต่ประสิทธิภาพการเรียกใช้งานนั้น อาจจะไม่ดีนัก เนื่องจากการใช้ Custom SQL บน Tableau จะไม่ผ่าน feature Join Culling ที่ช่วยเพิ่มประสิทธิภาพการเรียกข้อมูล ซ้ำร้ายไปกว่านั้นยิ่งถ้า query มี clause จำพวก Order By หรือ Group By เยอะ ๆ ก็จะยิ่งส่งผลทำให้ใช้เวลามากขึ้นไปอีก

ถึงอย่างนั้นก็ใช่ว่าจะไม่มีวิธีแก้ไข เรามาดูคำแนะนำ 2 วิธีทดแทนกัน

1. ย้ายคำสั่ง SQL ไปจัดการใน Database ให้เรียบร้อยก่อน

เราสามารถ materialize บน database โดยการสร้าง View หรือ Table ไว้เพิ่มเติมบน database ให้เรียบร้อยก่อน จากนั้นจึงค่อยให้ Tableau เข้ามาเชื่อมต่อ View/Table ใหม่ดังกล่าว

image.png

2. ใช้การ Extract Data มาไว้ให้ Tableau เข้าถึงโดยเฉพาะ แยกออกมาจาก Database

Tableau มีรูปแบบการเชื่อมต่อข้อมูลอยู่ 2 แบบคือ Live และ Extract ซึ่งการ Extract จะทำให้ไม่จำเป็นต้องทำการโหลดข้อมูลมาจากต้นทางตลอดเวลา หากอยากให้ข้อมูล Update เวลานำรายงานขึ้นไปบน Server ทาง Tableau Server เองก็สามารถที่จะตั้งเวลาในการ Refresh Data Source ได้เช่นกัน ซึ่งจะลดภาระของฐานข้อมูลส่วนกลางลงได้เป็นอย่างมาก

image.png

ในหลาย ๆ ครั้งหากเราต้องการที่จะปรับปรุงประสิทธิภาพของ Dashboard ที่เราพัฒนาขึ้น การจัดรูปแบบข้อมูลให้เหมาะสม ตัดข้อมูลส่วนที่ไม่จำเป็นออก (ด้วยการใช้ SQL หรือโปรแกรมภาษาต่าง ๆ) ก็จะช่วยให้เราเพิ่มประสิทธิภาพการใช้งานข้อมูลให้เข้าถึงได้อย่างรวดเร็ว และสื่อสารไปยังผู้อื่นได้อย่างตรงจุด ตอบเป้าหมายการตัดสินใจต่าง ๆ ได้

ที่มา:

  1. The Tableau Performance Checklist: Custom SQL – Limit in Live Connections: https://interworks.com/blog/zgorman/2015/08/25/tableau-performance-checklist-custom-sql-limit-live-connections/
  2. The Tableau Performance Checklist: Custom SQL – Watch for Useless Clauses: https://interworks.com/blog/jcaballero/2015/09/08/tableau-performance-checklist-custom-sql-watch-useless-clauses/
  3. CREATE VIEW SQL: Modifying views in SQL Server: https://www.sqlshack.com/create-view-sql-modifying-views-in-sql-server/
  4. How to Set Up a Data Extract to Refresh on a Regular Basis on Tableau Server: https://www.thedataschool.co.uk/rachel-phang/data-extract-refresh-tableau-server

More from this blog

การประชุมวิชาการ Snomed Ct – วางรากฐานนวัตกรรมเพื่อระบบสุขภาพไทยเข้มแข็ง สู่ยุคข้อมูลสุขภาพอัจฉริยะ

เมื่อวันที่ 28-29 พฤษภาคม 2568 สถาบันวิจัยระบบสาธารณสุข (สวรส.) ร่วมกับ สํานักพัฒนามาตรฐานระบบข้อมูลสุขภาพไทย (สมสท.) ได้จัดงานประชุมวิชาการสถาบันวิจัยระบบสาธารณสุข ประจำปี 2568 ภายใต้ธีม “นวัตกรรมเพื่อระบบสุขภาพไทยเข้มแข็ง (Innovations for the Resil...

May 29, 2025133
การประชุมวิชาการ Snomed Ct – วางรากฐานนวัตกรรมเพื่อระบบสุขภาพไทยเข้มแข็ง สู่ยุคข้อมูลสุขภาพอัจฉริยะ

วิธีปกปิดข้อมูลตัวเลขส่วนบุคคลตามกฎหมาย Pdpa

ในยุคดิจิทัลที่ข้อมูลส่วนตัวของเรามีค่าดั่งทองคำ การปกป้องข้อมูลเหล่านี้จึงเป็นสิ่งสำคัญอย่างยิ่ง โดยเฉพาะข้อมูลส่วนบุคคลที่เป็นตัวเลข ซึ่งสามารถระบุตัวตนของเราได้อย่างชัดเจน เช่น เบอร์โทรศัพท์ เลขบัตรประจำตัวประชาชน หรือเลขบัญชีธนาคาร หากข้อมูลเหล่า...

Apr 8, 2025359
วิธีปกปิดข้อมูลตัวเลขส่วนบุคคลตามกฎหมาย Pdpa

การเล่าเรื่องด้วยข้อมูล: การออกแบบ Dashboard ที่สวยงามและมีประโยชน์เพื่อสะท้อนปัญหาต้อกระจกในประเทศไทย

Dashboard เขาว่าสายตานั้นหลอกกันไม่ได้นี้ ถูกออกแบบขึ้นด้วยความตั้งใจที่จะนำเสนอข้อมูลเกี่ยวกับปัญหาต้อกระจกในประเทศไทยในรูปแบบที่เข้าใจง่าย สวยงาม และมีประโยชน์ต่อการตัดสินใจเชิงนโยบายและการบริหารจัดการด้านสาธารณสุข โดยมุ่งเน้นการย่อยข้อมูลที่ซับซ้อ...

Mar 11, 2025211
การเล่าเรื่องด้วยข้อมูล: การออกแบบ Dashboard ที่สวยงามและมีประโยชน์เพื่อสะท้อนปัญหาต้อกระจกในประเทศไทย
S

SiData+ Blog

37 posts

Siriraj Informatics and Data Innovation Center (SiData+), Faculty of Medicine Siriraj Hospital, Mahidol University

ศูนย์นวัตกรรมข้อมูลศิริราช คณะแพทยศาสตร์ศิริราชพยาบาล มหาวิทยาลัยมหิดล