ทำงานกับ Power BI Matrix โดยรับข้อมูลจากคำสั่ง DAX
ฉันมีข้อกำหนดดังต่อไปนี้:
- ผู้ใช้จะเห็น Power BI Matrix บนเว็บเพจ (ตรงข้ามกับ Power BI Desktop)
- หน้าเว็บควรมีองค์ประกอบสามอย่าง: ฟิลด์ข้อความปุ่มและเมทริกซ์ Power BI (อาจรวมอยู่ในรายงาน Power BI)
- ผู้ใช้จะป้อนคำสั่ง DAX ในช่องข้อความและคลิกที่ปุ่มเพื่อสั่งให้เมทริกซ์ใช้คำสั่ง DAX ดำเนินการและเติมข้อมูล
- ผู้ใช้ควรจะสามารถเจาะลึกในเมทริกซ์ได้
- ผู้ใช้อาจป้อนคำสั่ง DAX ใหม่อีกครั้งโดยรีเฟรชเมทริกซ์
ตอนนี้เอกสารทั้งหมดที่ฉันสามารถหาได้ตัวอย่างเช่นที่นี่พูดคุยเกี่ยวกับ Matrix ใน Power BI Desktop (เช่นไม่ใช่หน้าเว็บ) และข้อมูลที่นำมาจากการเลือกตาราง / คอลัมน์ / การวัดด้วยตนเอง (ทางด้านขวาของหน้าจอ)
ใน Power BI Studio ฉันรู้ว่าฉันสามารถป้อนคำสั่ง DAX ได้โดยการสร้างตารางในแถบด้านบนตัวอย่างเช่นถ้าฉันมี DAX:
EVALUATE TOPN (3, branches)
ฉันสามารถสร้างตารางเพื่อเติมข้อมูลเมทริกซ์ด้วย:
BranchesTable = TOPN (3, branches)
แต่จะเชื่อมโยงสถิติ DAX แบบไดนามิกที่กำหนดในขณะทำงานกับเมทริกซ์บนหน้าเว็บแบบไดนามิกได้อย่างไร
คำตอบ
ขณะนี้ยังไม่สามารถทำสิ่งที่คุณต้องการได้อย่างแน่นอน คุณสามารถเปลี่ยนแหล่งข้อมูลแบบไดนามิกและอัปเดตแบบสอบถามที่ใช้ในรายงานเฉพาะได้ แต่ไม่มี API ที่พร้อมใช้งาน (PowerBI REST หรือ PowerBI JavaScript) เพื่ออัปเดตคอลัมน์ที่อยู่ในภาพในรายงาน คุณสามารถเข้าใกล้สิ่งที่คุณต้องการได้ แต่รายงานไม่สามารถแสดงในView
โหมดได้และจะต้องแสดงในEdit
โหมดดังนั้นผู้ใช้จะมีความสามารถในการลากเขตข้อมูลที่สร้างจากผลลัพธ์แบบสอบถาม DAX ที่อัปเดตไปยังภาพเมทริกซ์ด้วยตนเอง พวกเขาส่งการเปลี่ยนแปลง
สมมติว่าคุณมีการตั้งค่าและการกำหนดค่าการลงทะเบียนแอปที่จำเป็นล่วงหน้าแล้วและคุณพร้อมที่จะฝังต่อไปนี้เป็นขั้นตอนบางส่วนเพื่อเข้าใกล้สิ่งที่คุณกำลังมองหา หากคุณยังไม่พร้อมที่จะฝังมีเอกสารบางส่วนด้านล่าง 8 ขั้นตอนที่ฉันให้ไว้เพื่อดำเนินการตั้งค่าข้อกำหนดเบื้องต้นให้เสร็จสมบูรณ์เพื่อให้สามารถฝังได้
- การใช้ PowerBI Desktop สร้างรายงานเทมเพลตที่มีเมทริกซ์วิชวลและการเชื่อมต่อกับแหล่งข้อมูลที่คุณต้องการใช้ อย่าลืมตั้งค่ารายงานนี้โดยใช้แบบสอบถามเฉพาะและไม่ใช่ตารางทั้งหมดในแหล่งข้อมูลไม่ว่าจะเป็น SQL หรือ SSAS (คุณระบุข้อความค้นหาภายใต้ตัวเลือกขั้นสูงเมื่อคุณตั้งค่าแหล่งข้อมูลในรายงานครั้งแรก)
- ตั้งค่าเกตเวย์ข้อมูล Power BI ไปยังแหล่งข้อมูลที่รายงานของคุณใช้
- สร้างพื้นที่ทำงานบน PowerBI.com เพื่ออัปโหลดรายงานไปที่
- การใช้ PowerBI desktop เผยแพร่รายงานที่คุณสร้างในขั้นตอนที่ 1 ไปยังพื้นที่ทำงานที่คุณสร้างในขั้นตอนที่ 3
- บนเว็บแอปพลิเคชันของคุณเมื่อผู้ใช้ดูหน้าโปรแกรมดูรายงานคุณต้องมีวิธีระบุผู้ใช้แต่ละคน สมมติว่าคุณมี
UserId
ฟิลด์ที่เป็น ID เฉพาะสำหรับผู้ใช้แต่ละคน โทรหา GetReports ในกลุ่มhttps://docs.microsoft.com/en-us/rest/api/power-bi/reports/getreportsingroup. คุณต้องมีชื่อรายงานที่ทราบพร้อม UserId สมมติว่าเป็น DynamicReport ดังนั้นโทรหา GetReports และตรวจสอบว่าDynamicReport_UserId
มีอยู่สำหรับผู้ใช้ที่พยายามดูหน้าโปรแกรมดูรายงานในเว็บแอปพลิเคชันของคุณหรือไม่ - ในการเรียก API นั้นเป็นผลมาจากขั้นตอนที่ 5 หากไม่มีรายงานสำหรับผู้ใช้ให้ใช้ https://docs.microsoft.com/en-us/rest/api/power-bi/reports/clonereport เพื่อโคลนรายงานเทมเพลตที่คุณเผยแพร่ในขั้นตอนที่ 4
- ฝังและแสดงรายงานเทมเพลตเฉพาะผู้ใช้ (DynamicReport_UserId) สำหรับผู้ใช้
- มีตรรกะในหน้าโปรแกรมดูรายงานเพื่อให้ผู้ใช้สามารถส่งและ
POST
แบบสอบถาม DAX เมื่อพวกเขาส่งมีตรรกะที่จะใช้https://docs.microsoft.com/en-us/rest/api/power-bi/datasets/updatedatasources ที่ส่วนหลังเพื่ออัปเดตแหล่งข้อมูลในรายงานจากนั้นฝังรายงานอีกครั้งด้วยคำสั่ง DAX และข้อมูลที่เปลี่ยนแปลง
วิชวลจะไม่อัปเดตเป็นฟิลด์ใหม่โดยอัตโนมัติจากคิวรีใหม่ที่ผู้ใช้ส่งมา แต่ฟิลด์ข้อมูลที่มีอยู่ในโหมดตัวแก้ไขจะเปลี่ยนไป ผู้ใช้จะต้องลากและวางเขตข้อมูลจากแบบสอบถาม DAX ของพวกเขาไปยังเมทริกซ์วิชวลหรือประเภทวิชวลที่พวกเขาจะเลือกใช้ คุณจะไม่สามารถเพียงแค่แสดงรายงานในView
โหมดเนื่องจากคุณไม่มีวิธีอัปเดตฟิลด์ที่อยู่ในภาพโดยใช้โปรแกรม ผู้ใช้อาจเห็นภาพที่ไม่สมบูรณ์ในตอนแรกเนื่องจากแบบสอบถามที่เปลี่ยนแปลงและฟิลด์การอ้างอิงภาพจากแบบสอบถามที่ใช้ก่อนหน้านี้ คุณสามารถใช้ PowerBI Javascript API เพื่อซ่อนวิชวลที่มีอยู่เพื่อปรับปรุงประสบการณ์การใช้งานของผู้ใช้ที่ไม่เห็นสิ่งที่เสียหาย
โปรดแจ้งให้เราทราบหากคุณมีคำถามเฉพาะเกี่ยวกับการเรียก API เหล่านี้หรือวิธีการใช้งาน
นี่คือที่ที่ฉันกำลังมองหาฟังก์ชันการทำงานของ Power BI JavaScript https://github.com/Microsoft/powerbi-javascript/wiki (ไม่พบสิ่งใดที่เฉพาะเจาะจงสำหรับ matrix Visuals ฟังก์ชัน JavaScript สำหรับวิชวลทั่วไปสำหรับ Visuals ไม่ใช่ Visual Type เช่น Matrix หรือ Card)
นี่คือเอกสารของ Microsoft เกี่ยวกับ REST API ที่มีอยู่และ https://docs.microsoft.com/en-us/rest/api/power-bi/
ต่อไปนี้เป็นแหล่งข้อมูลที่ดีในการเรียนรู้เพิ่มเติมเกี่ยวกับการฝัง
https://docs.microsoft.com/en-us/power-bi/developer/embedded/register-app https://docs.microsoft.com/en-us/power-bi/developer/embedded/embedding
หากคุณต้องการความสามารถในการเจาะลึกลำดับชั้นเป็นตัวเลือกที่ยอดเยี่ยม
https://spreadsheeto.com/power-bi-hierarchy/