Aspnetwebformpowerbiembed
Power BI (PBI) ถูกฝังลงใน ASP.NET WebForms เป็นรุ่น Appownsdata
รายงานถูกฝังโดยใช้วิธี "บริการหลัก" ไม่ใช่วิธี "ผู้ใช้หลัก"
การเก็บถาวรที่เก็บนี้เป็น Microsoft สนับสนุนให้ใช้เทคโนโลยี ASP.NET ใหม่ - MVC และ Blazor สำหรับ WebForms โดยเฉพาะ Blazor เป็นคำแนะนำหนึ่ง-https://learn.microsoft.com/en-us/dotnet/architecture/blazor-for-web-forms-developers/migration
ฉันได้สร้างโซลูชันตัวอย่างนี้ใน Visual Studio 2017 และรายงานตัวอย่างนำมาจาก https://github.com/microsoft/powerbi-desktop-samples/tree/master/2018
สำหรับการสาธิตนี้ฉันได้ใช้ไฟล์ "2018SU04 บล็อก Demo - April.pbix"
มีสองไฟล์ที่มีการฝังรายงาน
- default.aspx - ซึ่งมีรายงานที่ไม่มีตัวกรอง
- pbiembedded.aspx - ซึ่งมีรายงานด้วยตัวกรอง
ฉันใช้ตัวกรองพื้นฐานที่นี่ใน JavaScript สำหรับตัวกรองเพิ่มเติมโปรดดูเอกสารนี้ https://github.com/microsoft/powerbi-javascript/wiki/filters
วิธีการใช้งานคล้ายกับ Power BI - แอพเป็นเจ้าของข้อมูล (MVC) - https://github.com/microsoft/powerbi-developer-samples/tree/master/app%20Owns%20Data
ไฟล์คลาสนั้นเหมือนกับในแอพที่เป็นเจ้าของข้อมูล (MVC)
เมื่อใช้วิธีหลักบริการโปรดเพิ่มค่าให้กับสิ่งต่อไปนี้ในวิธีการ web.config:
AppSettings
-applicationId
-workspaceId
-reportId
การให้บริการ
-applicationSecret
-tenant
ก่อนที่จะฝังโปรดสร้างรายงาน Power BI และเผยแพร่ไปยังพื้นที่ทำงานของ Power BI O365
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับวิธีกำหนดค่าบริการหลักโปรดตรวจสอบวิดีโอนี้ https://www.youtube.com/watch?v=zhmfpdxliw0
แต่ถ้าวิดีโอดูเหมือนจะมีความยาวโปรดตรวจสอบคำอธิบายด้านล่างเกี่ยวกับวิธีการ confgiure ...
ไปที่ Azure Portal
- ไปที่ Azure Active Directory -> การลงทะเบียนแอป
- ระบุชื่อไปยังแอปพลิเคชัน
- สำหรับประเภทบัญชีที่รองรับเลือก "บัญชีในไดเรกทอรีองค์กรใด ๆ " ตัวเลือกนี้ถูกเลือกเนื่องจากแอปพลิเคชันที่ PBI ถูกฝังอยู่โฮสต์อย่างอิสระ
- ให้ URI (ไม่บังคับ) เปลี่ยนเส้นทางเป็น URL localhost
- คลิกลงทะเบียนแล้วคุณจะได้รับรายละเอียดต่อไปนี้ - ID แอปพลิเคชัน (ไคลเอนต์), ID ไดเรกทอรี (ผู้เช่า), ID วัตถุ
- สำหรับความลับของแอปพลิเคชันให้เลือก "ใบรับรองและความลับ" -> "ความลับลูกค้าใหม่" สำหรับพอร์ทัล Azure เก่าสิ่งเหล่านี้ใช้ชื่อ "รหัสผ่าน"
- ระบุคำอธิบายและพารามิเตอร์หมดอายุแล้วคลิกเพิ่ม
- สำคัญ - ทันทีที่คุณคลิกเพิ่มคุณจะได้รับความลับของแอปพลิเคชันข้างชื่อคำอธิบาย คัดลอกความลับทันที หากคุณคิดว่าคุณจะได้รับความลับในภายหลังมันจะเป็นไปไม่ได้ คุณจะต้องสร้างคีย์ใหม่
- เพื่อให้ผู้ใช้สามารถอ่านไฟล์ Power BI คุณจะต้องให้สิทธิ์แก่ Power BI APIs
- นำทางไปยัง API permsissions หรือการอนุญาตที่จำเป็น (พอร์ทัลเก่า)
- ภายใต้สิทธิ์ API คลิก "เพิ่มสิทธิ์"
- เลือก "บริการ Power BI"
- ภายใต้ "สิทธิ์ที่ได้รับมอบหมาย" และ "สิทธิ์การใช้งาน" สำหรับตอนนี้ฉันได้รับอนุญาตทั้งหมด แต่จะอัปเดตในไม่ช้าเกี่ยวกับการอนุญาตที่จำเป็นหรือสิ่งที่ไม่ได้
- ตอนนี้อีกครั้งภายใต้ "Azure Active Directory" -> "กลุ่ม" และคลิก "กลุ่มใหม่"
- ให้ประเภทกลุ่มเป็นค่าเริ่มต้นและให้ชื่อกลุ่ม
- ภายใต้เจ้าของพูดถึงว่าใครจะเป็นเจ้าของกลุ่ม
- ภายใต้สมาชิกกล่าวถึงชื่อแอพที่ลงทะเบียนก่อนหน้านี้
- คลิกปุ่ม "สร้าง" ทันทีเพื่อสร้างกลุ่ม
ไปที่พอร์ทัล Power BI ภายใต้ O365
- ไปที่การตั้งค่าแล้ว "พอร์ทัลผู้ดูแลระบบ"
- ภายใต้พอร์ทัลผู้ดูแลระบบไปที่ "การตั้งค่าผู้เช่า" และใน "การตั้งค่านักพัฒนา"
- ภายใต้ "อนุญาตให้บริการหลักการใช้ Power BI APIs" เปิดใช้งานคุณสมบัติและพูดถึงชื่อกลุ่มที่สร้างขึ้นก่อนหน้านี้และคลิกใช้
- ตอนนี้ภายใต้พอร์ทัลผู้ดูแลระบบนำทางไปยังพื้นที่ทำงาน
- เลือกพื้นที่ทำงานและคลิกที่การเข้าถึง
- พูดถึงชื่อกลุ่มและกับผู้ดูแลระบบเป็นบทบาทและคลิกเพิ่ม
- ตอนนี้สำหรับ Workspace ID และ ID รายงานเปิดรายงานใด ๆ จากพื้นที่ทำงาน
- ใน URL คำหลัก 'กลุ่ม' ให้คัดลอก GUID ซึ่งจะเป็น ID Workspace ของคุณ
- ใน URL คำหลัก 'รายงาน' ให้คัดลอก GUID ซึ่งจะเป็นรหัสรายงานของคุณ
พูดถึงค่าเหล่านี้ใน web.config และรหัสที่เหลือช่วยในการฝังรายงาน
การเขียนโค้ดมีความสุข ...