Enhancing the Built-In Containers in #Visio

The concept of Structured Diagrams was introduced in Visio 2010 to provide core functionality for a variety of the templates in Visio, such as the Cross-Functional Flowchart, BPMN Diagram and Wireframe Diagram. This is primarily evident as Containers, Lists and Callouts and they can be customized (see Custom Containers, List and Callouts ), as shown in some of my previous articles ( see https://blog.bvisual.net/?s=container). One example of this extension can be found in all of the flowchart shapes that placed into a swimlane in a cross-functional flowchart. They have a Shape Data row, Function, that automatically inherits the text entered into the header of the swimlane. In another example, a Visio user can use Insert / Diagram Parts / Container to visually group other shapes together, and update the header text of the container. Well, I often do want my custom shapes to inherit the text of a container, so, in this article, I show how the built-in containers can be enhanced to provide this ability.


Read the rest of this entry »


Really Snapping to Grids in #Visio

Visio has the ability to refine the options for snapping shapes to just grids, but this does not necessarily mean that shapes will automatically position themselves on a grid, or that the size is a multiple of a grid. What if you want some shapes to always be positioned on a fixed grid, and the width and height to always be a multiple on the horizontal and vertical grids respectively? What if you want the grid to start at the top left rather then the default bottom left? Fortunately, the ShapeSheet of the page and shapes can provide this ability, without the need for any external code.

Read the rest of this entry »

Using EVALCELL() in #Visio to calculate Workdays

I recently agreed to calculate the number of workdays between two dates in Visio, without realising how difficult it is. Excel users are lucky because it has the NETWORKDAYS() function, but Visio users are not so fortunate. However, Visio does have the EVALCELL function which can be extremely useful in cases like this. I got the inspiration from one of the answers in StackOverflow for a SQL user who also needed a solution.

This slideshow requires JavaScript.

Read the rest of this entry »

Data Centre Racks in #Visio in #PowerBI

I have often diagrammed rack and cabinet layouts and elevations using Visio linked to a database or Excel tables. There is a Rack Diagram template in Visio which is great for manually creating cabinet elevations manually, but there is nothing currently out of the box to automate this process, so it can be a laborious task unless you have some custom code. It is quite simple to draw a computer room layout of the racks and cabinets and to link each one to a row of data. In this article, I have a table of rack equipment in Excel, and used PowerQuery in PowerBI to summarize these rows for each data center, rack and U height position, since there are sometimes more than one item of equipment per U height. In this example, I have color coded the criticality of each equipment such that the most important display as red, and the least important as green. This means that a PowerBI user can quickly see where the critical racks, U heights and equipment are. Of course, I could have used any metric, such as power consumption, heat output or humidity, for the colour-coding. It all depends on the data available, and the audience for the report.

This slideshow requires JavaScript.

Read the rest of this entry »

Icons Sets and Data Bars in #PowerBI #Visio visual

I really enjoy linking data to Visio diagrams, either directly or using the Visio custom visual in Power BI. This visual has the ability to display PowerQuery data as text or color, but not as icons or data bars. These last two features are something that can be used natively in Visio, and automatically updated in Visio Online. I have previously urged Microsoft to add these abilities to the Visio custom visual in Power BI, but there is no sign of it appearing just yet. The custom visual actually removes any Data Graphics ( Text Callouts, Icon Sets, Data Bars or Color by Value) that may already exist in a Visio diagram when it is embedded into Power BI. This reduces the number of shapes in the visual (there is currently a low limit) and, in any case, the data should be displayed from Power BI.

I want to be able to display some data as icons and data bars within the Visio diagram, so what is the alternative? Fortunately, there is a way using text symbol characters and the wonderful Power Query formulas!

This slideshow requires JavaScript.

Read the rest of this entry »

Swapping Images in a #Visio Shape

I often include images in Visio diagrams, and sometimes they are part of a group shape. There are times when I need to swap the image for another, and I want the correct width to height ratio for the new image to be applied, otherwise the image will be distorted. I recently realised that the Shape.ChangePicture() function in Visio actually returns this ratio which can then be applied to the shape cells so that the image is not distorted. Therefore I wrote some C# code (in LinqPad) to utilize this method to provide the option to change the image in a selected shape or sub-shape.


Read the rest of this entry »

Using #Visio with SQL Server #Graph Databases – April Update

I have been continuing to develop a Visio interface for SQL Server 2017 Graph databases because I believe it will be of great use in many scenarios, such as crime investigations, company and shareholder relationships, and anywhere that defining and illustrating links between items is important.

SQL Server 2017 introduced graph tables, Nodes & Edges, which is a great way of storing relationships between objects. However, there is no easy way of creating or visualising this information currently. Visio is a data-diagramming application, so what could be more natural than to use Visio to create and visualise the data?
All Visio shapes can contain data, and are easily connected to each other, so creating meaningful relationships is a breeze. Visio diagrams can be automated too, and this solution is a C# VSTO add-in that enhances the normal Visio interface. The application also has the ability to define the shapes, labels, colours and appearance from the data values, which are stored as Json objects.
An import from Excel is also provided because of its tremendous ability to gather and re-shape data from so many different sources.
The solution automatically creates SQL views of each graph table so that the data can be linked to Visio and used in Power BI too.

This slideshow requires JavaScript.

Read the rest of this entry »

Simplify Tasks

Want to learn the simple way?

Paul Turley's SQL Server BI Blog

sharing my experiences with the Microsoft data platform, SQL Server BI, Data Modeling, SSAS Design, Power Pivot, Power BI, SSRS Advanced Design, Power BI, Dashboards & Visualization since 2009

John Goldsmith's visLog

be smart, be clear, be visual ...

Mo's blog

Personal views on Dynamics 365 for Operations and Technical Architecture.

Chris Webb's BI Blog

Microsoft Power BI, Analysis Services, MDX, DAX, M, Power Pivot and Power Query


Microsoft Office 365 Development, and more...


Automate, Accelerate, Accurate


Life with Visio and other Microsoft Toys!

Title (Required)

Windows Server Essentials Tips & Tricks

Nilsandrey's Weblog

Just another WordPress.com weblog

Things that Should be Easy

Every so often (too often in the IT industry) I encounter things that should have been very easy to do but turned out to be far too complicated. My favorite topics include SharePoint, .Net development, and software architecture, especially distributed systems.

Visio Guy

Smart graphics for visual people

Pluralsight blog

be smart, be clear, be visual ...