Author: james bartlett

  • Power BI Hack: Download Report Authored in Browser as PBIX

    Power BI Hack: Download Report Authored in Browser as PBIX

    The Problem

    Most of you have probably run into a situation where someone in your organization has authored a report in the Power BI web service, and now they want to make changes that can only be done with Power BI Desktop. So, you try to download the PBIX file from the Power BI web service, only to discover that you can’t, because if it wasn’t created as a PBIX, it can’t be downloaded as a PBIX. Infuriating!

    :rage:

    The Solution (sorta…)

    There’s actually a way to get around this problem. If you publish a blank PBIX file to the Power BI web service, you can copy the contents of the report that was originally authored in the browser into that blank report. And since that report was originally a PBIX file, you can download that instead!

    Unfortunately, the only way to do this right now is to use the Power BI REST API and hit the Update Report Content In Group endpoint, and this process is just about as straightforward as Lombard Avenue in San Francisco. (Actually, probably even less so.)

    File:Lombard Street SFA.jpg - Wikimedia Commons
    Lombard Avenue in San Francisco: Famously bendy, but still more straightforward than manually hitting Power BI APIs.

    PowerShell to the Rescue!

    :powershell:
    Hooray for PowerShell!

    So, I wrote a PowerShell function to simplify and streamline this process, and its only prerequisite is the MicrosoftPowerBIMgmt.Profile module for PowerShell. Just run the script file (linked below) in your PowerShell terminal, and then call the Copy-PowerBIReportContentToBlankPBIXFile function directly from that same window. The expected parameters are:

    • sourceReportId: The ID of the report to copy from
    • sourceWorkspaceId: The ID of the workspace to copy from
    • targetReportId: The ID of the report to copy to
    • targetWorkspaceId: The ID of the workspace to copy to (this one is optional – if you leave it blank, the function will assume both source and target are in the same workspace)

    Download the Copy-PowerBIReportContentToBlankPBIXFile.ps1 PowerShell script file here.

    As always, feedback and suggestions are 100% welcome and encouraged. 

    :sunglasses:

    Cheers!

    ~ James


    Acknowledgements:
    This PS function was inspired by a blog article written by one of the top minds in the Power BI space, Mathias Thierbach. Check out his article here. And if you’re not already using his pbi-tools for Power BI version control, you should check that out too.

    If you like the content from PowerBI.Tips, please follow us on all the social outlets. Stay up to date on all the latest features and free tutorials.  Subscribe to our YouTube Channel.  Or follow us on the social channels, Twitter and LinkedIn, where we post all the announcements for new tutorials and content.

    Introducing our PowerBI.tips SWAG store! Check out all the fun PowerBI.tips clothing and products:

    Hasta La Vista Data
    Go Ahead Make My Data
    PBIX Hat


  • Business Ops 3.0.2: Updated External Tools

    Business Ops 3.0.2: Updated External Tools

    Howdy folks, and Happy New Year!

    We’ve just released Business Ops 3.0.2, which contains long-awaited updates for the following External Tools:

    Thank you for your patience with the timing of this release. We hope you enjoy it!

    – James

    Download the latest version of Business Ops now!

    About

    The Business Ops tool is designed to simplify your Development Experience with Power BI Desktop. There are a lot of challenges remembering where all the best power bi external tools are stored.  Many MVPs contribute amazing projects to make your development experience better.  The installer is intended to streamline and increase your efficiency when working in Power BI. Download this installer and you can add all the best External Tools directly into Power BI Desktop. Our release includes all the best External tools for Power BI Desktop. This will enable you to have a one stop shop for all the latest versions of External Tools.

    If you like the content from PowerBI.Tips, please follow us on all the social outlets. Stay up to date on all the latest features and free tutorials.  Subscribe to our YouTube Channel.  Or follow us on the social channels, Twitter and LinkedIn, where we post all the announcements for new tutorials and content.

    Introducing our PowerBI.tips SWAG store! Check out all the fun PowerBI.tips clothing and products:

    Hasta La Vista Data
    Go Ahead Make My Data
    PBIX Hat


  • Business Ops: New and Updated External Tools

    Business Ops: New and Updated External Tools

    Howdy, folks!

    This past weekend, I was a man on a mission. There were two pressing reasons for a new release of Business Ops:

    1. The authors of many popular External Tools released updates recently, so we needed to ship a new version of Business Ops with those updates included
    2. Last week, Michael Kovalsky (ElegantBI.com) released a brand new External Tool called Report Analyzer (which we can already tell will be an instant classic), so we wanted to get it out there and into the hands of report developers ASAP

    So, I toiled away most of the day on Sunday, cramming as much value as I could into the next version. And along the way, I learned some important new software development skills, including how to:

    • Extract the contents of an MSI installer file
    • Encode an image in base64
    • Roll back your latest commits when you accidentally push to Main instead of a Dev branch (sorry, Mike! ?)

    TL;DR: Here’s the skinny on Business Ops 2.0.3

    New External Tool:

    Updated External Tools:

    Click here to download Business Ops 2.0.3

    Have a great week, everyone!

    James

    If you like the content from PowerBI.Tips, please follow us on all the social outlets. Stay up to date on all the latest features and free tutorials.  Subscribe to our YouTube Channel.  Or follow us on the social channels, Twitter and LinkedIn, where we post all the announcements for new tutorials and content.

    Introducing our PowerBI.tips SWAG store! Check out all the fun PowerBI.tips clothing and products:

    Hasta La Vista Data
    Go Ahead Make My Data
    PBIX Hat


  • Business Ops Update: Bugfix

    Business Ops Update: Bugfix

    Howdy folks!

    We have just published a bugfix release for Business Ops; Version 2.0.2 is now available for download. Please see the instructions below for details.

    Instructions

    If you have installed Business Ops 2.0 or 2.0.1, you should use the “Edit External Tools” menu to remove the External Tools you have installed, then close and uninstall Business Ops.

    Then, just download and install the latest version of Business Ops, and reinstall your favorite External Tools. That’s it!

    What Happened?

    In previous versions of Business Ops, its installation path was C:\Users\<Username>\AppData\Local\Programs\pbi-tips-business-ops\, which could be accessed by any process running on the machine. This struck us as somewhat insecure, so we decided to beef up the security. When we released Business Ops 2.0, we changed the installation path to C:\Program Files\PowerBI.tips Business Ops\, which requires elevated permissions to modify any files inside. This change increased the security of Business Ops, but those of you who are familiar with how file paths work can probably guess how it also had some other, unintended consequences. For those who aren’t, here’s what happened:

    The installation path in previous versions did not have any spaces in it, and everything was working fine. But when we changed the installation path to one that includes spaces, several of the included External Tools in Business Ops stopped working. This wasn’t immediately obvious because it only affected the handful of External Tools which launch a PowerShell script by calling its absolute path. Once we identified the cause of the issue, the fix was pretty straightforward, and we got everything working again.

    Thanks for reading!

    James

    If you like the content from PowerBI.Tips please follow us on all the social outlets. Stay up to date on all the latest features and free tutorials.  Subscribe to our YouTube Channel.  Or follow us on the social channels, Twitter and LinkedIn where we will post all the announcements for new tutorials and content.

    Introducing our PowerBI.tips SWAG store. Check out all the fun PowerBI.tips clothing and products:

    Check out the new Merch!

    Hasta La Vista Data
    Go Ahead Make My Data
    PBIX Hat
  • Three New Time-Saving Scripts for Tabular Editor

    Three New Time-Saving Scripts for Tabular Editor

    Howdy folks!

    I just published three new scripts for Tabular Editor to the PowerBI.tips “TabularEditor-Scripts” repository on GitHub yesterday. So, I wanted to take a moment to explain what they do, and why you should have them in your Tabular Editor Scripts arsenal.

    1. Replace String Across All Power Queries
      • Replaces a string in Power Query on all partitions in the model
      • Useful for automating updates to connection strings, filter conditions, etc.
    2. Replace Dataset Source Dataflow IDs
      • Replaces the source DataflowID & WorkspaceID on all Power Query partitions in the model
      • Similar to the previous script, this one is specialized for automatically replacing old DataflowID and WorkspaceID references in Power Query with new ones. Helpful in situations where you need to re-deploy an existing Dataflow and Dataset to a new workspace, and then re-link the new Dataset to the new Dataflow
    3. Exclude Selected Tables From Model Refresh
      • Excludes the selected tables from model refresh
      • Useful for quickly excluding specific tables from the model refresh, which you may need to do for any number of reasons, including troubleshooting, performance, etc.

    This repo has lots of other useful Tabular Editor Scripts, and we add more every day, so check it out! Also, if you have some handy scripts of your own, you can Fork the repo and submit a Pull Request. Then, we will add your scripts to the collection.

    Happy scripting, everyone!

    James

    If you like the content from PowerBI.Tips, please follow us on all the social outlets. Stay up to date on all the latest features and free tutorials.  Subscribe to our YouTube Channel.  Or follow us on the social channels, Twitter and LinkedIn, where we post all the announcements for new tutorials and content.

    Introducing our PowerBI.tips SWAG store! Check out all the fun PowerBI.tips clothing and products:

    Hasta La Vista Data
    Go Ahead Make My Data
    PBIX Hat



  • Copy Power BI Desktop Server:Port Connection String to Clipboard

    Copy Power BI Desktop Server:Port Connection String to Clipboard

    Howdy, folks!

    A few months ago, I was writing and running various PowerShell scripts to manipulate the connected data models in my Power BI Desktop files. During model development, I was constantly having to open DAX Studio to copy the Server:Port connection string, and thinking, “there’s got to be a faster way to do this.”

    So, I developed and released a simple External Tool for Power BI Desktop, which copies the Server:Port connection string for the currently-connected data model directly to the clipboard.

    I’m a strong believer in modular design, so when I build something, I try to make it do one thing, and do it well. I believe this External Tool for Power BI Desktop is a great example of that philosophy in action.

    This external tool is now in the Business Ops tool from PowerBI.tips.

    Enjoy!

    James

    If you like the content from PowerBI.Tips please follow us on all the social outlets. Stay up to date on all the latest features and free tutorials.  Subscribe to our YouTube Channel.  Or follow us on the social channels, Twitter and LinkedIn where we will post all the announcements for new tutorials and content.

    Introducing our PowerBI.tips SWAG store. Check out all the fun PowerBI.tips clothing and products:

    Check out the new Merch!

    Hasta La Vista Data
    Go Ahead Make My Data
    PBIX Hat


  • Power BI Version Control – Ready to use solution

    Power BI Version Control – Ready to use solution

    Power BI Version Control is a free, fully-packaged solution that lets users apply version control, local editing, and manage PBIX or PBIT files. The solution runs entirely on Power Apps (Power Platform) and SharePoint. Power BI Version Control can give business users or smaller organizations the ability to easily implement and utilize version control for their Power BI projects.

    Note: updating the app version will require you to re-import the SharePoint connection and folders.


    DOWNLOAD HERE

    The latest version is 2.0.1


    In this Article


    What is Power BI Version Control?

    In most version control systems, branching is a method to make edits to code in a safe and reliable way. Typically, users “branch”, or copy, the code to their local machine to make edits. They can then “merge” the code back to the master code, adding comments of what has changed and who changed it. Each change is saved as a different version, with the ability to go back to any version. Small, frequent changes are helpful, making it easy to undo any errors. This type of version control requires that every file be saved in a plain text format, so the differences between two versions of the same file can be easily identified, cherry-picked, merged, etc.

    However, unlike pure source code, Power BI reports are packaged into PBIX or PBIT files, which cannot be compared against each other in the way we just described. This makes it much harder for multiple users to work on the same set of files simultaneously. While it is possible to use Azure DevOps, GitHub, etc. as a version control solution for Power BI reports, it’s difficult to setup and use (especially for non-technical business users). The Power BI Version Control solution bridges that gap by harnessing SharePoint’s built-in file versioning and the user-friendly UI/UX of Power Apps.


    Why use Power BI Version Control?

    Single shared location for reports (no emailing files!)​

    Keeping all of your Power BI report files in SharePoint means that you’ll always know where to find them, and that they’ll always be the latest versions of those files.

    Keep all versions of the report (no adding numbers to file names!)​

    We often want to keep files from the past in case we need to roll back changes. Instead of adding version numbers or initials to the file names (like Sales_Report_v2.5_Final(1)(1).pbix), SharePoint will keep all versions of your report files automatically. Additionally, by using this Power BI version control method, it is possible to roll back to any of these versions whenever needed.

    Ability to check out files exclusively, like a library – only one person can make changes at a time

    When working in teams, you may have multiple people working on a project (see this post on Power BI team members). If you have more than one person who may edit a file, we want to make sure they are not trying to do it at the same time. Power BI Version Control ensures that only one person can check out any given file at once. As a result, nobody else can make edits to a file that you are working on. No more conflicts or working on outdated versions of files!

    Ability to check-in files – add comments describing changes made since the last check-in

    ​After making edits, we want to be able to keep comments about what was changed. With each version we are able to add a description of what has changed since the last version.

    Work locally – make all changes on copies, so we do not edit our files directly

    Another important benefit of Power BI Version Control is that we always work on copies of our reports. We can save and experiment as we work on the files, knowing that we will not accidentally damage a live report. We do all work locally on our machine and separate to our production or live reports. If needed, we can discard all changes and start again.


    How to use Power BI Version Control

    Power BI Version Control – Installation Instructions (YouTube)

    Installing the App

    • Download the Power BI Version Control app solution file (from the link near the top of this page)
    • Navigate to https://make.powerapps.com/
    • Ensure the correct environment is selected
    • On the left menu bar, navigate to Solutions
    • Select Import on the top menu bar
    • Select browse and chose the PowerBIVersionControl_2_0_1.zip file you just downloaded
    • Click Next and Next again until you reach the Connections screen
    • If you have existing SharePoint connections you wish to use (recommended), you can select them from the drop-down list. If not:
      • select + New Connection.
      • Select how to connect (usually recommended to Connect Directly)
      • In the new page that opens, click create and sign in if prompted
      • Once created, you can close the current tab and navigate back to the import screen
      • Click refresh then select the new connection from the drop-down list
    • Click Import. This step may take a few minutes to complete

    Configuring the App

    • Navigate to https://make.powerapps.com/
    • Ensure the correct environment is selected
    • On the left menu bar, navigate to Solutions
    • In the list of Solutions, find Power BI Version Control
    • Click the ellipsis and select edit
    • The app will now open in edit mode
    • Add the SharePoint folder by following the following steps:
      1. Open the data sources tab
      2. Select Add data
      3. Type “SharePoint” in the search bar
      4. Select SharePoint (note: be careful not to select “SharePoint Sites”)
      5. Choose the SharePoint connection you selected earlier
      6. In the pane that opens, enter the URL of the SharePoint site. This should be in the format:
        https://DOMAIN.sharepoint.com/sites/SITENAME
      7. Click Connect
      8. Choose the correct Document Library and click Connect
    • Select the tree view and navigate to the Settings Screen
    • Fix any red X marks on the page by updating the settings to match your folder structure (as described in the next section). If you used the default folder and document library names you should not need to update any settings

    Setting the connections

    • There are four numbered blue boxes that may require updating. If you see any red X marks next to any of the following boxes, click on that box and update the required property.

    1.

    Click this box and make sure Items is selected. Update the text to match the document library name (this is also the name of the data source you imported earlier). Use the IntelliSense (auto-complete) to ensure the correct value is selected. The text should turn green when correct, and the red X should disappear.

    2.

    Click this box and make sure OnSelect is selected. The formula should read Refresh(‘[Your Document Library]’). Update the text to match the document library name (this is also the name of the data source you imported earlier). Use the IntelliSense so ensure the correct value is selected. The text should turn green when correct, and the red X should disappear.

    3.

    Click this blue box (not the label) and make sure Text is selected. Update this to the checked out folder name, surrounded by double quotation marks.

    Note: if you add a forward slash to the end of the folder name, this will add all checked out folders to the same folder. Otherwise, a sub-folder will be created for each user based on their user ID.

    4.

    Click this blue box (not the label) and make sure Text is selected. Update this to the published reports folder name, surrounded by double quotation marks (e.g. “Published Reports”).

    • Check that there are no red X marks. A red error message will also show at the bottom of the screen if there were any errors in setup. Resolve all errors before publishing.
    • Click File then Save
    • After the app has saved, click Publish to ensure all changes are deployed

    Using the App

    Power BI Version Control – User Instructions (YouTube)

    We recommend embedding the Power BI Version Control app in a Teams channel. Additionally, the SharePoint site can be added to the Files section in Teams. This will allow all appropriate members to access the Power BI Version Control app and report files in one place.

    Check Out

    • Open the Power BI Version Control app 
    • Click the Check Reports Out button on the Home Screen 
    • The Check Out Screen will list all PBIX and PBIT files in the Published Reports folder. Select the reports you wish to modify in the Check Out Reports column. You will only be able to check out reports that are not already checked out
    • Click Check Out Reports button
    • Wait a few moments for the reports to process. It may take longer if using large files

    Editing the files

    • Navigate to the OneDrive folder on your local machine. The selected reports will appear in the synced folder Checked Out Reports (or sub-folder)
    • You can now open and edit these files. If using live connections, consider using the Hot Swap Connections Tool
    • If you want to save copies, you can do so in a sub-folder or elsewhere on your local machine. Avoid this when possible. We recommended to make small and frequent updates / check-ins
    • When ready, make sure only the files that are ready for check-in are saved in Checked Out Reports (or sub-folder). Make sure the names of files have not been altered
    • If you manually publish reports, publish immediately before closing and checking in

    Check In

    Once edits are done, Check In the reports from the Checked Out Reports folder to the Published Reports folder. Alternatively, you may wish to discard your work. As a result, this will release the file and ignore any changes you have made. Next, it will delete the file from the Checked Out Reports folder.

    Commit changes:
    • Open the Power BI Version Control app 
    • Click the Check Reports Out button on the Home Screen 
    • This will list all PBIX and PBIT files in the Checked Out Reports folder. Select the reports you wish to Check In in the Check Out Reports column. You will only be able to check in reports that are checked out to you
    • Make sure to add comments. Include details on changes you made. If using Azure DevOps, Planner, or some other project management tool, include the relevant ticket/task number(s) in your comments whenever possible
    • Click the Check in reports button
    Discard changes:
    • Navigate to the Check In page by the button on the main page
    • This will list all PBIX and PBIT files in the Checked Out Reports folder. Next, select the reports with changes that you wish to discard in the Discard Report column. You will only be able to discard reports that are checked out to you
    • Confirm Discard

    Helpful Tips

    Also included in the app is a flow called Initial Step: Create Power BI Reports Library with Folders.

    • Open the flow and select Run
    • Paste in your SharePoint site where you wish to create the folders, site e.g. https://powerbitips.sharepoint.com/sites/powerbi

    Running this will automatically create a library and folders in your desired site. It will use default names, which means you will not need to configure the app in the settings page after connecting to the data source.

    Sync Folders

    You should sync the Checked Out Reports (or sub-folder) that was created to your local machine’s OneDrive, allowing for local edits. If using sub-folders, you must check out a file once to create the folder.

    Ensure to sync only the Checked Out Reports folder (or sub-folder).

    You can sync either through SharePoint or through Microsoft Teams.

    From SharePoint:
    • Navigate to the correct SharePoint site
    • Select Documents and navigate to the Checked Out Reports (or sub-folder)
    • In the toolbar, select Sync
    From Teams:
    • Open the Teams channel
    • In the toolbar, select Files and navigate to the Checked Out Reports (or sub-folder)
    • Select Sync

    You can also add the files to an existing team by selecting Add Cloud Storage.
    Note: See more info on syncing here.

    You can now access the files in this directory from the local machine.


    Limitations and Scope

    Known issues:

    The app will fail if the internal SharePoint name and the Display name do not match. This happens when a SharePoint site is created, and the display name is manually changed later. We are working on a patch for this.

    If you have a very large number of reports, the app may not display all of them. We are working on a patch for this.

    Design:

    This solution is designed to handle thin report files, and not large models. The solution will copy and publish to one single folder, and is not intended to manage environments (e.g. dev / test / prod). It should be connected to a Development environment, we recommend using Power BI Deployment Pipelines to deploy reports from Dev to Test, and from Test to Prod.

    The Power BI Version Control app solution performs these main tasks:

    • Check out and lock editing to a single user
    • Copy files to a local synced folder for safe editing
    • Keep version history and enforce developer comments on each check-in

    If you like the content from PowerBI.Tips please follow us on all the social outlets. Stay up to date on all the latest features and free tutorials.  Subscribe to our YouTube Channel.  Or follow us on the social channels, Twitter and LinkedIn where we will post all the announcements for new tutorials and content.

    Introducing our PowerBI.tips SWAG store. Check out all the fun PowerBI.tips clothing and products:

    Check out the new Merch!

    Hasta La Vista Data
    Go Ahead Make My Data
    PBIX Hat