Power BI Admin APIs to return a list of email subscriptions

Get Dashboard Subscriptions brings back a list of everyone who has subscribed to a dashboard

What is a Power BI Subscription?

Subscriptions are a great way to assign yourself and other users to get emails regarding report content.

There are certain governance rules we follow.

  1. Report viewers views content via an app. We don’t want report viewers coming into the App workspace. we want them to see carefully selected and brought together content.
  2. If we use Subscriptions we want to push though a really nice screen shot of a report that changes and gets the users wanting to come and see more content within that app. therefore we always have a report or dashboard with visuals that don’t need scroll bars to engage the viewer so they want to see more.
  3. because of this, we want to be able to subscribe people to App content

Go to an App. Note you can add your Subscription here which is a link to the dashboard

for this example, the App dashboard is subscribed to

then we go to try it out from the Microsoft API Page

Dashboard Subscriptions

https://docs.microsoft.com/en-gb/rest/api/power-bi/admin/dashboards-get-dashboard-subscriptions-as-admin

and try the API

Add the Dashboard ID to parameters

But this is where logic is not quite working (the hope is that this will resolve fairly quickly). The above API doesn’t give you information back if you subscribe via the app. Only when you subscribe to the actual Dashboard in the workspace.

We want all our report viewers accessing the pre built app so this is where the information is most required.

When the user is added to a dashboard subscription in the workspace. The API is tested again.

What this can show us is anyone in the workspaces that has subscribed to the actual dashboard.  We want all viewers with App access.

Get report Subscriptions as Admin

https://docs.microsoft.com/en-gb/rest/api/power-bi/admin/reports-get-report-subscriptions-as-admin

This is the same as above but with reports

Get user Subscriptions as Admin

https://docs.microsoft.com/en-gb/rest/api/power-bi/admin/users-get-user-subscriptions-as-admin

I get my user ID from Azure Active Directory

And see what I’m subscribed too but again, only workspace content

Logically, I feel like our viewers should be subscribing through the apps

this is really good stuff but I feel like they need to resolve the issue with Apps. Apps are the go to areas for users to view content so this is where we want people to subscribe too.

If you look at the information coming back. Here we can see the artifact type is report but there is no where that mentions if the report is in an App or in the workspace and I feel like this is actually important information. I only know because I have tested against both the App and the workspace.

If this could be resolved these APIs would be really useful to help us understand the subscription uptake.

Power BI Deployment Approaches When Dealing With A Large Scale Organisation

