Creating Visio Visuals in PowerBI - Lightning Talk Companion Blog
A recent lightning talk of mine was a demonstration of how you can embed a Visio diagram into PowerBI and get it to interact just like other visuals of PowerBI. I love this, as it is very common for organisations to represent all sort of concepts in Visio, such as shop floor plans, process diagrams, org charts etc. Often these diagrams are the back bone of many revenue and cost projects, but are they actually measured as part of the organisation data strategy? Imagine if you could measure the performance of you business alongside an representation of the business processes and layouts. There is a recording of my talk here and the rest of this blog post details how you can build this. See the bottom of the page to download the source files.
A Visio Visual as part of a business report
To make this work you need
A Visio visual with Data Properties set for objects that you want to measure
A data source of data points that you want to associate with your Visio visual in PowerBi
The Visio Visual in PowerBI
An Visio Online licence
A SharePoint online subscription
A PowerBI Model with your Visio data points and any other business data you need modeled.
Visio Visual with Data Properties
Once you crate any shape in Vision, you can right click on the shape and select "Data -> Shape Data". This revels the Shape Data Panel. The only value you have to set is the ID field. This value is what you will use to reference the shape from within PowerBI
Opening the Data Panel
Editing Shape Data
Once you have your Visio created, you will have to save it to document library in SharePoint Online. Note this location, you will need the URL later on. Just click on the Visio in the document library and grab the URL from the rendered diagram.
A Data Source with Shape and additional data
For the purposes of this demo, I have just made up some data in Excel. The key requirement is the you reference the same ID's that you assigned to the shapes in Visio. (Column "CRM_Stage" below)
Data with my CRM Stage data available and linked to shape ID's
Power BI Model
You will need to create a Power BI model that imports your Shape data and any other data that you want to view in Power BI. There is no special way to do this other than to make sure that the Shape ID (CRM_Stage below) is available in the model. In my model below I also import CRM Target data and have a basic DAX measure to calculate a performance between 0 and 10 (or higher)
When your model is ready, you will need to add the Visio visual to PowerBI. From PowerBI select "Insert -> From App Source" and search for Visio and Add.
Inserting Visio Visual from AppSource
There are two fields that you use in a Visio visual. ID and Values. Add your Shape ID (CRM_Stage below) to the ID field and the data value (CRM Performance below). As soon as you add fields to ID and Values, you will see how the Visio visual changes and looks for a URL to your Visio diagram.
Configuring the Visual Fields
Paste the URL to you Visio diagram that you published in SharePoint, click connect and if all is done correctly, you will see your Visio diagram with color in the different shapes. Expand the Field Mapping Panel in the Visio Diagram and you can change the ranges for colors or switch the shapes to display the text value instead.
Setting Ranges for Color display
Now all that is left is to finish the rest of your report, publish to PowerBI and your work is complete!
I really like this option. Many organisations have Visio diagrams for important processes that gather virtual dust in a file share. This is a way of really making your process and layout diagrams an integral part your reporting. I hope you find it of use.
You can download the Visio, sample data and power bi report here.