Power BI is a powerful tool with a rapidly evolving set of features. While it’s great to have more features, it is hard to keep up with the best ways to use them all, and some of the information out there regarding best practices have changed with the new releases. If you are planning on implementing a Power BI project where you work, following these steps will minimize implementation and development issues while saving time. The steps are listed in order needed for creating a new Power BI Project, but if you have a Power BI implementation already, incorporating these steps will provide a more scalable, easy to maintain system over time.
Step 1 – Create a Group Workspace
One person should never own a report. One person cannot be responsible for the reports 100% of the time as they may want to go on vacation or do something other than modify a report right now. The reports should belong to a group of people or accounts within the organization which will give the reports the appropriate status of organizational assets, not personal items. If the group owns the workspace, then the progress on the work any report can be monitored and if one person gets busy another person has the ability to help out. When creating a workspace a group One Drive is also created. The pbix files used by the group should be stored in the group One Drive, which will allow others to edit the report over time. I have seen it take up to 30 minutes for the workspace to be created, which means this step needs to be done in advance of when it is needed.
Using workspaces with Power BI does mean that you will need to have an Office 365 Exchange license for each Power BI user, because they create groups which are technically an Exchange feature, not a Power BI feature. This does not mean that you need to do anything with your current Exchange servers, you just need the license so that you will have the ability to use the group One Drive. If you do not have an exchange license, the group drive will not be accessible to all users. Updates will then consist of replacing the reports and datasets, which can adversely impact the dashboards relying upon them.
Step 2 – Select and Implement a Gateway
Reports are based on data which needs to be updated to reflect what is current. Power BI offers two methods of updating the data the Personal Gateway and the Enterprise Gateway. If you select an Enterprise Gateway, you may not need to create a data model, as you may rely upon one already created in your organization, which is why this step must be completed at the beginning of the project.
If the data required for Power BI requires a data model is going to be created, the type of security used to access the data needs to be determined. While both the Enterprise Gateway and the Personal Gateway can be used to handle data mashups, meaning for example you can combine an Excel file with some data from various SQL Server databases, the difference is in the security model. Enterprise Gateways need to be setup by someone who understands the underlying database security model as and passes the users credentials to the source, inheriting the existing individuals data security. A Personal Gateway will use the security of the person who creates it. A Personal Gateway is generally created based on a data model from a report.
Step 3 – Create a Content Pack
Content Packs can be used to ensure that the data used is coming from the gateway setup in the previous step, and any other reporting standards which you wish to implement are also included. Using the Power BI desktop, create a simple working report using the data refreshed in the gateway created in the previous step. This report may not be anything that you want to release to users, but a report which you can use to test the gateway created earlier to ensure that all of the data connection and refresh issues are resolved prior to spending a lot of time working on a series of complex reports. Load this file to the Power BI Service and use it to create a content pack. By providing a working report model for everyone in the workspace can use as a guide for how to start a report, many issues regarding how to get access to data and multiple sources to the same data can be eliminated. If you have multiple gateways, each should have a content pack. Demonstrate how to use the content pack to the people in the workgroup, and then everyone can create reports where the data will be refreshed.
Follow these Steps, Eliminate Problems
These best practice steps can eliminate many problems which arise when people start working on Power BI visualizations. Going back to my previous post, following these steps addresses the important components of Security and Business Continuity first, before any reports are even created. Addressing these components first can prevent many issues which tend to happen when different models are employed.
Yours Always,
Ginger Grant
Data aficionado et SQL Raconteur
Do you know if it’s possible to create a Power BI workspace using Powershell?
Chris —
Since Power BI workspaces are Exchange groups, I think it might be possible to create them in powershell. Unfortunately I do not know for sure, but I would love to hear back from you if you find out that this is possible.
Regards,
Ginger
Great Post, have you seen any content regarding Enterprise Gateway Best Practices, Governance and Architecture? I have the Power BI Governance doc, but it doesn’t go in depth into architecture, or that matter governance of the enterprise gateway.
Thanks
Mike —
I was talking to someone else about some security model concerns that they were hoping there was more documentation for as the white paper doesn’t address. Unfortunately, I don’t know of any other document which really addresses the topic. Enterprise Gateways have a lot of different configuration possibilities as well, depending upon the data sources used. All this variability makes it rather difficult to create a definitive guide, which is my guess as to why one does not exist. If this changes, I’ll be sure to reference it here.
Regards,
Ginger
Hi Ginger,
I watched your webinar yesterday (http://pragmaticworks.com/Training/Details/Successful-Strategies-for-Creating-Power-BI-Implementation) and was a little confused about some things you mentioned about security. So, I looked at this blog post of yours, and I am still confused 🙂
You write “Enterprise Gateways … passes the users credentials to the source, inheriting the existing individuals data security.” You also mentioned in the webinar that SQL Server 2016 RLS comes into play.
As far as I understand it, that is not true. Only when connecting a live connection to SSAS does the users’ credentials get passed to the source, right? For Import and DirectQuery, the source (SQL Server) only “sees” the credentials of the service account of the Enterprise GW.
Note that I am not trying to be a besserwisser, only making sure I haven’t missed anything important 🙂
Fredrik —
Thank you very much for taking the time to attend my webinar. In answer to your question regarding security and the Enterprise Gateway and SSAS, SSAS employs the EffectiveUserName to implement permissions to data in the model. Those permissions are used when the user accesses the data provided by an enterprise gateway, whether or not DirectQuery is used. For more information, you might find this link to Power BI security helpful.
–Ginger
” ginger
” you might find this link to Power BI security helpful.” The “link” does not seem to work.
Tom —
Thanks so much for the feedback on the missing link on my post. I cannot for the life of me find the quote that you referenced, and am therefor unable to fix it within the blog. Perhaps it was on another one? I am most anxious to fix it, so any assistance in finding the error would be much appreciated.
I can provide you with the best link out there for Power BI Security, as it contains a description plus a detailed whitepaper.
Regards,
Ginger
Ginger, thanks fro the quick reply. the failed link is in your reply to Fredrik, just above my/prior to my comment. The word “link” has no link. Blog post titled: 3 Best Practice Steps for Implementing a Power BI Project