When you start working with Power BI at a smaller scale it can be fairly simple.

  • You can find your data sources
  • Import them into Power BI.
  • Do some work on the data in Power Query Editor.
  • Create some DAX to create measures
  • Add visuals into your report.
  • Publish the Reports and add dashboards.
  • Then Share them to Other Power BI Pro Users (Or free licence Users if you have Premium but at a smaller scale its very doubtful you would have Power BI Premium due to the costs.

However when you are dealing with a larger organisation there are other consideration. the last thing you want is a sprawling confusion on Power BI Reports and Dashboards, shared to anyone within the organisation (And possibly externally if external users have been added as guests)

Some reports will be really useful, others wont be used at all. Workspaces are being created everywhere and no governance is being applied to the entire set up.

This is where we need to start applying some governance and control. The first thing to understand is which Power BI Set up are you using?

If you are still at user Licence level then everyone will be working on Power BI Pro licenses, whether Contributor or consumer.

If your organisation is large, it will probably be working with a Power BI Premium capacity licence. Therefore if Workspaces are published in Premium, anyone with a Free Power BI Licence in your company can access Power BI content as a Reader

Anyone Contributing as a Developer will still need a Power BI Pro License.

There are three main deployment approaches to be aware of in a large scale environment

Business Led Self Service

This is where uses within the business teams lead on their own Power BI content

users create their own Reports, Dashboards and Datasets and add users when they want to share their content.

This is normally done by sharing at the User level

This is a great way of finding out who your Power Users are. They are the ones creating content and asking questions. get these people involved at all levels and you are on your way to a great adoption roadmap.

IT Led Self Service

This is where the BI team (IT) Create the datasets (Including all the DAX) for the business users. These users can then create all the Visualisations and reports over the data set

We can also now separate the data transformations (Dataflows) from the DAX (DataSets) which gives further opportunity to share work.

  • There will only be one owner of the dataflow and data set. The person who created it
  • because this is IT Led the data sets can be promoted (Or certified which is the highest level of attainment)
  • Promotion and certification is great for data discovery.
  • Data sets can be used by users (With Access) and Published to other workspaces
  • Users can also create their own DAX in their own published datasets.
  • Potentially, if this happens, the DAX, when proved useful should be added by the BI team into the original dataset.

At this level, the assumption is that access to the App Workspace and App with the different Power BI roles is managed as Azure AD Group Level

This means that we can centrally keep control of who has access to the App Workspaces and what Power BI roles are assigned

Certified

Only a small group of users should have certification rights, within the Power BI team. certification is the one we should always be working towards and you should have documentation that establishes the route to certification.

This means that you have control and your Small team of Power BI reviewers can check everything over and then change from promoted to certified

Promoted

If you own the data set you can promote it, to establish wider use of the data set. This can be done by BI Team members if IT Led self Service and BI team and Business Users with Pro Development License

Corporate power BI

Everything is created by the BI team centrally and consumed by the business users.

This is a great approach when you have to prioritise work and need to move fast. Its great when your report consumers possibly don’t have the skill sets to set up reports and dashboards.

Its also the best approach to take content that has been created Business led or IT Led and move it centrally, with all the security standards and governance in place. Only using the Corporate approach tends to create bottlenecks for business teams because of the longer set up period. it also disenfranchises

Which Deployment Approach to go for

Its always good to start of with the Corporate deployment Approach for your centralised analytics. Then have proper controls and governance in place to enable IT Led and Business Led deployment approaches

We need to aim for the Blended Approach which is IT Managed Self Service BI

So Ideally, you are looking at blending all three approaches. So long as you understand which approach you have used.

You still want users to get involve and want to create Power BI reports. You also want them to engage enough to want them to become certified and moved into central control when the content has proved important and useable.

Moving into the IT Managed model does involve more work. Imagine there is a self service App Workspace that has proved incredibly popular. Time to congratulate Power Users who pulled everything together and make sure they understand that moving into into Managed BI doesn’t mean they cant continue to work on their ideas and new content. Moving the content involves:

  • Checking that the data sources are good enough to work with.
  • Possibly updating the underlying Data Warehouse or Data Mart.
  • If the data is in excel spreadsheets, or text files, making sure this is managed.
  • There may be a lot of work done within the dataflow on data transformations. Some of this could be moved to the data source, freeing up Power BI resources.
  • To get the data set certified you may need extra involvement from BI team members to review the data set and verify it as acceptable for certification.

An Example Approach in Power BI

We are in an organisation called Adventureworks.

Within this We have various App Workspaces. All so far are Self Service. There has been no control over the process so far and there are three people with power BI Pro licenses (Imagine if this involved more Pro users. Some creating Separate Workspaces. Some reusing Workspaces)

Within these app workspace, users have been creating content, Reports, Dashboards, Datasets and dataflows

  • All three Workspaces have used the same data source
  • Adventureworks contains the most up to date data set and also contains dataflows
  • AT and JL workspaces contain similar information so on the whole there are three fairly identical separate data sets
  • For every workspace, users have been added, rather than user groups
  • Basically, we now have practically the same data source three times in Power BI, when there should only be one.

Bronze Silver and Gold Report template

One approach is to use the Bronze Silver and Gold Approach either via a template or a badge visual you can add to your reports

Bronze if you are doing Business led Self Service

Silver if you are doing IT led Self Service and you are using a dataset to create your own reports

Gold if its been fully checked and managed by the Central BI team. The Data set can be certified to use for Silver projects and all the reports and dashboards have been tested and have been proved as useful to the company.

The Process to entangle what has gone before

There is lots of work to do on the example above.

First of all we need to identify what type of approach have been used. For Jess and Amy, we can say that the Business led Self Service approach has been used. Each report and dashboard can be branded with the Bronze badge for business led.

For the Adventureworks we can again say that the Business led Self Service approach has been used. Dataflows within the service have been created and the data set has been promoted by the person creating the reports and dashboards but it was all done within the business.

In all three cases the user has created all the items for their reports and dashboards. therefore all reports and dashboards can be branded with Bronze.

So far we cant say that we have moved to the IT Managed blended approach, and its clear that users have been added ad hoc without much planning

Step 1. Identify if there is anything in Amy and Jess’s dataflow within Power BI that needs adding to the dataflow within Adventureworks. Then amend check off as complete.

Step 2. Identify any missing DAX Measures or calculated columns. Any identical measures with different names. Any data items that have been renamed between data sets. Any calculated Columns that can be moved into the dataflow. Ensure everything is added to the main dataset in Adventureworks and ensure the users of the other workspaces know what is happening

Step 3. Identify the differences between the reports. Hopefully each person has been working on different areas, but it may be that the reports need bringing together. This will take time. A report should never answer the same question twice.

Step 4. Amend appropriately. At the very least, all three reports should be using the Power BI Dataset that has been promoted as a usable source

Step 5. All these steps have led to a more IT managed deployment so we can add a silver badge to these reports.

Step 6. An extra review to check the dataflow and data sets within the central BI team. Also ensure that we aren’t duplicating work within the reports and dashboards, and this becomes Corporate Power BI, managed centrally. Our power users still have control and the ability to make changes. However everything is now more managed. We can now add a Gold badge to these reports and Certify the data sets

Step 7. Identify the users and the Power BI role levels they should have.

Create Groups within Azure AD for each Power BI Role and assign the users to these groups. This will mean that we are handling the contributors and readers centrally within Azure

I got lots of great help trying to put together an idea in my head. https://community.powerbi.com/t5/Service/Logic-with-dealing-with-Self-Service-and-Corporate-power-BI/m-p/1030137#M93044

Thanks so much to nickyvv from the Power BI Forums and Line Krogh providing some great info on Bronze Silver and Gold templates.

Power BI Apps

Overview

When I first started working with Power BI, Apps were still way off in the future. Therefore when they came in I was a little confused. What are they for? Why do I need to use them?

Before talking about apps its worth having a quick look at the Power BI workspace environment

Workspaces: Personal

Your own personal workspace. You can’t share company level reports from here because you are the only one with access. Use for your own reports. This is available for free

Workspaces: App Workspace

The app workspace was called Group workspace. Group workspaces used to be office 360 workspaces and individuals were invited to the workspace. All with the same access rights.

The app workspace allows for multiple admins. Dashboards and Reports are shared to a wider audience from here. Nothing is affected if there are personnel changes

Apps

Apps – Are a 1 to 1 map to an App workspace and provide end users a read only experience for the particular objects in the workspace that you want them to see. It is the only way to share if you use the Premium license.

But we can already add users into the app workspace or share dashboards or reports. Why do we need to create apps?

Business users often need multiple Power BI dashboards and reports to create real business insight.

If you imagine the scenario without using an app. In Power BI you click on Workspaces and view an App Workspace containing: Sales, HR, Marketing, Opportunity Analysis, Distribution, Production, Finance and Accounting Dashboards and Reports

Managing permissions on each individual dashboard is time consuming with a large number of users. Its also difficult for end user because they have lots of dashboards to navigate.

We need an easier way of deploying sets of dashboards and reports to large audiences.

And from my own point of view. Once I started creating apps for my users, It just looks good. Its a really nice way of sharing your reports.

Using my Adventureworks Demo as an app example

Ive created some reports and I want to publish them to an App Workspace.

First of all I set up the App Workspace in Power BI Service (At the bottom of the workspace left hand menu)

I make it look pretty with a nice logo and a name.

Save the new App workspace. And Ill come back to the sharing later

Then I go back to Power BI Desktop and Publish my reports to my new App Workspace.

Once published I can then go in, create the dashboards in the app workspace and generally make them look good enough to show to my users.

I work with one other person on these reports so I want that person to have access to the Workspace

This is where Access comes in. Click on Access

I’m setting that person up as a contributor. Contributors can “Create, edit, and delete content in the workspace” and “Publish reports to the workspace, delete content.” 

This means that the new Contributor will be able to see the Dashboards and Reports via Shared with me

Now we are both happy we want people to start using the Adventureworks Dashboards and reports, we want to share with our users (Who are external but have Power BI Pro)

Time to Publish your app

There are 3 screens to work through

Setup

Navigation

Permisions

For Permissions simply add all your users and then publish the app

Once published you will get the following message

You can sent the URL to the User and they can download the app. Then the user can see a great age of Published Apps

All sorted and after the initial confusion its fairly straight forward

Power BI Report and Dashboard sharing

Overview

There are many ways of sharing Reports and dashboards. You can add users to an app workspace. You can share dashboards. You can create apps. But what is the most appropriate way to deal with specific situations?

Share a Dashboard

In Power BI Service, go to the Dashboard that needs sharing and click Share dashboard at the top right of the screen.

 Here you can share to users within your organization as well as outside your organization. You can also decide if that person can also share the dashboard (Anyone you share the dashboard with will need Power BI Pro to view the dashboard)

If the dashboard is Shared, the underlying reports are shared also.

The recipient will get an email to tell them. Power BI adds the dashboard or report to their Shared with me List page.

Share a Dashboard

You can also do the same when sharing a report. There is a Share button at Report level

When recipients outside your organization click the link on the email for both dashboards or reports, they do not get the usual dashboard portal. They see the contents in its own browser window. Not the Power BI Portal. They then have to bookmark the link for future access.

Checking who has access to the Dashboard/Report

Simply click on Access to get this information.

People outside your organization are listed as guests

You can click on … to amend their access, like stopping them from resharing or revoking their access rights to the report / dashboard

Adding to the App Workspace

What is an app workspace?

The old workspace created an office 365 group for every workspace but that created a lot of office 365 groups. You could only add individuals to the workspace. You couldn’t add security groups. All members could either be Edit or Read only.

App Workspaces are still in Preview (As at Nov 18) and when you go to Create new app workspace there is a yellow bar saying Try Now for New Improved workspaces.  They work the same as the old workspace but adding users is different. Individuals, Mail enabled security groups, Office 365 groups can be added.

Each individual gets options for access privileges rather than everyone in the group having the same.

Apps can be published to the App workspace (1 app per app workspace) and replace content packs

Apps are 1 to 1 relationships with workspaces. You can share many different reports and dashboards at one time from the workspace, this is also well used and will be looked at in another how to guide

Old workspaces are going to be obsolete at some point in the future so its worth moving everything to the new App workspaces now.

Admin Can change and delete workspaces Can add other admins Everything a member can do
Member Reshare Publish and Update Apps Everything a contributor can do
Contributor Add/edit/delete content within the workspace Everything a viewer can do
Viewer View Content within the workspace Replaces read only workspaces

Adding new Members to old Workspaces

In the Workspace, Click on … And Choose Members

This takes you into Office 365 where you can  see all the members of the App workspace and invite other people to the group

New Workspace App Set up

This is now out of Preview.  If you were setting up the old way (By reverting to classic) you could start by adding individuals here. Once set up you could add uses as above (Adding new Members to old Workspaces)

Note that here you can Upload an image for the workspace. Add a name and description but users can’t be added here.

Instead of being taken into 365 you see the Welcome to screen.

For this example, go back to Desktop and Publish Report(s) to the new workspace. Re-click on the new Workspace and you can now see the following

New Workspaces preview lets you know you are in a Workspace App rather than a Workspace

To add users you can click on   Access  at the top of the screen.

Or click on Workspace Access by going to the workspace within Workspaces and clicking …

You can now add individuals, Office 365 groups or Mail Enabled security Groups (Rather than just individuals)

Please remember, If the user is outside your organization, Share the dashboard via the app. Don’t add them to the App workspace

Share or add?

The different ways (above) are designed to give you flexibility.

In general, users should only be directly added to the workspace if they are report authors. End users who are just consuming reports should have them shared so that they show up in the “Shared with Me” section, or as an App.

When you share a dashboard, user can only view the dashboard and related report(you can also let them re-share the dashboard),

When you add users to an app workspace(or new app workspace), you can give them permissions to edit the report so that they can work with you.

Update the App.

You can work on reports in the App Workspace with other members of your team.

Then when you are happy and want to show to Users you can go back to the Workspace and Update App

Design a site like this with WordPress.com
Get started