แชร์ผ่าน


เปลี่ยนสตริงการเชื่อมต่อแหล่งข้อมูลในรายงาน Power BI ด้วย PowerShell - เซิร์ฟเวอร์รายงาน Power BI

เราเปิดใช้งานความสามารถในการอัปเดตการเชื่อมต่อสําหรับรายงาน Power BI สําหรับ DirectQuery และการรีเฟรช

สําคัญ

นี่เป็นการเปลี่ยนแปลงครั้งใหญ่เกี่ยวกับวิธีที่คุณสามารถตั้งค่านี้ในรุ่นก่อนหน้า

ข้อกําหนดเบื้องต้น

  • ดาวน์โหลด เซิร์ฟเวอร์รายงาน Power BI และ Power BI Desktop สําหรับเซิร์ฟเวอร์รายงาน Power BI รุ่นล่าสุด
  • รายงานที่บันทึกด้วย Power BI Desktop ที่ปรับให้เหมาะสมสําหรับเซิร์ฟเวอร์รายงาน โดยเปิดใช้งานข้อมูลเมตาของชุดข้อมูลขั้นสูง
  • รายงานที่ใช้การเชื่อมต่อที่มีพารามิเตอร์ เฉพาะรายงานที่มีการเชื่อมต่อและฐานข้อมูลที่มีพารามิเตอร์เท่านั้นที่สามารถอัปเดตได้หลังจากเผยแพร่
  • ตัวอย่างนี้ใช้เครื่องมือ PowerShell ของ Reporting Services คุณสามารถทําเช่นเดียวกันได้โดยใช้ REST API ใหม่

สร้างรายงานด้วยการเชื่อมต่อที่มีพารามิเตอร์

  1. สร้างการเชื่อมต่อ SQL Server กับเซิร์ฟเวอร์ ในตัวอย่างด้านล่าง เรากําลังเชื่อมต่อกับ localhost กับฐานข้อมูลที่เรียกว่า ReportServer และดึงข้อมูลจาก ExecutionLog

    สกรีนช็อตที่แสดง เชื่อมต่อกับฐานข้อมูล SQL Server

    นี่คือลักษณะของคิวรี M ณ จุดนี้:

    let
        Source = Sql.Database("localhost", "ReportServer"),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  2. เลือก จัดการพารามิเตอร์ ใน Ribbon ตัวแก้ไข Power Query

    สกรีนช็อตที่แสดง เลือก จัดการพารามิเตอร์

  3. สร้างพารามิเตอร์สําหรับชื่อเซิร์ฟเวอร์และชื่อฐานข้อมูล

    สกรีนช็อตแสดง จัดการพารามิเตอร์ ตั้งค่าชื่อเซิร์ฟเวอร์ และชื่อฐานข้อมูล

  4. แก้ไขแบบสอบถามสําหรับการเชื่อมต่อครั้งแรก และแมปฐานข้อมูลและชื่อเซิร์ฟเวอร์

    สกรีนช็อตที่แสดง แมปชื่อเซิร์ฟเวอร์และฐานข้อมูล

    ตอนนี้คิวรีมีลักษณะดังนี้:

    let
        Source = Sql.Database(ServerName, Databasename),
        dbo_ExecutionLog3 = Source{[Schema="dbo",Item="ExecutionLog3"]}[Data]
    in
        dbo_ExecutionLog3
    
  5. เผยแพร่รายงานนั้นไปยังเซิร์ฟเวอร์ ในตัวอย่างนี้ รายงานมีชื่อว่า executionlogparameter รูปภาพต่อไปนี้เป็นตัวอย่างของหน้าการจัดการแหล่งข้อมูล

    หน้าการจัดการแหล่งข้อมูล

อัปเดตพารามิเตอร์โดยใช้เครื่องมือ PowerShell

  1. เปิด PowerShell และติดตั้งเครื่องมือ Reporting Services ล่าสุด โดยทําตามคําแนะนําที่https://github.com/microsoft/ReportingServicesTools

  2. เมื่อต้องการรับพารามิเตอร์สําหรับรายงาน ให้ใช้ REST DataModelParameters API ใหม่โดยใช้การเรียก PowerShell ต่อไปนี้:

    Get-RsRestItemDataModelParameters '/executionlogparameter'
    
        Name         Value
        ----         -----
        ServerName   localhost
        Databasename ReportServer
    
  3. เราบันทึกผลลัพธ์ของการเรียกนี้ในตัวแปร:

    $parameters = Get-RsRestItemDataModelParameters '/executionlogparameter'
    
  4. แมปกับพจนานุกรมเพื่อเข้าถึงค่าพารามิเตอร์

    $parameterdictionary = @{}
    foreach ($parameter in $parameters) { $parameterdictionary.Add($parameter.Name, $parameter); }
    
  5. ตัวแปรนี้ได้รับการอัปเดตด้วยค่าที่เราต้องเปลี่ยนแปลง

  6. อัปเดตค่าของพารามิเตอร์ที่ต้องการ:

    $parameterdictionary["ServerName"].Value = 'myproductionserver'
    $parameterdictionary["Databasename"].Value = 'myproductiondatabase'
    
  7. ด้วยค่าที่อัปเดตเราสามารถใช้คอมมานต์เล็ต Set-RsRestItemDataModelParameters เพื่ออัปเดตค่าในเซิร์ฟเวอร์:

    Set-RsRestItemDataModelParameters -RsItem '/executionlogparameter' -DataModelParameters $parameters
    $parameterdictionary.Values
    
  8. เมื่ออัปเดตพารามิเตอร์แล้ว เซิร์ฟเวอร์จะอัปเดตแหล่งข้อมูลใดๆ ที่ผูกไว้กับพารามิเตอร์ กลับไปที่กล่องโต้ตอบ แก้ไขแหล่งข้อมูล คุณควรจะสามารถตั้งค่าข้อมูลประจําตัวสําหรับเซิร์ฟเวอร์และฐานข้อมูลที่อัปเดตได้

    สกรีนช็อตที่แสดง ตั้งค่าข้อมูลประจําตัว สําหรับเซิร์ฟเวอร์และฐานข้อมูลที่อัปเดต

มีคำถามเพิ่มเติมหรือไม่? ลองถามชุมชน Power BI