การ Export รูป Dashboard บน Tableau Server แบบอัตโนมัติ

ผู้เขียน

–Vilasinee Puangpee–

Article | บทความ-Tableau Server
Tableau Server

Introduction

สำหรับผู้ที่ใช้ Tableau Server อยู่แล้ว คงทราบว่า เราสามารถเข้าไปใช้งาน Tableau Server ผ่าน Web Interface เพื่อเปิด Dashboard ที่เราสนใจขึ้นมาดู เรายังสามารถที่จะ Export ข้อมูล (Data) หรือ รูปภาพ (Picture) ของ Dashboard นั้นออกมาเป็นไฟล์ได้อีกด้วย อย่างไรก็ดีถ้าหากเราต้องมา Export Data หรือ Picture เป็นงาน Routine ล่ะ เช่นต้อง Export ทุกสัปดาห์หรือทุกวัน หากเราสามารถเปลี่ยนงานแบบ Manual ให้เป็น Automatic ได้คงจะดี

บทความนี้จะมาสอนเกี่ยวกับ การ Export รูป Dashboard บน Tableau Server แบบอัตโนมัติ บทความนี้จะมีประโยชน์มากสำหรับใครที่มีความจำเป็นจะต้อง Export รูปเพื่อไปใช้ประโยชน์ในด้านต่าง ๆ ทุกๆวัน และไม่อยากใช้วิธีการแบบ Manual ก็สามารถมาเรียนรู้จากบทความนี้ได้

Concept

  1. เราจะใช้โปรแกรม tabcmd (ย่อมาจาก Tableau + Command Line) คือโปรแกรมที่เป็น Command-line utility คือเราสามารถเขียนคำสั่งผ่าน Command line ไปเรียกใช้งาน Tableau Server ได้ เป็นโปรแกรมที่รวมอยู่ในโปรแกรม Tableau Server อยู่แล้ว หรือเราจะแยกติดตั้งเฉพาะโปรแกรม Tabcmd ไว้ที่เครื่องคอมพิวเตอร์เครื่องใดก็ได้
  2. สร้าง Batch File (ไฟล์ที่นามสกุล .bat) ขึ้นมา โดยภายใน Batch File ก็จะมี Script ของ Tabcmd อยู่ ซึ่งอาจจะมีหลายคำสั่งในไฟล์เดียวก็ได้ ในการ Run Batch File ก็จะเป็นการรันคำสั่ง Tabcmd ทีละคำสั่งจนครบโดยรันตั้งแต่บรรทัดแรกจนถึงบรรทัดสุดท้ายเป็นลำดับ (Sequential)
  3. นำ Batch File ไปตั้ง Job ไปโปรแกรม Windows Task Scheduler (สำหรับเครื่องคอมพิวเตอร์ที่รันบน Windows) เพื่อสั่งให้ Run Batch File ตามเวลาที่กำหนด โดยอัตโนมัติ

บทความนี้ ผู้เขียนแสดงตัวอย่าง Dashboard นึงขึ้นมาซึ่ง Dashboard ที่ยกตัวอย่างนั้นเป็นการสร้าง Dashboard ที่เกี่ยวข้องกับยอดขาย โดยผู้เขียนต้องการแสดงให้เห็นว่ารายงานที่เกี่ยวกับยอดขายจะมีการเปลี่ยนแปลงทุก ๆ วัน เพราะฉะนั้นกราฟในแต่ละวันก็จะอาจะไม่เหมือนกัน และในการทำ การ Export รูป Dashboard บน Tableau Server แบบอัตโนมัตินั้นสามารถที่จะเลือก ให้ Export รูปตาม Filter หรือ Parameter ที่เราทำการสร้างไว้บน Dashboard ผู้อ่านจะสามารถทำการ Export รูป Dashboard บน Tableau Server แบบอัตโนมัติ ได้เพียงแค่อ่านบทความนี้จบ

วิธีการทำดังนี้

  1. Download และ Install โปรแกรม Tabcmd

ท่านสามารถ Download ได้จาก Website ของ Tableau จาก Link นี้

หมายเหตุ แนะนำให้ Download Version ล่าสุด หรือ Version เดียวกับ Tableau Server แต่ไม่ควร Download Version ที่ต่ำกว่า Tableau Server

      เมื่อ Download เสร็จ ให้ท่านติดตั้งโปรแกรม Tabcmd ลงบนเครื่องคอมพิวเตอร์

  1. สร้าง Folder ขึ้นมาสำหรับจัดเก็บรูปภาพ เพื่อให้ง่ายต่อการหารูปภาพ
  1. จากนั้นให้ทำการสร้าง Batch File วิธีการคือ เปิดโปรแกรม Notepad
  2. พิมพ์คำสั่ง (Script) ในการ Export รูป ตัวอย่างดังนี้ (จากรูปด้านล่างนี้มี 3 ชุดคำสั่ง แยกตามสีที่ Highlight ดังนี้)
  • ชุดคำสั่งสีเหลืองคือการ Login เข้าไปยัง Tableau Server
  • ชุดคำสั่งสีน้ำเงินคือ คำสั่ง Export รูปภาพเป็นไฟล์ ซึ่งมีหลายบรรทัดได้ เช่น ถ้าต้องการ Export หลาย ๆ รูป เป็นต้น
  • ชุดคำสั่งสีส้ม คือ Logout ออกจาก Tableau Server

