Visio 2007 has many cool new features, and among the coolest are Data Linking and Data Graphics. These data features allow shapes to link to data-sources and graphically react to it. You can also add Data Callouts as adornments to existing shapes. The callouts display data next to a shape without visually changing the actual shape.
Of course, if you’re a Visio Guy like me, you won’t be content to sit back and use the pre-built Data Graphics supplied by The Man. You’ll want to roll up your sleeves and create your own, thank you very much.
So I’ve scoured the net to find resources that contain the nitty-gritties about Data Graphics. Have a look, and stay up all night!
Hardcore: Stuff for Developers
Visio Insights: Make your own Data Graphic – Text Callouts This article, from the experts inside of Microsoft, walks us through the creation of a text callout data graphic. The actual shape is quite basic, so you won’t get bogged down by details. When you’re through, your callout will interface with all the Data Graphic UI dialogs!
Building Custom Data Graphics for Visio 2007 This MSDN article contains 13+ printe pages that detail all the finer points that you’ll need to understand in order to create your own Data Graphic shapes.
Visio Insights: Customizing Data Graphics Another article from Visio Insights, this post describes how to modify an existing Data Graphic Text Callout. It explains how Visio stores Data Graphics, and issues about deployment as well.
From the Office Developer’s Conference, there is the Presentation on Building Solutions using the Visio 2007 Data API — just look for the paragraph under BI201: ”Visio 2007: New Data Visualization Capabilities and Solutions
Bill Morein has a three-part series on customizing data graphics. The titles give a hint as to what they deal with specifically:
- Visio 2007: Customizing Data Graphic Items
- Visio 2007: More on Customizing Data Graphic Items: Icon Set
- Visio 2007: More on Customizing Data Graphics: Icon Sets with Images
Data Graphics in General
If you still haven’t the foggiest idea of what I’m talking about but are tenacious enough to have read this far, then start with, Eric Rockey’s nice overview of just what the heck Data Graphics are: Data Graphics: visualizing data on your diagram and Data Link: getting data into your shapes.
Microsoft Office Online has an introductory video about data graphics: Demo: Let data tell its story with data graphics
I am new to Visio, but am enjoying the learning. Thanks for your site.
I am unable to globally change the text font/size/style in each data graphic. The “Edit Data Graphic” option only gives options such as label[on:off] value [left:right:etc] border[yes:no]. I can select the text and change the font, but I want to do it globally for all shapes that use that data graphic.
It seems to be obvious, but I do not see any text formatting options.
Mark Nelson says
This scenario is covered in the Customizing Data Graphics post. You need to customize one of Visio’s built-in callouts to apply the formatting you want.
Does anyone know the correct syntax for data graphics when there is an “OR” situation comparing two strings? In other words, I would like a green check mark if there is a “fax” or “phone” in the linked Excel cell. I just can’t seem to get it right. And I can’t seem to find any articles adressing data graphic logical expressions. Thanks.
Visio Guy says
Visio has an OR() function and a StrSame() function that you could use in conjunction with each other. Perhaps something like:
OR( StrSame(Prop.A, “ValA”), StrSame(Prop.B, “ValB”) )
Seshan Subramanian says
I have the same question as Rampal – ‘how to set the font size globally’ in a VISIO drawing. When I clcked on the customizing data graphics link I did not find any references to setting the font size. I tried selecting the ‘area’ with teh poitner tool and it did not seem to take my font size selection. Any ideas would be appreciated.
Good day, I have what may be a simple question. I am saving a Visio 2003 multiple page drawing as a web page, this web page includes the ctrl + click option for details view as well as a background.
When the web page is launched, the visio background image appears as a block surrounded by the default white page. I would like to have the background image cover the whole page and have attempted to edit some of the Visio generated web page files (Such as VLM1.HTML) with MS Frontpage but when I save the changes, the ctrl + click and hyperlink options are no longer functional on the page.
Is there a way to edit Visio 2003 generated web page(s) without losing the ctrl + click and hyperlink functions?
Thanks alot for any help provided.
Any ideas on how to add a formula to a Pivot Diagram that calculates the percentage in each node. For example, Company Revenue is in the top node, the second level shows the revenue from each Division. I’d like to add the Divisions percentage of the total revenue.
I can’t find anything in the SDK or the MS Data Graphic articles on this scenario.
Thanks in advance for any tips on this.
Once I’ve built a Visio diagram with a suitable set of data graphics, I’ll want to connect the diagram to live data. That is, I’ll want to process the diagram, look up the values from a database somehow, and generate a rendered image to view, all server-side and without involving manual re-editing of the Visio document (or launching Visio).
Can this be done? Nothing I’ve found on the net indicates this kind of use scenario.
Visio Guy says
You can certainly open Visio and do drawing automatically using code.
If you download the Visio 2007 SDK, there’s an excellent help file that has a What’s New in Microsoft Office Visio 2007 for Automation Developers section.
That section has lots of good info about the new data graphics features, from an automation perspective.
For example, you might find this bit useful – it applies to a Visio DataRecordSet object:
When data changes in the data source, you can refresh the data in a connected (non-XML) data recordset to reflect those changes. You can specify that Visio refresh data automatically at a specified interval by setting the RefreshInterval property, or you can refresh data programmatically by calling the Refresh method.
Bill Paxxx says
I was told to solve my problem I must obtain Visio 2007. I have. Please excuse me for being dense. I can import live data to an excel spreadsheet. What I would like to do is use the values in the excel cells to drive the color, size, etc of an object on the visio page. For example if the value in an excel cell is “0” then display the object red and if the value is “1” then display the object green. I can do this on an excel spreadsheet with conditional formatting, but I want to change the Visio shapes color instead of cell color.
Lars-Erik Miedema says
When linking excel data to a shape, it is imported into the shape data of a shape. You will have to use the shape sheet to make the size, color or whatever you want so the shape properties change depending on the data in the shape data. If the data in excel changed, the data in the shape data changes, and this in turn will change the look, size etc of the shape. I think you could find a nice example on this site’s forum. Also, the forum make it easier for others to find your question, and perhaps the answer they are looking for
I really want to add my own units to data graphics. e.g. deg.C, Watts, Joules, … how can i do that….? Why does visio assume that everything in the world is in length and currency !! 🙁
David J Parker says
I answered this in my blog http://davidjpp.wordpress.com/2011/10/13/formatting-custom-units-in-visio/
I’ve had a fair bit of experience working in Visio 2007 for organizational chart work (especially in the areas of automating excel data to generate a chart) and I’ve recently been experimenting with data graphics in conjunction with this work. Some of the core elements are straightforward enough (using color by value to modify fill color based on shape data, or displaying a certain text callout etc). What I’m struggling with is a lack of accessible functionality to apply the same color by value mechanics to a text callout, or even modify the line color of a organizational shape based on specific data.
So for example I can create a new shape and convert it into a data graphic and then apply the same organizational data to that shape. Then based off a specific piece of data, I want to modify the text color of the text callout displayed on the data graphic, but there is no obvious option. I’m guessing there is a way within the ShapeSheet window, but like I say it’s not really that accessible.
Likewise is there a way to modify a data graphic, or create a new one that will change the line color of a shape?
Any help would be appreciated.
Hey Visio Guy,
Hope you can help. Been using Data Graphics in visio 2007 pro to create Org charts from Excel data and now all of a sudden when we go to drop a position on another shape from the Excel data it overwrites the current shape instead of dropping it on the sheet with connectors. This is driving me nuts and has just started happening and I have no clue as to why. We are running Visio Pro 2007 some on a Win 7 64 and some on Win XP 32. Any help would greatly be appeciated as this could turn into a major issue for us as drop and then connect mannually is going to be a major task. Can only figure Microsoft has changed something as I said this just started occuring in the past week or so. We get a error for this also saying it is already link and do we wish to replace it. This is like the drag and drop shape feature has been disable or not available when you use external data now. Open for any help as this is a function we do weekly in our agency. Thanks can send sample if needed alone with stencil file to match data shapes that are used.
I have one very strange problem in Visio 2007. I have used data link visio feature, for connecting an Excel spreadsheet. After that I connected each shape I have in the visio with its relevant row. For instance 1.1 shape to 1.1 of the excel sheet.
The problem is that it does not take the full text I have on the Excel spreedsheet columns.
I would really appreciate any help 🙂
Thanks in advance
I have inherited a Visio 2013 document with data graphics that change colour when one of more or their shape data items is not filled in (it’s to make sure we always fill in all the shape data). When all data is filled in, none of the fill colours are supposed to apply and the shape should fall back to it’s default fill colour.
I now have to change that default fill colour to have a slight gradient fill. Sounds easy enough – but if I just use the fill tool then the shape loses it’s ability to change colour when I delete some of the shape data.
I’ve scanned through the documentation mentioned above and there’s plenty of info about getting the shape to change colour in response to shape data values but I can’t see anything about setting the default fill colour/pattern.
I am working with Visio 2010 and Excel 2007 and trying to link the data in Excel to Visio. When I refresh the page in Visio, it will update the data on the Visio page, but it changes the formatting of the tag names on the page as well. For example, I have the words “Flow (gpm)” set at a 6 point font, but after refreshing the page, it changes the name back to the default 8 point font. Also, it moves some of my data location on the Visio page so that it’s not where I positioned them before I refreshed the page.
Any help will be appreciated!
I’m working with Visio 2016 but I have some troubles using images as Icon sets, is there an article where explain this?