<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Refresh power bi report from SSIS in Report Server</title>
    <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1806173#M19030</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if you already created a refresh plan, then you can do this:&lt;BR /&gt;First, create a package parameter. Then create a package and insert a execute sql task. Execute this statement:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;  exec [pbiReportServer].dbo.AddEvent @EventType='DataModelRefresh', @EventData=?&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In parameter mapping map your package paramete and deploy.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now you can add this package to all your jobs. Simply put your subscription ID in the parameter and execute.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you need the ID, heres a SQL script to get it:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;SELECT [SubscriptionID]
	,c.Name AS ReportName
FROM [dbo].[ReportSchedule] r
LEFT JOIN [dbo].[Catalog] c ON r.ReportID = c.ItemID
WHERE c.Name = 'YOUR REPORTNAME'&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 26 Apr 2021 13:41:23 GMT</pubDate>
    <dc:creator>whereismydata</dc:creator>
    <dc:date>2021-04-26T13:41:23Z</dc:date>
    <item>
      <title>Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1793665#M18951</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are working with Power BI Server (on-prem). For this particular report, we are importing data into the pbix file.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Our ETL is done with SSIS. What we want is the Power Bi Report to be refreshed only when ETL completes successfully.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In other words, we would like SSIS to trigger the Power BI report refresh. Has anybody done it?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for any help with this.&lt;/P&gt;&lt;P&gt;Roque&lt;/P&gt;</description>
      <pubDate>Mon, 19 Apr 2021 22:58:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1793665#M18951</guid>
      <dc:creator>rdaudt2021</dc:creator>
      <dc:date>2021-04-19T22:58:04Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1801619#M18989</link>
      <description>&lt;P&gt;Still looking forward to hear the community's experience with report's refresh triggered by SSIS.&lt;/P&gt;&lt;P&gt;In the meantime, we are playing with the fact that a refresh schedule in Power BI Report Server is implemented by a schedule job in sql server. Based on this, what we have designed so far is as follows:&lt;/P&gt;&lt;P&gt;- in Power BI server, create a scheduled refresh&lt;/P&gt;&lt;P&gt;- find the job in SQL Server, rename it and remove the schedule&lt;/P&gt;&lt;P&gt;- at the end of the ETL job in SSIS, configure a Execute SQL Server Agent Job Task that calls the job renamed above.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Apr 2021 03:32:53 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1801619#M18989</guid>
      <dc:creator>rdaudt2021</dc:creator>
      <dc:date>2021-04-23T03:32:53Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1801741#M18990</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One option is to use execute a PowerShell script in SSIS.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Credit to Cataster on stackoverflow:&amp;nbsp;&lt;A href="https://stackoverflow.com/questions/57791650/how-to-refresh-a-powerbi-report" target="_blank"&gt;powershell - How to refresh a PowerBI Report? - Stack Overflow&lt;/A&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;# Retrieve the scheduled refresh data for a specific report and set it to a variable to get the Id value
$refreshplan = Invoke-RestMethod -UseDefaultCredentials &amp;lt;# -Credential $creds #&amp;gt; -uri "[ReportServerURL]/reports/api/v2.0/PowerBIReports(path='[REPORTPATH]')/CacheRefreshPlans" 

# This is how you can reference the Id value in the results from above
$refreshplan.value.Id
$refreshplan.value.LastRunTime
$refreshplan.value.LastStatus

# Using the above Id value, create the URI string to run the Model.Execute method
try {
    $refreshuri = "[ReportServerURL]/reports/api/v2.0/CacheRefreshPlans(" + $refreshplan.value.Id + ")/Model.Execute"
}
catch {$error[0]}

# Invoke the Model.Execute method to start the scheduled refresh for the PBIX report
Invoke-RestMethod -UseDefaultCredentials &amp;lt;# -Credential $creds #&amp;gt; -method POST -uri $refreshuri -verbose

# To check on the scheduled refresh status, you can update the data in $refreshplan by running the CacheRefreshPlans again
$refreshplan = Invoke-RestMethod -UseDefaultCredentials &amp;lt;# -Credential $creds #&amp;gt; -uri "[ReportServerURL]/api/v2.0/PowerBIReports(path='[REPORTPATH]')/CacheRefreshPlans"

