2 Space Banner

Today, we’ll look at Power BI workspaces, apps, and how to keep changes from mucking up reports. In the software development lifecycle, a distinct space to test new reports ensures consistent results. Moreover, it’s part of good governance. This post builds on: How to Get Power BI Service to Work for You. Thanks to Krissy and Nar for prodding me to go further! Around here, we don’t require pre-publication peer review.  But we do learn from each other.

Note: This article requires the use of Power BI Pro, Office 365, and SharePoint Online. It’s ok if SharePoint on premises is your main intranet.

Two Issues with Power BI Workspaces and Apps

First, reports in Power BI workspaces and apps share a single dataset. And this data is updated whenever the workspace is updated. Second, workspaces and their apps have the same access. So, creators can publish reports without review.

1. The Power BI workspace and app share the same dataset.

When the publishing changes to the workspace, the data for the app changes too— even without updating the app. As a result, changes to the data model risk breaking the report. Also, you need to refresh the data before uploading or right after, so that stale data doesn’t replace fresh data.

Shared data in Power BI Service is by design, even if it has unplanned results. It reflects certain assumptions about self-service BI that doesn’t align with the real world. In this ideal, creating a report means applying visualizations to a stable dataset from a data warehouse. Even if you have a data warehouse, you still must refresh the report at the time of updating to avoid stale data. So, I added an item at ideas.powerbi.com to make updates upon changing a report.

2. A second issue is the partial separation of creating from testing.

As designed, the shared dataset does not deliver this separation.  It’s too easy to make changes. If there are few creators and report consumers, this can work. As more people use Power BI, stable processes are a must. See Rob’s Power BI Adoption Curve.

A Two-Space Solution for Power BI Workspaces and Apps

To get the benefits of a testing space, you need a second workspace. If the production space is Contoso Reports, the second space would be Contoso Reports-BETA. Report creators need editing rights on this workspace.  While the workspace is for development, the app of the beta space is for testing. Once changes are ready, publish the app to a group of users for testing.

How to move reports from development to production?

  1. In SharePoint Online, copy the pbix file from BETA to production team sites.
    The report in the Power BI workspace updates automatically if you sourced it using Get Data from the service.
  2. Refresh the report in the service.
  3. When refresh is complete, update the app to republish.
    In this process, there are two manual steps: copying the file and republishing the app. Report creators don’t need access to the production team site or workspace.

What did I miss? 

Dashboards. No way yet to move dashboards between workspaces. In fact, let’s add some steps.

Create a dashboard in the beta workspace, documenting the fields used and any slicers. When updating the report in the beta workspace, testers need to review the dashboard. If the dashboard breaks during development, the creator needs to change the dashboard and keep a list of changes.

After the report is in the production workspace, the publisher needs to pin similar tiles to the production dashboard (and fix any broken tiles before republishing the app).

Let’s look at the process.

Power BI Workspaces, Apps

Better living through syncing.

This chart shows syncing. First, there’s syncing between the PC and the SharePoint Online Team Site. Then, there’s syncing from the team site to the Power BI workspace. This syncing is done with Get Data from the service. Details on setting this up are in the post: How to Get Power BI Service to Work for You. However, moving files from beta to production is manual. And, publishing from Power BI workspaces to apps is also manual. Thus, these steps ensure stable results for report readers.

Wait, is this agile BI? 

Agile is all about flexibility: ways to respond to changes and support individuals and their interactions. So, in my chart, I show report creator and publisher. In a small company, one person may wear both hats. Let me put on my publisher hat to push out this report. In some places, it could be an admin from the business side. In other groups, it could be a Power BI team leader. Similarly, report creators could be business users and/or full-time Power BI developers. Further, testing would mean business users and developers working together to lay out acceptance criteria. After all, “everyone is responsible for quality.” Then, both groups test results at the same time while the report is in beta.

So, this is one way and not the only way to reach the goal. Let me know what you think.

More Resources for Power BI Workspaces, Apps:

Where It’s At:  The Intersection of Biz, Human, and Tech*

We “give away” business-value-creating and escape-the-box-inspiring content like this article in part to show you that we’re not your average “tools” consulting firm. We’re sharp on the toolset for sure, but also on what makes businesses AND human beings “go.”

In three days’ time imagine what we can do for your bottom line. You should seriously consider finding out 🙂

* – unless, of course, you have two turntables and a microphone.  We hear a lot of things are also located there.

  Subscribe to PowerPivotPro!
X

Subscribe

Fred Kaffenberger

A teacher at heart, Fred loves that moment when someone struggling to solve a problem makes a breakthrough. Fred spent six years in client services and sales for an online work order system. After this, he used Excel to help streamline commercial real estate operations for a major telecommunications carrier, where he discovered Power Pivot and Power BI. He was thrilled at how these tools helped him work smarter and more systematically. As an English major, Fred knows that a knack for working with data can surface in surprising places. 

This Post Has 4 Comments

  1. Hi Fred, thank you for your view on this. Two questions:
    1) How would you manage this without Sharepoint?
    2) How do you manage versioning of the reports / pbix ?

    1. Without a system to track versions like SharePoint Online, you could save manual changes with a date in the filename. You would want to keep the report name the same for workspaces and apps.

  2. Great post Fred!

    I’ve found it helpful to use the Vertipaq Analyzer to document Tables, Table Sizes, Measures and Calculated columns when creating versions. Typically, I use a YYYYMMDD date naming convention for the PBIX file (Data Model) and the XLSX file (Vertipaq Analyzer).

    However, for the most part… the Data Model always just evolves forward and I don’t find that I go back to previous versions often.

    I’m curious if any our readers have experienced version challenges. Such as… what if you have a Measure with X definition/business logic in 2017 but the same Measure now, in 2018, has Y definition/business logic. For Reports/Analysis completed in 2017 – that Measure would have represented something different in 2017 versus 2018. i.e.> In 2017 “Sales” includes X but in 2018 “Sales” has been redefined to include Y.

    My thought is that in 2017, the Reports/Analysis was relevant based on the business logic at the time. And moving forward into 2018, the new logic is now relevant and we can always compare historical numbers based on the new business logic. Or another approach could be to maintain a “Sales (2017 Logic)” Measure and a “Sales” Measure using the updated definition/business logic.

    1. Thank you Krissy! I use versions mostly as a safety net in case there are errors that slip past testing. Although in a larger team environment, check in and check out in SharePoint would be useful. Business logic does change, but things like annual reporting can make that problematic in terms of last year you reported X and this year’s report has Y on it, so typically would need some explanation.

Leave a Comment or Question