Share on facebook
Share on twitter
Share on linkedin

Automate Update For Power BI

At one of our clients -that was previously using a solution that includes a limited set of the Acterys functionality- we saw that they had licensed a separate update solution that refreshes the underlying Power Pivot model in an Excel workbook that is used in a Power BI report. This is a requirement that can easily be implemented in a few minutes using a Windows PowerShell script in conjunction with the Windows Task Scheduler. In the following steps I describe the process:

Create The PowerShell Script

  1. Open Windows PowerShell
  2. Copy and paste the following code and replace “Yourpath\yourExcelworkbookname.xlsx” with the details of your workbook:
#Set the file path (can be a network location)
$filePath = "Yourpath\yourExcelworkbookname.xlsx"
#Create the Excel Object
$excelObj = New-Object -Com Excel.Application
#Wait for 10 seconds then update the spreadsheet
Start-Sleep -s 10
#Make Excel visible. Set to $false if you want this done in the background
$excelObj.Visible = $true
$excelObj.DisplayAlerts = $false
#Open the workbook
$workBook = $excelObj.Workbooks.Open($filePath)
#Wait for 10 seconds then update the spreadsheet
Start-Sleep -s 10
#Refresh all data in this workbook
Start-Sleep -s 10
#Save any changes done by the refresh
#Uncomment this line if you want Excel to close on its own
$excelObj = $null
write-host "Finished updating the spreadsheet" -foregroundcolor "green"
Start-Sleep -s 5

This script will open the respective workbook run the refresh for the data models, save and close the workbook. This means that if you have a Power BI report that is using this workbook, you can just refresh the Power BI report and will get the updated data.

Need Tailored Reporting, Planning & Analytics Solutions?

Talk to our solution experts now

Book a Meeting

Setup The Update Interval

This process can be scheduled so that it runs completely automatic in a specific interval.

  1. Open Windows Task Scheduler:

Setup The Update Interval

2. Create a new task:

Setup The Update Interval

To configure the interval go to the “Triggers” tab and:

3. Click on new:

Setup The Update Interval

Her you can now:

4. Setup the trigger and specify the update interval. For example, every day at 12:54:

Setup The Update Interval

The final step is to specify what action you want to run. To do this:

5. Go to the “Actions” tab and choose: “Start a program” and point to the location of your script:

Setup The Update Interval

That’s it. This can obviously be configured and refined with all the options that PowerShell gives you respectively be integrated into a standalone app which is available in https://acterys.com/Acterys for an even easier usability and with additional features. Please don’t hesitate to contact us for any further questions.

Want to See How Planning at Hyper Speed Feels Like?

Take Acterys Power BI out for a test drive now!

Start Free Trial