# Get the LastRuntime and LastStatus values to check the status
$refreshplan.value.LastRunTime
$refreshplan.value.LastStatus&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards Taico&lt;/P&gt;</description>
      <pubDate>Fri, 23 Apr 2021 06:18:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1801741#M18990</guid>
      <dc:creator>ForcaTaico</dc:creator>
      <dc:date>2021-04-23T06:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1806173#M19030</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if you already created a refresh plan, then you can do this:&lt;BR /&gt;First, create a package parameter. Then create a package and insert a execute sql task. Execute this statement:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;  exec [pbiReportServer].dbo.AddEvent @EventType='DataModelRefresh', @EventData=?&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In parameter mapping map your package paramete and deploy.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now you can add this package to all your jobs. Simply put your subscription ID in the parameter and execute.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you need the ID, heres a SQL script to get it:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;SELECT [SubscriptionID]
	,c.Name AS ReportName
FROM [dbo].[ReportSchedule] r
LEFT JOIN [dbo].[Catalog] c ON r.ReportID = c.ItemID
WHERE c.Name = 'YOUR REPORTNAME'&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Apr 2021 13:41:23 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1806173#M19030</guid>
      <dc:creator>whereismydata</dc:creator>
      <dc:date>2021-04-26T13:41:23Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1807263#M19039</link>
      <description>&lt;P&gt;Perfect. That's the approach that we will take. Any concern about updates to the PBIX file? Say, if we add a new visual and republish it to Power BI Server, will the same db task still work, refresh the new version of the pbix?&lt;/P&gt;</description>
      <pubDate>Mon, 26 Apr 2021 23:12:19 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1807263#M19039</guid>
      <dc:creator>rdaudt2021</dc:creator>
      <dc:date>2021-04-26T23:12:19Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1808207#M19050</link>
      <description>&lt;P&gt;Hi, as long as the refresh plan stays the same, there should be no issue. I update my reports regularly and never ran into an issue.&lt;/P&gt;</description>
      <pubDate>Tue, 27 Apr 2021 08:24:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/1808207#M19050</guid>
      <dc:creator>whereismydata</dc:creator>
      <dc:date>2021-04-27T08:24:26Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/3357515#M30712</link>
      <description>&lt;P&gt;Hello , Would you mind to share how to use this script? Step by step in SSIS ?&lt;/P&gt;</description>
      <pubDate>Mon, 31 Jul 2023 08:44:56 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/3357515#M30712</guid>
      <dc:creator>kucluk_ok</dc:creator>
      <dc:date>2023-07-31T08:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh power bi report from SSIS</title>
      <link>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/3359695#M30725</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="528456" data-lia-user-login="kucluk_ok" class="lia-mention lia-mention-user"&gt;kucluk_ok&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;EDIT: Before this works. You must have a refresh plan on the report.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I don't have one at hand. I switched to using a 'Windows Tasks' calling the PowerShell script below.&lt;BR /&gt;&lt;BR /&gt;See this guide&amp;nbsp;&lt;A href="https://o365reports.com/2019/08/02/schedule-powershell-script-task-scheduler/" target="_blank" rel="noopener"&gt;How to Schedule PowerShell Script Using Task Scheduler (o365reports.com)&lt;/A&gt;&lt;BR /&gt;But it could also be a SSIS job (search after PowerShell script in SSIS) or SQL agent job.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;PowerShell script:&lt;/P&gt;&lt;P&gt;$path_array =&lt;BR /&gt;"report_path1",&lt;BR /&gt;"report_path2",&lt;BR /&gt;...&lt;BR /&gt;"report_pathx"&lt;/P&gt;&lt;P&gt;foreach ($path in $path_array)&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;$uri = "[InsertURL]/reports/api/v2.0/PowerBIReports(path='" + $path + "')/CacheRefreshPlans"&lt;BR /&gt;$refreshplan = Invoke-RestMethod -UseDefaultCredentials &amp;lt;# -Credential $creds #&amp;gt; -uri $uri&lt;/P&gt;&lt;P&gt;try {&lt;BR /&gt;$refreshuri = "[InsertURL]/reports/api/v2.0/CacheRefreshPlans(" + $refreshplan.value.Id + ")/Model.Execute"&lt;BR /&gt;}&lt;BR /&gt;catch {$error[0]}&lt;BR /&gt;Invoke-RestMethod -UseDefaultCredentials &amp;lt;# -Credential $creds #&amp;gt; -method POST -uri $refreshuri -verbose&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Hope it helps. Regards Taico&lt;/P&gt;</description>
      <pubDate>Tue, 01 Aug 2023 12:17:02 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Report-Server/Refresh-power-bi-report-from-SSIS/m-p/3359695#M30725</guid>
      <dc:creator>ForcaTaico</dc:creator>
      <dc:date>2023-08-01T12:17:02Z</dc:date>
    </item>
  </channel>
</rss>