4.1 ชุดคำสั่งการ login เข้า Tableau Server เขียนได้ดังนี้

tabcmd login -s servername -u Username -p Password

4.2 ชุดคำสั่งการ Export รูป Dashboard จาก Tableau Server เขียนได้ดังนี้

tabcmd export “SalesPerformanceReport/SalesPerformanceDashboard” –png –width 1920 –height 1080 -f “C:\Users\USER\Desktop\Improve Web\Export Picture\Picture\SalesPerformance_All.png”

หมายเหตุ ในเครื่องหมายคำพูดคือ Link Dashboard ที่เราต้องการ Export ตัวอย่าง Link เต็มๆคือhttp://servername/views/SalesPerformanceReport/SalesPerformanceDashboard?:iid=1

ในการเอา Link ไปใส่ให้เอาไปแค่เฉพาะ SalesPerformanceReport/SalesPerformanceDashboard และต้องเขียนคำสั่งอยู่ในบรรทัดเดียวกัน

4.3 ชุดคำสั่งการ Export รูป Dashboard จาก Tableau Server โดย Export ตาม Filter ที่กำหนด ตัวอย่างเช่นใน Dashboard มี Filter สำหรับเลือกกรองตาม Category หรือ Sub-Category เราสามารถเขียนคำสั่งให้เลือกกรองข้อมูลตาม Filter ได้สามารถเขียนได้ดังนี้

tabcmd export “SalesPerformanceReport/SalesPerformanceDashboard?Category=Furniture” –png –width 1920 –height 1080 -f “C:\Users\USER\Desktop\Improve Web\Export Picture\Picture\SalesPerformance_Furniture.png”

หมายเหตุ หลัง Link Dashboard ให้เราทำการใส่ ?Filtername=value (?จากนั้นตามด้วยชื่อ Filter (ตัวใหญ่ตัวเล็กสำคัญ)และตามด้วยผลลัพท์) และต้องเขียนคำสั่งอยู่ในบรรทัดเดียวกัน

4.4 ชุดคำสั่งการ Logout จาก Tableau Server เขียนได้ดังนี้

tabcmd logout

4.5 จากนั้นให้ Save File เป็น .bat

4.6 จากนั้นให้ทำการทดสอบว่า Script ที่เราเขียนทำงานได้ถูกต้องตามต้องการหรือไม่ ให้ทำการ  Double Click ที่ Batch File ระบบจะแสดงรายละเอียดของการรัน เป็นหน้าจอ Command Prompt ดังรูป สังเกตุว่ามี Error อะไรหรือเปล่า ถ้าไม่มี Error ระบบจะแสดงรายละเอียดดังรูปด้านล่าง

หลังจากที่เราเขียน Batch File เสร็จแล้วขั้นตอนต่อไปจะเป็นการสร้าง Job ให้ Run Batch File อัตโนมัติ สามารถทำได้ดังนี้

  1. เปิด โปรแกรม Task Scheduler จากนั้นคลิกขวาที่ Task Scheduler Library จากนั้นเลือก ‘Create Task’  ดังรูปด้านล่างนี้
  1. จากนั้นไปที่ Tab ‘Triggers’ เพื่อทำการกำหนดเวลาในการ Run Job จากรูปตัวอย่างตั้งให้ Run ทุกวันตอน 8.00 โมงเช้า
  1. จากนั้นไปที่ Tab ‘Action’ เพื่อเลือก Batch File ที่เราสร้างไว้ จากนั้นกด Ok ดังรูปด้านล่างนี้
  1. เมื่อสร้าง Task Scheduler เสร็จเรียบร้อยแล้วเราสามารถทดสอบการ Run แบบ Manual ได้โดยการคลิกขวาที่ Task ที่เราสร้าง จากนั้น เลือก Run เมื่อกด Run เรารอสักครู่ ให้สังเกตุที่ Status จะเปลี่ยนจาก ‘Running’ เป็น ‘Ready’

หมายเหตุ วิธีการ Refresh Status ให้คลิกที่ Task Scheduler Library จากนั้นกด Refresh

ตัวอย่าง รูปภาพ Dashboard ที่ได้จากการ ใช้คำสั่ง Export

ตัวอย่าง รูปภาพ Dashboard ที่ได้จากการ ใช้คำสั่ง Export (Filter Category = Furniture)

ท่านสามารถ Download Dashboard นี้เพื่อศึกษาเพิ่มเติมได้บน Tableau Public ทาง  AiTeam ได้ Share Dashboards นี้ให้กับทุกท่านที่สนใจ โดย Click ที่ไอคอนดาวน์โหลดที่มุมขวาล่างของ Dashboard ด้านล่างนี้

Leave a Reply

Your email address will not be published. Required fields are marked *