XML Maps Best Practices for Xcelsius 2008

11

I recently worked on a project with Xcelsius 2008 where we used the XML maps connectivity option load data into a dashboard. I have used this feature for a long time in Xcelsius 4.5, but found some challenges that I had to work through so I will share them with you below.

  • If you are using Excel 2003, by default you can not get access to the XML maps dialogue. You have two options: Do your XML maps in Excel, and import into Xcelsius, or insert the XML Source menu item. To get the XML Source menu button, right click in your Excel toolbar and click Customize and navigate to the Commands tab. Select Data, and scroll down to the XML Data source option. You will click and drag the XML Source button into your toolbar.

xmlsource

  • If you are using Excel 2007, you will need to enable the Developer tab within your toolbar/ribbon. To do this, open Excel 2007 outside of Xcelsius, click on the Office icon (the round button in the upper left corner), and select Excel Options. In the first tab you will see a tab labeled “Show Developer tab in the Ribbon.” Check this box and you will now have access to the XML source option, within Xcelsius. From there, the process for configuring XML maps is the same in both Excel 2003 and 2007.
  • If you use XML maps inside of Xcelsius, I found some odd behaviors when I try to re-import XML maps. I have not yet pinpointed the cause, but I found that if I re-bound my XML maps after changing the XML structure slightly, that items were miss-matched. The result was me having to create a new Excel tab and re-importing my XML maps there. That said, I would recommend having a separate tab for each XML map source you import.
  • Make sure the application server containing your XML file or script has a cross domain policy file. If the XML source is on your desktop PC, you shouldn’t have any problems.

Hopefully these tips will get you going in the right direction. If you have any experiences with this feature, please post them as a comment and we can add them to this best practices sheet. Thanks.

Share.

11 Comments

  1. I usually do all of my preliminary mapping outside of Xcelsius in Excel. I have found weird behaviors where Xcelsius caches an XML map from the previous import. I have also found that deleting the XML map connection, restarting Xcelsius, then re-importing the XML map sometimes works.

    thank you for the inquiry.

  2. Hi Ryan goodman,
    I experience some unwanted behaviours whith missmatching xml-variables when export/import xml files when using Xcelsius. I would prefer using xml-maps inside xcelsius because when mapping xml in excel the files are imported as one kolom with the variables below (probably i miss experience of proper mapping and excel). Before going for that option i would like to inform if the solution is known allready (or fixed in sp1). Or a suggestion to a site that explains proper mapping in excel for example. Hope the question is valid. Kind regards Dino

  3. I have an xml data map in my workbook which works great for refreshing data. I can export my swf once I get everything set and refresh the xml. However, if I go back into the Xcelsius document a few days later to make some adjustments or add other components, my XML Map disappears from the XML Source screen in excel. I have to re-import my xml and then adjust all my formulas that reference those cells.

    Any thoughts to why I’m losing the mapping? The connections still exist in the Data Connections, just missing the map to the data.

  4. I have an Excel XML map, when i look at my interaction on the canvas everything works fine, when I preview it I get the wrong information pulled through!

    For example, a vlookup returns a completely different value! in the Canvas it returns 4 which is correct, but in preview it returns 2..

    The XML is directly from an ASP database

    Any ideas why the calculations go wrong?

    I can send my file to someone to check if they think it would help

  5. I am having some issue when using filtered rows with XML data. I pulled in Bay Area BART xml feed, using XML Map, and when data refreshs, it only returns one item in the filtered list when ( per the xml map ) there should be more than one – any experience with this type of thing?

  6. Hi Ryan,

    I am using the xml connections within Xcelsius and have found that Xcelsius is caching the XML on the local pc. And instead of reading the new xml from online, it reads the local out of date copy. Is there any work around?

    I have tried putting on cookies and even no cache in the html and exporting, but no luck…

    Thanks for all the help already…

  7. To bypass cache problems (for the initial loading of the SWF, at least) I point my XML Maps location to an Excel cell (A1, for this example) that is a formula such as the following:

    =B1 & “?r=” & RAND()

    Then, cell B1 is my URL:
    http://www.example.com/source.xml

    This results in it generating a pseudo-random URL like:

    http://www.example.com/source.xml?r=1.235235

    This will virtually guarantee each time the SWF is loaded, it hits a “different” URL and avoids cache. It’s not the best solution in the world, but better than nothing.

    You could also try changing the HTTP headers if you are dynamically generating the .xml on each request and telling it not to cache, but I didn’t have that luxury in my case, as I didn’t have access to the server.

  8. The caching has something to do with the Windows Internet Cache. If I delete the temporary internet files in IE, I get a fresh copy of the online xml map instead of the local one.

  9. I am trying to extract data from SAP in the form of Excel 2003 XML format and then import into Xcelsius. This does not seem to work. My assumption is that the XML format required by Xcelsius is rigid and will not handle what I am exporting from SAP…?

    The actual problem I am having is that the XML Refresh in Xcelsius does not refresh the dashboard…

  10. I have an xml data map in my workbook which queries a database. And the spreadsheet component in Xcelsius displays the returned records. The problem is if the row count increases, the xcelsius is not able to display the data with the current row count. It still displays the old count of records only. Is there anyway to fix this?

Leave A Reply