Data Link: getting data into your shapes


Okay, let’s dig into some of the scenarios around integrating data with Visio diagrams that I mentioned last week.  One of the major trends right now in the enterprise is the focus on process improvement.  Companies can realize huge gains in quality and profitability by visualizing their business processes, analysing them for inefficiencies, and targeting improvements to the crucial steps in the process.  This is an area where Visio really shines.  We’ve added some additional templates in Visio 12 that will make this process easier (more on that later), but even the flowchart and cross-functional flowchart diagrams that we have today make it pretty easy to depict a business process and look at improving it.  Consider this example of a customer engagement workflow:



This shows the steps taken to process a customer request for engagement, and the different members of the team involved.  Visualizing this workflow helps to give you the big picture and understand each step in the process.  But if you are looking to improve this process, it would be handy to be able to show some information about each step as well in the diagram.  For instance, the duration of each step is an interesting measure of where a workflow is bogging down, and we can also add some additional info on the current status of each step. We could even highlight the steps that were particularly slow.  And it would be much easier if this data was contained in an external data source so that it would be easily created and updated. So a finished diagram could look like this:



But how would you create this?  In current versions of Visio, this would be tough.  In addition to the problems of getting the data into the diagram that I talked about last week, you’d need to be a Visio expert to actually display the data on your shapes like that.  You would need to do a lot of customization to the existing Visio shapes, inserting multiple “fields” for different pieces of data, and creating your own custom widget to show you the average duration time.  All this is not that easy, trust me.  In Visio 12, though, you can create this diagram pretty quickly, following a few simple steps.  The three steps you need to take are:



1) Connect to a data source
2) Link rows in the data source to shapes in the Visio diagram
3) Display the fields of data on top of the shapes using Data Graphics


The feature that allows us to perform the first two steps in Visio 12 is called “Data Link“.  This is a visual way to connect to data sources and link rows to shapes.  To use Data Link, you can simply choose “Link shapes to data” from our new “Data” menu in Visio 12.  This brings up a wizard that lets you choose your data source.   You can connect to Excel, Access, SQL Server, SharePoint lists, and other OLEDB ODBC data sources.  Once you have completed this wizard, you get an “External Data Window” at the bottom of your diagram:



At this point, data is imported into the Visio diagram, but it’s still not associated with any of the shapes in the diagram yet.  You can link rows of data to shapes in a couple of ways.  The easiest is just to drag a row out and drop it on top of a shape on the page.  When you do this, you are populating what we call the shape data (we used to call these custom properties in previous versions).   If there are many shapes in the diagram, they can all be linked up to rows of data at the same time by using a feature called the Automatic Link Wizard.  This wizard allows you to match rows of data up to shapes on the page according to a condition.  For example, you could match the text in a shape up to a specific column in your data:



Once a row of data has been linked to a shape, you will probably want to view at least some of this data directly on the shape.  That’s where the Data Graphics feature comes in.  Data Graphics is the technology in Visio 12 that allows us to display data in a variety of different ways on top of a Visio shape.  


So up to now we’ve talked about connecting to a data source, importing data, and linking data to a shape.  Next time I’ll discuss how to use Data Graphics and what types of visualizations they offer.  One thing to bear in mind:  I’ve been using a flowchart diagram as an example, but Data Link works equally well with any diagram type in Visio. 


Comments (7)

  1. dkw614 says:

    Can you send me the link to previous articles on this subject? E-mail: wolfetechnologies@yahoo.com

    Thank you!

  2. Along with the rest of the 2007 Office system, Visio 2007 Beta 2 is now available for public download…

  3. Tom Phillips says:

    As an engineer who has used visio to create complex schematics and diagrams, I was wondering if the new Visio 2007 would have a Data link that would be in real-time so that the shapes color or Icons like "stoplight" or "flag" or what ever could actually turn color as new data streams in. We do a lot of equipment monitoring of transmitter meters that are digitally available over modems.  Our IT department would also like to monitor when a computer had a problem.  Visio 2007 seems to have a way to link the data but is it real-time?  Can you make it link to receive constantly changing data and thus change the color of the Object like the ones you use here?  We could design our own UI this way.  That would be great.  Any thoughts on this?

    Tom

  4. Over the last several years, we have seen Lean become more and more prominent as a process improvement…

  5. When you are looking to persuade or enlighten, you need to be able to do a great job of presenting information…

  6. John says:

    If I use data graphics to display data from rows in a database, can I edit the data in the graphic, and save it back to the database, or is this a 1-way feature?

    Thanks,

    John

  7. Ok, but I can do something similar in Visio 2003 by VBA? For example, I have a simple Excel sheet with the following fields:

    Type;Name;Description;

    I would like to associate each type to a shape in a specific stencil, use name for the object on page, and description as text iside the shape. It should be simple, but I cannot finda  way to do it!