ตัวอย่างการนำ Report บน Power BI Service (Free) มาแสดงบน Website

บทความที่แล้ว เราพูดถึงการแชร์ Power BI Report ว่าสามารถทำได้อย่างไรบ้าง วันนี้เราจะมาดูวิธีการนำ Embed code ที่ได้จากการ Publish to Web (Public) ซึ่งโดยปกติแล้ว หากนำ Link ไปเปิดบน Browser ก็จะสามารถมองเห็นข้อมูลในรายงานได้เลย … แต่คงไม่ดีแน่หากข้อมูลนั้นเป็นข้อมูลสำคัญ และเราก็ยังไม่พร้อมจะขยับไปใช้ Power BI Service แบบ Pro แล้วถ้าเราจะนำ Code มาแสดงบนเว็บไซต์ของเรา แบบกำหนดสิทธิ์การเข้าชมได้อย่างไร วันนี้มีคำตอบครับ

ก่อนอื่นต้องบอกก่อนว่า การสร้าง Report link จาก Publish to Web (Public) ซึ่งโดยปกติแล้วเราจะใช้ในกรณีที่ต้องการแสดงหน้ารายงานนั้นแบบสาธารณะ (ข้อมูลอาจจะเป็นข้อมูลที่เผยแพร่ได้อยู่แล้ว) โดยในกรณี Power BI Service แบบ Pro นั้น เราจะสามารถเลือกได้ว่า จะใช้ LInk แบบ Public หรือแบบที่มี Security ก็ได้ แต่กรณีของ Power BI Service แบบ Free เราจะใช้ได้เพียง Public เท่านั้น

ดังนั้นหากเราต้องการนำ Code จาก Publish to Web (Public) มาใช้งานกับข้อมูลที่เราไม่ต้องการให้คนภายนอกเห็น หรือ ต้องการจำกัดการเข้าถึงของหน้ารายงานนั้น เราจำเป็นต้องอาศัยเครื่องมือ หรือ ระบบอื่นเข้ามาช่วย โดยในตัวอย่างต่อไปนี้ จะเป็นการนำ Embed Code มาใช้งานกับเว็บไซต์ในระบบ CMS ซึ่งเป็นระบบจัดการ Content ที่มีสามารถกำหนดสิทธิ์การเข้าถึงหน้าเว็บได้ด้วย โดยตัวอย่างวันนี้ขอใช้เจ้า WordPress เป็นตัวอย่างนะครับ (เว็บของบริษัทใช้เจ้าตัวนี้อยู่) ส่วน CMS ของค่ายอื่น ก็ลองไปเช็คดูครับ น่าจะมีส่วนนี้เหมือนกัน

ขั้นตอนแรก ก็ต้องทำการคัดลอก Code ที่ต้องการ จาก Power BI Service ก่อน (สามารถดูขั้นตอนได้ที่ How to Share Power BI Report Part 1)

เมื่อได้ Code เราก็ทำการสร้าง New Post หรือ Page บน WordPress (การสร้างหน้าใหม่นั่นเอง) จากนั้น ทำการ Insert HTML Code เข้าไปในเนื้อหา เพราะตัว Code ที่ได้มาเป็น HTML นั่นเอง ก็คลิกที่เครื่องหมาย + เพื่อเพิ่ม Object แล้วเลื่อนไปที่ Formatting จากนั้นเลือกที่ HTML Custom HTML ดังภาพ

จากนั้นจะได้กล่องข้อความสำหรับเขียน HTML Code ลงไป

นำ Code ที่คัดลอกมาจาก Power BI Service ใส่ลงไปเลย ตามตัวอย่าง

จากนั้น ทำการกำหนด Security ในการแสดงผล ของ Document โดยเข้าไปตั้งค่าที่เมนูด้านขวามือของหน้า Edit Page เลือก Document Tab หากไม่พบ ให้คลิกที่ Icon รูปเฟืองที่มุมขวาบนของหน้าจอ จากนั้นเลือกการแสดงผลเป็น Private หรือ Password Protected แทน

กรณ๊เลือก Private หน้าเพจจะไม่แสดงหากไม่ Login เข้าใช้งานเว็บไซต์ก่อน ซึ่งผู็ที่สามารถมองเห็นจะต้องมี Role เป็น Editor หรือ Admin เท่านั้น Role อื่นจะมองไม่เห็นครับ

กรณีเลือก Password Protected ผู้เยี่ยมชมจะมองเห็นหัวข้อ หรือ ชื่อเพจ แต่เมื่อเปิดหน้าเพจนั้นขึ้นมา ระบบเว็บจะถามรหัสผ่าน เพื่อยืนยันสิทธิ์ในการเข้าชม หากไม่มีรหัสผ่าน ก็จะไม่สามารถเข้าถึงตัวรายงานได้

แต่หากกำหนดแบบ Public ก็จะสามารถดูตัวอย่างหน้ารายงานได้เลย ตามแบบตัวอย่างรายงานที่ทาง R&D BI ทำเอาไว้ (สามารถดูได้ที่ https://rdbi.co.th/rdbi-course/power-bi-sample-dashboard/ )

ตัวรายงานนี้จะอัพเดทตามการอัพเดทรายงานบน Power BI Service หากต้องการให้ข้อมูลอัพเดทตามที่ต้องการต้องไปตั้ง Schedule บน Power BI Service นะครับ

ข้อควรระวัง !!!!

แม้ว่าจะสามารถปิดกั้นการเข้าถึงตัวรายงานบนหน้าเว็บได้ แต่ตัว Link ที่เชื่อมไปยังตัวรายงานนั้นยังคงเป็น Public Link เช่นเดิม ดังนั้นผู้ใช้งานที่สามารถเข้าถึงหน้าที่ใช้แสดงรายงาน จะต้องระมัดระวังเพราะเมื่อ Login แล้ว หน้าเว็บนั้นจะสามารถค้นหาที่อยู่ของ Public Link ของ Power BI Report ได้ ซึ่งสามารถคัดลอกไปใช้ได้

บทความนี้ก็เป็นเพียงแนวทางในการนำ Public link ให้ปลอดภัยมากขึ้น ซึ่งสามารถนำไปปรับใช้กับ CMS ค่ายอื่นๆ รวมถึงแต่หากทำได้ผมก็อยากแนะนำให้ขยับไปใช้ Power BI Service (Pro) แทนครับ