หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
เราเปิดใช้งานความสามารถในการอัปเดตการเชื่อมต่อสําหรับรายงาน Power BI สําหรับ DirectQuery และการรีเฟรช
สําคัญ
นี่เป็นการเปลี่ยนแปลงครั้งใหญ่เกี่ยวกับวิธีที่คุณสามารถตั้งค่านี้ในรุ่นก่อนหน้า
ข้อกําหนดเบื้องต้น
- ดาวน์โหลด เซิร์ฟเวอร์รายงาน Power BI และ Power BI Desktop สําหรับเซิร์ฟเวอร์รายงาน Power BI รุ่นล่าสุด
- รายงานที่บันทึกด้วย Power BI Desktop ที่ปรับให้เหมาะสมสําหรับเซิร์ฟเวอร์รายงาน โดยเปิดใช้งานข้อมูลเมตาของชุดข้อมูลขั้นสูง
- รายงานที่ใช้การเชื่อมต่อที่มีพารามิเตอร์ เฉพาะรายงานที่มีการเชื่อมต่อและฐานข้อมูลที่มีพารามิเตอร์เท่านั้นที่สามารถอัปเดตได้หลังจากเผยแพร่
- ตัวอย่างนี้ใช้เครื่องมือ PowerShell ของ Reporting Services คุณสามารถทําเช่นเดียวกันได้โดยใช้ REST API ใหม่
สร้างรายงานด้วยการเชื่อมต่อที่มีพารามิเตอร์
สร้างการเชื่อมต่อ SQL Server กับเซิร์ฟเวอร์ ในตัวอย่างด้านล่าง เรากําลังเชื่อมต่อกับ localhost กับฐานข้อมูลที่เรียกว่า ReportServer และดึงข้อมูลจาก ExecutionLog
นี่คือลักษณะของคิวรี M ณ จุดนี้:
let Source = Sql.Database("localhost", "ReportServer"), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3เลือก จัดการพารามิเตอร์ ใน Ribbon ตัวแก้ไข Power Query
สร้างพารามิเตอร์สําหรับชื่อเซิร์ฟเวอร์และชื่อฐานข้อมูล
แก้ไขแบบสอบถามสําหรับการเชื่อมต่อครั้งแรก และแมปฐานข้อมูลและชื่อเซิร์ฟเวอร์
ตอนนี้คิวรีมีลักษณะดังนี้:
let Source = Sql.Database(ServerName, Databasename), dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data] in dbo_ExecutionLog3เผยแพร่รายงานนั้นไปยังเซิร์ฟเวอร์ ในตัวอย่างนี้ รายงานมีชื่อว่า executionlogparameter รูปภาพต่อไปนี้เป็นตัวอย่างของหน้าการจัดการแหล่งข้อมูล
อัปเดตพารามิเตอร์โดยใช้เครื่องมือ PowerShell
เปิด PowerShell และติดตั้งเครื่องมือ Reporting Services ล่าสุด โดยทําตามคําแนะนําที่https://github.com/microsoft/ReportingServicesTools
เมื่อต้องการรับพารามิเตอร์สําหรับรายงาน ให้ใช้ REST DataModelParameters API ใหม่โดยใช้การเรียก PowerShell ต่อไปนี้:
Get-RsRestItemDataModelParameters '/executionlogparameter' Name Value ---- ----- ServerName localhost Databasename ReportServerเราบันทึกผลลัพธ์ของการเรียกนี้ในตัวแปร:
$parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'แมปกับพจนานุกรมเพื่อเข้าถึงค่าพารามิเตอร์
$parameterdictionary = @{} foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }ตัวแปรนี้ได้รับการอัปเดตด้วยค่าที่เราต้องเปลี่ยนแปลง
อัปเดตค่าของพารามิเตอร์ที่ต้องการ:
$parameterdictionary["ServerName"].Value = 'myproductionserver' $parameterdictionary["Databasename"].Value = 'myproductiondatabase'ด้วยค่าที่อัปเดตเราสามารถใช้คอมมานต์เล็ต
Set-RsRestItemDataModelParametersเพื่ออัปเดตค่าในเซิร์ฟเวอร์:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Valuesเมื่ออัปเดตพารามิเตอร์แล้ว เซิร์ฟเวอร์จะอัปเดตแหล่งข้อมูลใดๆ ที่ผูกไว้กับพารามิเตอร์ กลับไปที่กล่องโต้ตอบ แก้ไขแหล่งข้อมูล คุณควรจะสามารถตั้งค่าข้อมูลประจําตัวสําหรับเซิร์ฟเวอร์และฐานข้อมูลที่อัปเดตได้
เนื้อหาที่เกี่ยวข้อง
มีคำถามเพิ่มเติมหรือไม่? ลองถามชุมชน Power BI