อ่าน เขียน ข้อมูลจบได้ใน Power BI ด้วย Translytical

หากพูดถึงการแก้ไขข้อมูลและอัปเดตข้อมูลบน Power BI หากเป็นเมื่อก่อน ทางผู้เขียนคงจะตอบว่าไม่สามารถทำได้ แต่การมาถึงของฟีเจอร์ใหม่อย่าง Translytical จะช่วยให้เราสามารถแก้ไขและอัปเดตข้อมูลบน Power BI ได้โดยตรงเลยทันที โดยการทำงานจะเป็นอย่างไร สามารถเข้ามาดูที่บทความนี้ได้เลยครับ
อ่าน เขียน ข้อมูลจบได้ใน Power BI ด้วย Translytical
ทักษะ (ระบุได้หลายทักษะ)

Translytical คืออะไร?

        Translytical คือฟีเจอร์ที่ถูกเพิ่มมาใหม่ใน Power BI โดยฟีเจอร์เป็นการนำ 2 ฟีเจอร์มารวมกันอย่างคำว่า Transactional + Analytical จนกลายเป็น Translytical ที่รองรับการทำงานทั้ง 2 ฝั่ง โดยแบ่งการทำงานได้ดังนี้

  • Transactional Workloads (OLTP)
    • เก็บเรื่องของ การเพิ่ม (Add), การแก้ไข (Edit), การลบ (Delete) ข้อมูลทีละรายการ รวมถึงการสั่งให้ระบบอื่นทำงานผ่าน API
  • Analytical Workloads (OLAP)
    • การวิเคราะห์และแสดงผลข้อมูลภาพรวมในรูปแบบของรายงาน (Report) และ Dashboard

ซึ่งแต่เดิม Power BI จะเน้นการทำงานรูปแบบ Analytical เป็นหลักและจะไม่สามารถแก้ไขแหล่งข้อมูลที่มีการใช้งานได้ แต่การเพิ่มฟีเจอร์ Translytical เข้ามา ทำให้ได้ความสามารถของ Transactional ได้อีกด้วย นั่นหมายความว่า หากเรามีการอัปเดตข้อมูลที่ฝั่ง Report หรือ Dashboard เราจะสามารถส่งข้อมูลที่มีการแก้ไข เข้าไปอัปเดต เข้าไปที่แหล่งข้อมูลได้อีกด้วย
          นี่ถือเป็นการ Pain point จุดนึงของผู้ใช้ Power BI ที่ตัวของผู้เขียนก็มักจะถูกถามโดยนักเรียนหรือผู้ติดตาม 9Expert Training สอบถามเสมอว่า สามารถแก้ข้อมูลที่ Power BI ได้หรือไม่ ซึ่งเมื่อก่อนผมคงตอบว่าไม่สามารถทำได้ครับ แต่ถ้าเป็นปัจจุบัน คำตอบคงต้องเปลี่ยน สามารถแก้ได้แล้วครับด้วยฟีเจอร์ Translytical นั่นเอง
 

อยากเปิดใช้ Translytical ต้องทำอย่างไร?

การเปิดใช้งาน Translytical task flow

Translytical นั่นยังคงเป็นฟีเจอร์ที่อยู่ในฝั่งของ Preview Feature ซึ่งผู้ใช้จำเป็นต้องเข้าไปเปิดใช้งานด้วยตัวเอง โดยมีวิธีการดังนี้

  1. ไปที่เมนู File
ไปที่เมนูที่ชื่อว่า File
  1. เลือก Options and settings และเลือก Options
เลือก Options and settings
เลือก Options
  1. เลือก Preview features > เลื่อนลงมา ติ๊กเครื่องหมายถูกต้อง ที่หน้า Translytical task flow > เลือก OK
การเปิด Translytical task flow ที่ Preview features

เพียงเท่านี้เราก็จะใช้งานตัวของ Translytical task flow ได้เรียบร้อยครับ โดยผลลัพธ์หลังจากการเปิดใช้งานสามารถลองเช็กได้ที่ปุ่ม (Button) ของทุกคนที่อยู่ใน Power BI ก็จะพบว่าในคำสั่ง Action ของปุ่มนั้น จะมี Type ใหม่เกิดขึ้น ที่ชื่อว่า Data function ที่สามารถทำงานร่วมกันกับ Microsoft Fabric ได้อีกด้วย

หลังจากเปิด Translytical task flow แล้ว ในเมนู Action ของปุ่ม (Button) จะมี Type ชื่อว่า Data function เพิ่มเข้ามา

