แชร์ผ่าน


เปลี่ยนสายอักขระการเชื่อมต่อแหล่งข้อมูลในรายงาน 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 ใหม่

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

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

    Connect to the SQL Server database

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

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

    Select Manage Parameters

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

    Manage Parameters, set servername and databasename.

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

    Map the Server and Database name

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

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

    The data source management page.

อัปเดตพารามิเตอร์โดยใช้เครื่องมือ 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. ด้วยค่าที่อัปเดตเราสามารถใช้ commandlet Set-RsRestItemDataModelParameters เพื่ออัปเดตค่าในเซิร์ฟเวอร์:

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

    Set credentials for the updated server and database.

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