Future Proofing Power BI design alignment


I was a Data Engineer for a consulting company supporting a primary client’s sales team, with persons around the world, responsible with their data and reporting. A couple of times my team had to go find each of our Power BI Reports to make a change to keep them standardized. For example, legal makes a change to their notice statement located in the footer section. Or, the design team updates their acceptable logo (image). Another opportunity with this is to compose a standard message to all reports using the template.  This wouldn’t be an issue if we had 10 reports and a dashboard or 2 that are all centrally located. But with 70+ reports on Power BI Cloud, plus putting out a message to superusers who have created their own local reports based off of our templates (which we encouraged), this can be a huge undertaking.

There are probably many great solutions to this issue. But for most examples and descriptions, I don’t find centralizing the artifacts, that make up the design of reports, a concept that is used consistently. So this article is intended to show how I centralize many of those pieces. Once put together, a change in a single artifact will be distributed to all of the reports – keeping the reports consistent and in line with the companies’ ongoing expectations.

Some considerations before we start creating:

Who – Who should have access to the artifacts? (presumably all users of the reports)

What – Templates artifacts should include logos and standard images, legal statements, links to legal statement details, company name, json theme, standard functional layout templates, company messages*, etc…

Where – Where should the artifacts and templates be located? (consider firewall access, security, modularity, etc…)

When – When the developers are creating reports, will the templates and/or artifacts be available?

How – How will/should developers use the artifacts? How will you train them on using the centralized artifacts?

Why – Developers will ask WHY they should use the centralized artifacts and template… do you have clear answers for them?

When starting a new project I have a couple of steps I start with before ingesting any data:

  • On a drive that all types of report viewers have access to
    • Create a read only folder (I usually call it [Artifacts])
    • Place your company theme .json file there
      • If your marketing department doesn’t already have a theme file, you can create one at

https://themes.powerbi.tips/themes
Or Just customize your own theme within PBI Desktop on Design †> Customize Theme

  • I also create a subfolder (inheriting read only status) generally called [Images]
    • I then copy versions of the companies’ logo, and other standard images, for report developers to use in the reporting.
      • Some considerations:
        • Image should be sized appropriately
        • Image types should be in jpg, png or svg (svg needs some additional service to make these work in Power BI – I will do a specific future article on this)
  • Additionally, I create an excel (or csv) file that includes company wide information (note: I also usually make a report specific file that has specific information that stakeholders or superusers can edit).  I usually call this file [company_resource].  It usually looks something like:
  • This should be very thin – limited to only information that is needed to create standardized reports and templates
  • Normally the message & priority would be blank…

Power BI template files can be wonderful.  If you have not used a template file, you basically create a Power BI Report and then save it as a PBIT (template) file.  When developers or superusers want to create a new report, all they have to do is double-click on it and the Power BI report is automatically created – without being saved.  Developers and/or superusers just have to add details needed and save it.

The balancing point is how much to put into a template and what to leave out.  Should the dataset be added?  Should the measures be pre-created?  Depending on the client, I have created bare-bones templates through fully configured reports – where users just need to add messages.  This example is bare-bones.

Optimally, I would like to see Microsoft create a Header and Footer section that persist through each page… allowing for visualizations to be put on top –  like how MS Publisher and/or MS Word work.

Question: Do you centralize formatting and messaging?  How do you do it?  Let me know in the comments.
 

The following are details on how I set up a template file…

If you are already familiar with template setup you can skip to the bottom. 

setting up the Power BI template that developers and superusers should use:

  • Open a blank Power BI report
  • Go to Design top tab and choose Import theme – search for the .json file in the explorer window
  • Ingest csv/excel file(s) that contain the company basic information (note: I transpose the data and promote headers in Power Query so it easier to access the data). I also pre-pend the table name with a “_” and hide the table to identify that this is data that I don’t want normal users being able to see it.
  • Ingest images (Note: I will create a future article regarding how I handle images with Power BI)

Now we use this information to set up the Header and footer of our template pages.  I generally use the following steps:


For the header:

  • Add a header background (keep as short vertically as possible to maximize the KPI/information space)
  • Add logo (from table image, table URL, static URL, or importing image (not preferred)
  • Add a textbox, format with Title as the Company Name and Subtitle as Company Tag Line (note: I don’t put any text in the box)
  • For testing I added a manually created hidden table _TestingOnOff
  • Create a slicer visual with single select “On” based on _TestingOnOff
  • Create 3 measures for displaying company messages
  • Add a textbox and for the title, make the text [CompanyWide Message], make the text color [CompanyWide Criticality txt color] and the background color [CompanyWide Criticality BG Color]
  • Select each of the above visuals and group them as Header

For the footer, do something similar… this is what I Usually do:
 

Section Panel

I organize my visuals using the selection pane.  It generally looks like:

The final solution would look something like:

 

Save as a template file

  • From the top menu choose [file] > [Save] > choose folder location > Add “Name of your template”.pbix – this is so you can make changes to the template easily in the future
  • From the top menu choose [file] > [Save as] > choose the folder  (I usually use the same as previous) > Change the [Save as type] to “Power BI Template files (*.pbit)”

Instructions

  • Encourage your developers and superusers to use the template file as the base.
    • If they use the default colors, fonts, etc… the system will automatically update when updated and refreshed.

Put any questions, considerations or recommendations in the comments

Thanks,

John

Not covered:

  • Adding templates and/or reports to GIT for version control. 
  • Formatting for mobile layouts (phones, pads, etc…)

Leave a comment

Your email address will not be published. Required fields are marked *