การตั้งค่าบน Microsoft Fabric

         ในการทำงานของ Translytical task flow นั่นนอกจากการเปิดใช้งานบน Power BI แล้ว เราต้องทำการตั้งค่าที่ Microsoft Fabric ด้วย โดยให้เริ่มต้นไปที่ Settings และเลือกที่เมนู Admin portal
 

การตั้งค่า Microsoft Fabric ให้ทำงานร่วมกับ Translytical ได้ โดยเข้าไปที่ Admin portal

จากนั้นให้เราจะอยู่ที่เมนู Tenant settings ให้เลือกเมนูที่ชื่อว่า User data functions (preview) และกด Enabled

กดเปิด Enabled ที่เมนู User data functions (preview)

หลังจากกดเปิด Enabled แล้ว เราจะสามารถสร้าง User data function (preview) ได้บน Microsoft Fabric

User data functions (preview) สามารถสร้างได้หลังทำกดเปิด Enabled ที่ Admin portal

เมื่อจากกดสร้าง User data functions (preview) เรียบร้อยแล้ว ให้ทำการตั้งชื่อและกด New Function จากนั้นเราจะได้หน้าตาของโปรแกรมที่พร้อมให้ทุกคนสร้างคำสั่งสำหรับเรียกใช้งานแล้ว เบื้องต้นสำหรับภาษาที่รองรับจะเป็นภาษา Python เท่านั้น
 

หน้าตาการปรับแก้ของ User data functions (preview)

จากนั้นให้เราเลือกแทบเมนูที่ชื่อว่า Edit ในหน้านี้เราจะสามารถใส่ Sample ของกลุ่ม Database ได้ โดยให้เราไปที่เมนูที่ชื่อว่า Insert Sample จากนั้นเมนูก็จะแสดงรายการ Database ที่รองรับสำหรับการทำงานบน Microsoft Fabric จะมีทั้งหมด 4 รายการดังนี้ Warehouse, Lakehouse, SQL Database (ใหม่), Data Manipulation, UDF Data Types ซึ่งจะเป็น เพียงเท่านี้เราก็จะสามารถเริ่มใช้งานตัวของ Translytical task flow สำหรับการทำอัปเดตข้อมูลบน Power BI ได้เรียบร้อย
 

Demo การทำ Translytical task flow

การทำ Demo Translytical นี้ จะเป็นตัวอย่างที่มีการใช้ภาษา Python ในการเชื่อม Connect กับฐานข้อมูลที่ใช้เป็น SQL Server ที่จำเป็นต้องมีการ alias ไว้ที่ Manage connections เรียบร้อยแล้ว

ตัวอย่างการเริ่มใช้งาน Translytical task flow

โดยภายในตัวอย่างที่เรากำลังทำจะเป็นเรื่องของการอัปเดตข้อมูล โดยที่เราจำเป็นต้องมีการกำหนดเรื่องของตัวแปร (Variable) ที่ใช้เก็บค่าของการอัปเดตข้อมูล

คำสั่งที่ใช้ในการอัปเดตข้อมูลภายใน SQL Server ที่ตาราง DimPromotion

โดยการเขียนคำสั่งอัปเดตข้อมูลเราจะต้องมีการเก็บตัวแปรทั้งหมด 2 ตัว ดังนี้

  1. SET DiscountPct = ?
  2. WHERE PromotionKey = ?

ซึ่งค่าที่เราต้องระบุเพิ่มเติมจะอยู่ที่เครื่องหมาย ? ซึ่งค่าที่เราต้องระบุจะต้องใส่ไว้ในส่วนหัวของฟังก์ชัน

  1. promotionkey: int (ระบุค่าของ promotionkey เป็นเลขจำนวนเต็ม)
  2. newpct: float (ระบุค่าของ newpct เป็นตัวเลขทศนิยม)
ระบุค่าตัวแปร promotionkey, newpct ที่คำสั่งด้านบน

โดยขั้นตอนการทำงานคือ เมื่อมีข้อมูลโปรโมชันเข้ามาใหม่ (newpct) ที่รายการใด ให้นำค่าที่มีการอัปเดตนำไปปรับที่ promotionkey ที่มีการปรับแก้ในฐานข้อมูลจากนั้น ก็จะมาลำดับค่าใน data ใหม่ให้เป็น newpct มาก่อน promotionkey

ค่าของ data จะปรับเรียงใหม่เป็น newpct, promotionkey

