ปัญหาคืออะไร ?
Microsoft Report Builder เป็นเครื่องมือสำหรับสร้างและออกแบบ Paginated Report ซึ่งสามารถเชื่อมต่อข้อมูลจากหลาย ๆ แหล่งได้ แต่ไม่สามารถเชื่อมต่อกับ Microsoft Dataverse ได้
และผมขอบอกตรงนี้ก่อนว่า Microsoft Report Builder ไม่เหมือนกับ Power BI Report Builder
Quick Suggest
หากสนใจเรียนรู้เพิ่มเติม ขอแนะนำบทความ
แต่อย่างไรก็ตาม หลาย ๆ คนไม่ว่าจะเป็น Developer, IT staff หรือ Super user เองก็คงรู้จัก Dataverse ซึ่งเป็นฐานข้อมูลของ Power Platform เป็นอย่างดี และการสร้าง Dataverse tables ผ่านเครื่องมือที่ชื่อว่า Power Apps Maker Portal นั้นเป็นเรื่องง่ายดาย
โดยปกติแล้ว Dataverse ใช้ Azure SQL Database เป็นฐานข้อมูลหลัก แต่ Dataverse มาพร้อมกับเครื่องมือเพิ่มเติมอื่น ๆ ที่ทำให้มีความสามารถมากกว่า Azure SQL Database ธรรมดา
Quick Suggest
หากสนใจเรียนรู้เพิ่มเติม ขอแนะนำบทความ
แม้ว่าจะไม่มีเอกสารอย่างเป็นทางการ แต่ผมได้ศึกษาและค้นพบว่าเราสามารถใช้ OLE DB connection ในการเชื่อมต่อกับ TDS Endpoint ของ Dataverse ได้ ซึ่งเป็นเรื่องที่ดีมากที่ Microsoft Report Builder สามารถรองรับการเชื่อมต่อ OLE DB ได้อยู่แล้ว ดังนั้นการค้นพบครั้งนี้ของผมจึงเป็นประโยชน์มาก!
Let’s start
-
1. สร้าง App Registration ใน Microsoft Entra ID (ก่อนหน้านี้เรียกว่า Azure AD)
App Registration เป็นวิธีที่ดีและง่ายที่สุดสำหรับการเชื่อมต่อไปยัง Dataverse โดยคุณต้องมี client id และ client secret สำหรับการสร้าง App Registration ใน Microsoft Entra ซึ่งคุณสามารถดูวิธีการทำ ได้ที่นี่
2. หา URL สำหรับเชื่อมต่อกับ Dataverse ของคุณ
ทุก Dataverse environment มี URL ที่ไม่ใช่ Environment ID แต่เป็น URL Endpoint สำหรับการเชื่อมต่ออยู่แล้ว
โดยวิธีที่ง่ายที่สุดให้การหา คือ เปิดไปที่ Power Apps Maker Portal แล้วเลือก Environment ที่คุณต้องการใช้ จากนั้นไปที่ Advanced Settings
หลักจากนั้นจะแสดงหน้าต่างเว็บ Dynamics 365 ขึ้นมา และ URL ที่แสดงนั้นคือ URL Endpoint ของคุณ
3. ให้สิทธิ์แอปพลิเคชันของคุณในการอ่านข้อมูล
คุณต้องให้สิทธิ์ App ของคุณ ในการอ่านข้อมูลจากตารางใน Dataverse ของคุณได้
สามารถไปที่ Power Platform Admin Center จากนั้นไป Settings Environment ที่คุณต้องการ
จากนั้นไปที่ Application users
คลิกที่ New app user และค้นหา App registration จากนั้นคลิก Add
อย่าลืมเพิ่ม Business unit และ Security roles ให้กับ App ของคุณ (คิดว่า App ของคุณเปรียบเสมือน User คนหนึ่ง ดังนั้นต้องได้รับสิทธิ์ในการเข้าถึงข้อมูลเช่นเดียวกัน)
ในกรณีนี้ ผมจะกำหนด Role ของ App ให้เป็น System Administrator เพื่อให้ App สามารถอ่านข้อมูลทั้งหมดได้
หลังจากนั้นคลิก Save และ Create
ตอนนี้คุณสามารถเข้าถึง Dataverse table ได้แล้ว
4. ติดตั้งไดร์เวอร์ Microsoft สำหรับ SQL Server
และคุณจำเป็นต้องติดตั้ง Microsoft Visual C++ Redistributable for Visual Studio 2022 ด้วย (ทั้ง 32 บิตและ 64 บิต)
5. เชื่อมต่อกับ Dataverse
ไปที่ Add Data Source
- Connection type – เลือก OLE DB
- Connection string – ใช้ Template นี้ คุณต้องแทนที่ส่วนที่เป็นสีแดงด้วยข้อมูลจากขั้นตอนก่อนหน้า
คุณสามารถคลิกที่ Test Connection เพื่อตรวจสอบว่าทุกอย่างได้ถูกตั้งค่าอย่างถูกต้องและตอนนี้ Microsoft Report Builder สามารถเข้าถึง Endpoint ของ Dataverse ได้แล้ว
หลังจากเพิ่ม Data Source เรียบร้อย และตอนนี้คุณสามารถเพิ่มตาราง Dataverse ที่คุณต้องการไปยัง Microsoft Report Builder ในส่วนของ Datasets
ต่อไปคุณจะต้องตั้งค่า Datasets ของคุณ
- Name – ใส่ชื่ออะไรก็ได้ที่คุณต้องการ โดยชื่อที่คุณตั้งจะแสดงใน Microsoft Report Builder
- Data source – เลือก Dataverse ที่เพิ่งสร้างไว้
- Query type – Table
- Table name – Logical name ของ Dataverse table
เสร็จเรียบร้อย ตอนนี้คุณสามารถใช้ข้อมูล Dataverse ในรายงานของคุณได้แล้ว!
สรุป
แม้ว่า Dataverse จะไม่ได้ระบุอยู่ในรายการ Data Source ที่รองรับของ Microsoft Report Builder แต่เราสามารถทำได้ด้วยความช่วยเหลือของ OLE DBB ที่มีการตั้งค่าเล็กน้อย
แหล่งที่มา: PAWIT.PW
ก้าวเข้าสู่ Digital Business
ดูผลิตภัณฑ์ที่เกี่ยวข้องได้ที่นี่