เปลี่ยนสายอักขระการเชื่อมต่อแหล่งข้อมูลในรายงาน Power BI ด้วย PowerShell - เซิร์ฟเวอร์รายงาน Power BI
เราเปิดใช้งานความสามารถในการอัปเดตการเชื่อมต่อสําหรับรายงาน Power BI สําหรับ DirectQuery และการรีเฟรช
สำคัญ
นอกจากนี้ยังเป็นการเปลี่ยนแปลงอย่างขาดไม่ได้ในการตั้งค่านี้ในรุ่นการเผยแพร่ก่อน ๆ ถ้าคุณกําลังใช้เซิร์ฟเวอร์รายงาน Power BI เวอร์ชันก่อนเดือนตุลาคม 2020 โปรดดูที่ เปลี่ยนสายอักขระการเชื่อมต่อแหล่งข้อมูลในรายงาน Power BI ด้วย PowerShell - เซิร์ฟเวอร์รายงาน Power BI ก่อนเดือนตุลาคม 2020
ข้อกำหนดเบื้องต้น
- ดาวน์โหลด เซิร์ฟเวอร์รายงาน Power BI และ Power BI Desktop รุ่นล่าสุดสําหรับ เซิร์ฟเวอร์รายงาน Power BI
- รายงานที่บันทึกด้วย Power BI Desktop รุ่นเผยแพร่เดือนตุลาคม 2020 หรือใหม่กว่า ที่ปรับให้เหมาะสมสําหรับ Report Server ด้วย การเปิดใช้งาน เมตาดาต้า ชุดข้อมูลที่ปรับปรุงประสิทธิภาพแล้ว
- รายงานที่ใช้การเชื่อมต่อแบบกําหนดพารามิเตอร์ เฉพาะรายงานที่มีการเชื่อมต่อและฐานข้อมูลแบบกําหนดพารามิเตอร์เท่านั้นที่สามารถอัปเดตได้หลังจากเผยแพร่
- ตัวอย่างนี้ใช้เครื่องมือ Reporting Services PowerShell คุณสามารถทําแบบเดียวกันนี้ได้โดยใช้ 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
เลือกจัดการพารามิเตอร์ในริบบอนตัวแก้ไข 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'
ด้วยค่าที่อัปเดตเราสามารถใช้ commandlet
Set-RsRestItemDataModelParameters
เพื่ออัปเดตค่าในเซิร์ฟเวอร์:Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters $parameterdictionary.Values
เมื่ออัปเดตพารามิเตอร์แล้ว เซิร์ฟเวอร์จะอัปเดตแหล่งข้อมูลใด ๆ ที่ถูกผูกไว้กับพารามิเตอร์ ย้อนกลับไปยัง กล่องโต้ตอบแก้ไขแหล่งข้อมูล คุณควรจะสามารถตั้งค่าข้อมูลประจําตัวสําหรับเซิร์ฟเวอร์และฐานข้อมูลที่อัปเดตแล้ว
เนื้อหาที่เกี่ยวข้อง
มีคำถามเพิ่มเติมหรือไม่? ลองถามชุมชน Power BI