ทำให้การส่งค่าเพื่อการอัปเดตข้อมูลเรียงตามที่เราระบุไว้ที่ update_query เรียบร้อยแล้ว ดังนั้นการสร้างฟังก์ชันสำหรับอัปเดตข้อมูลถือว่าเสร็จเรียบร้อยแล้ว ให้เรา Publish ฟังก์ชันตรงนี้เพื่อให้ Connection รู้จักกับ Data Model
จากนั้นสิ่งที่ต้องเตรียมเพิ่มเติมในการทำให้ Connection ตรงนี้ทำงานได้ คือ Power BI Desktop จำเป็นต้องเชื่อมผ่าน OneLake catalog ที่เป็นรูปแบบ Power BI semantic models และฐานข้อมูลตัวอย่าง SQL Server ที่สร้าง เราจะสร้าง Shortcut จาก LakeHouse เพื่อเรียกใช้งาน
          ความสามารถอย่างนึงของ Power BI semantic model คือการ Refresh เมื่อข้อมูลใน OneLake แบบอัตโนมัติ ทำให้เราจะได้ข้อมูลที่แก้ไขและอัปเดตแบบ Realtime

Power BI semantic models จะมีการเปิดค่าให้อัปเดตอัตโนมัติเมื่อข้อมูลมีการเปลี่ยนแปลงบน OneLake

และสำหรับการเรียกใช้งานบน Power BI Desktop เราจำเป็นต้องมีการตั้งค่าเพิ่มเติมที่ semantic model โดยการสร้าง Parameter ขึ้นมา 2 ตัว โดยที่ตัวนึงเป็นตัวเลข ตัวนึงเป็น Field และทำเป็น Measure โดยเราจะตั้งชื่อว่า %Discount Value เพื่อเก็บค่าเปอร์เซ็นต์และ ProKey เพื่อเก็บค่า PromotionKey

การสร้าง Parameter เพื่อเก็บค่า %Discount Value และ ProKey

จากนั้นบน Power BI Desktop ให้เรา Connect กับ Parameter ที่สร้างและนำมาแสดงเป็น Visualization รูปแบบ Slicer ที่สามารถลากระบุค่าได้ จากนั้นให้เราสร้างปุ่ม (Button) ขึ้นมาเพื่อใช้ในการส่งค่าเปอร์เซ็นต์ดังกล่าวไปอัปเดตฐานข้อมูล โดยผ่าน Connection ที่เราได้ทำการเตรียมไว้เรียบร้อย

กดที่ปุ่มเพื่ออัปเดตข้อมูลผ่าน Connection ที่เตรียมไว้

หลังจาก Connection ทำงานเสร็จเรียบร้อยแล้ว จะเห็นได้ว่าส่วนลดที่เป็นเปอร์เซ็นต์ได้มีการปรับค่าจาก 35% กลายเป็น 60% เรียบร้อยแล้ว

ProKey ที่ 7 มีการอัปเดตค่าจาก 0.35 (35%) เป็น 0.6 (60%) ไว้เรียบร้อย

สรุปการทำ Translytical task flow บน Power BI

         Translytical task flow ในมุมมองของผู้เขียน Translytical task flow เป็นเครื่องมือลดเรื่องของเวลาในการปรับแก้ไปมาระหว่างข้อมูลต้นฉบับที่มีการเรียกใช้มาใน Power BI ที่จะช่วยให้เราสามารถอัปเดตข้อมูลได้บนที่เดียวและ Realtime อีกด้วย ซึ่งถือว่าประหยัดเวลาสำหรับการกลับไปอัปเดตข้อมูลได้ค่อนข้างเยอะมากเลยทีเดียว
หากผู้อ่านรู้สึกสนใจอยากศึกษาการทำงานข้อมูลและการนำไปต่อยอดในงานด้านธุรกิจอย่างลึกซึ้ง ผู้เขียนขอแนะนำเป็นโปรแกรม Data Engineering & Business Intelligence ที่เป็น 1 ในโปรแกรมของ Career Path ที่ทาง 9Expert Training มัดรวมหลักสูตรตั้งแต่เริ่มต้นงานด้านข้อมูลจนถึงการนำข้อมูลมาวิเคราะห์และนำเสนอได้อย่างลึกซึ้ง และพร้อมทำให้ท่านกลายเป็น 1 ในผู้ที่ขับเคลื่อนองค์กรด้วยข้อมูลที่มีประสิทธิภาพ (Data-Drive Enterprise) ได้อย่างแท้จริง โดยผู้อ่านสามารถกดเข้าไปดูรายละเอียดของโปรแกรม Data Engineering & Business Intelligence ได้ที่การ์ดข้างล่างนี้ครับ

ดูคลิปเต็ม: ฟีเจอร์ใหม่ Power BI อ่าน เขียน ข้อมูลในที่เดียว ด้วย Translytical