""

New Insights into an Xcelsius (XLF) File

Xcelsius is a powerful dashboarding tool, but sometimes we find limitations and need to use our imagination to find workarounds.  One example is when we are developing a dashboard without connection to the final production server using QAAWS. Before the rollout we need to open the XLF file and remap the connections one by one to the new server.

One day, by chance, I found a very nice solution to this problem. I also found out about extra capabilities that are not available through the Xcelsius interface.

Uncovering new capabilities

Getting straight to the point, there is an XLF file at the end of a standard archive file. All you need to do is rename it to .ZIP and extract it in any folder. You will find the following files inside:

  • Xldoc: This is the Excel Data model used in Xcelsius (you can open it using Excel)
  • Document.xml: This contains your Xcelsius definition (graphs, canvas, connections…)
  • Folder(long name): This contains the pictures embedded in your Xcelsius file

The most interesting file for the purposes of this article is the Document.xml. In this file you will find the entire definition of your Xcelsius model; which provides great capabilities and opportunities! Let me give you three examples:

  1. You can replace the server of your QAAWS connections: just search for your server name to find the entries of your QAAWS connections (with the credentials if they are hardcoded in the model) then replace them for the new server.
  2. Change the color schema without fighting with the Xcelsius client: To change the color schema, all you need to do is replace the old color with the new one in the XML file and you are done. If you have defined a customized color schema you will also find it in the file.
  3. Change the logos/pictures: You just need to overwrite the logos that you get after unzipping the XLF.

You can play around as much as you want with these files. To get your new XLF file all you need to do is add the folder back to a zip file and rename it to XLF!

If you have any feedback, questions or new functionality for this trick, I will be happy to read and reply your comments!

LiveOffice Trick for Xcelsius Developers and Designers

LiveOffice is an out of the box tool from SAP Business Objects that allows users to download reports or parts of reports from BusinessObjects (WebIntelligence and Crystal Reports). It also allows for the creation new queries like QAAWS (query as a web service).

In this blog post we would like to share a tip about an important LiveOffice setting that may be useful for Xcelsius developers and designers.

By default, LiveOffice allows us to download 512 rows and 512 columns when it is used within Xcelsius. Unfortunately this number or rows is not always enough. But rather than change the connections or the logic of our dashboard, which can be complex and time consuming, all we need to do is change the configuration of a .jar file in tomcat.

Step by Step Procedure:

  1. Create a backup of dsws-liveoffice-ws.jar from server's InstallDrive:program filesbusiness objectsTomcatwebappsdswsbobjeWEB-INFlib (just in case)
  2. Copy dsws-liveoffice-ws.jar from server's InstallDrive:program filesbusiness objectsTomcatwebappsdswsbobjeWEB-INFlib to your computer
  3. Rename the file just copied to dsws-liveoffice-ws.jar.zip (add .zip to end of filename)
  4. Create folder in root of InstallDrive: named META-INF (case sensitive), in InstallDrive:META-INF named BusinessObjects (case sensitive) and in InstallDrive:META-INFBusinessObjects named DSWS (case sensitive). You will obtain the following path: InstallDrive:META-INFBusiness ObjectsDSWS
  5. Using WinZip or WinRAR, unzip the file named liveoffice_config.properties from the dsws-liveoffice-ws.jar.zip file copied from the server. Place this file in InstallDrive:META-INFBusinessObjectsDSWS
  6. Open the liveoffice_config.properties file and find the following section: maxRowCount=512 maxColumnCount=512
  7. Edit the maxRowCount and maxColumnCount (if needed) with the number of rows and columns that you prefer.
  8. Save the file as liveoffice_config.properties (same filename)
  9. Make sure that the new file is in the dsws-liveoffice-ws.jar.zip
  10. Remove the .zip from the file
  11. Copy it to the Tomcat location in the server: InstallDrive:program filesbusiness objectsTomcatwebappsdswsbobjeWEB-INFlib
  12. Restart Tomcat

That's it! Now you are no longer limited to 512 rows and columns. If you have any questions or feedback about this approach, please feel free to leave your comments below.

Visualizing a time series with missing data

From time to time I browse through specialized forums, and recently I came across the same issue in two threads from different angles. Basically the question posed is, “how can we display missing values in a line chart?” This question comes into play when we consider what to display if we have a gap.

Missing data may occur for a number of reasons but for now let’s concentrate on the visualization. I will sketch a couple of solutions using Xcelsius, but the general idea of these options applies to other tools as well.

First let’s take a look at the possible initial situation: if we don’t have data for one or more periods in the database.

The user might not even realize it, but something is wrong with the above chart. The 3rd, 4th and 5th months are missing. The reason behind this may be that sales dropped to zero, or that sales for these months are not appearing in the database for whatever reason.

The two options below highlight that something went wrong with the sales (data) during the spring period (months 3-5).

Even though the last chart shows the actual situation in the database, the business users may expect to see a complete chart. If we know that sales did not drop to zero, but in fact records were lost for these three months, then the requirement is to connect the gap somehow.

Calculating an average or weighted average from the two closest values of non-null periods could be the solution. The weighted average is slightly more complex but in the case of a bigger gap, it will result in a linear connection between to two ends, as opposed to a flat line.

When interpolating values that we don’t have (and when we don’t know exactly what needs to be highlighted), I would suggest displaying the gap with a significantly lighter color than the normal, representing that these are calculated values.

Although actual values might differ significantly, in my opinion with proper legends, this representation might be better than breaking the line.

I would be interested to know if others have come across this issue and what you have done. Feel free to leave a comment with your opinion.

Export2Excel v3 for Xcelsius 2008 SP3 (Tomcat version)

About eight months ago we posted an Xcelsius solution called Export2Excel on the myxclesius.com blog. Thanks to support and comments from the Xcelsius developer community and some serious investigating, it is a pleasure for me to announce that the new Export2Excelv3 for Xcelsius (Tomcat version) is now up and running. Version 3 works with Xcelsius 2008 SP3 and it supports multiple languages. You will find the Export2Excelv3 files at the end of this post.*

For those who are new to Export2Excel, this component allows BI Developers to add export functionality to an Xcelsius dashboard so that end users can then filter results by selecting part of their dashboard. It is a great option for users who want to look at data outside of the predefined dashboard components.

Xcelsius 2008 SP3

When SAP Business Objects released Xcelsius 2008 SP3, we noticed that there was a change in the exported xml string. Xcelsius is now exporting the xml on different lines instead of a single line. Thanks to the help of other contributors we reached a solution that involves reading and converting all the lines. As a result, our new Export2Excelv3 only works with Xcelsius 2008 SP3. If you still have the SP2, please contact us for the v2 file (also with multi-language support).

Export to Multiple Languages

The new Export2Excelv3 can export multiple languages (e.g. Arabic, Japanese, Chinese and languages with special accents such as ö ü ÿ ä ý). We decided to add this to the new version as some of the users were asking about this functionality. In addition we are doing a lot of work in the Middle East so it is interesting for Clariba to have the Arabic characters in case any of our customers are interested.

How to Configure Export2Excelv3

Follow the steps below to configure the Export2Excelv3 solution in your Xcelsius dashboard:

  1. Download the WAR file (Find the link at the end of this post)
  2. Copy the ExportToExcelv3.war into your Tomcat webapps folder
  3. Open the Data Manager
  4. Add XML connection
  5. Set the XML Data URL as http://<servername>:<port>/ExportToExcelv3/index.jsp
  6. Check the “Enable Send” function. This will contain the range of cells that you choose to export.
  7. Check the “Enable Load” function. Be sure that the Name is URLDummy (as highlighted in red in the screenshot below), and that the Range contains just one cell. This cell is the URL of the exported Excel file.

Note: Add a refresh connection and URL button on the Xcelsius dashboard to open this link.

Clariba Sample Dashboard

At Clariba, we have merged the functionalities of a refresh connection button and a URL button. As a result of this customized functionality, users can open an Excel file and begin their own analysis and comparisons if desired.

You will see the archive rar file for the code below. Just save and rename it to ExportToExcelv3.war and deploy it to your tomcat! If you have any questions or comments about the new version, just let me know.

Download: ExportToExcelv3.rar

* Copyright (C) 2011 Clariba. This free solution can be used, published or redistributed with appropriate credit to Clariba.

Migration from BusinessObjects XI R2 to XI R3.1 – Both Versions on the Same Machine: Disaster Recovery

In the past few weeks we have been working on a migration from BusinessObjects XI R2 to XI R3.1. This should be a simple upgrade that can be implemented by following the  BusinessObjectsXI R3.1 wizard. But what happens if something goes wrong during the upgrade? We were asking ourselves this question before migrating production for one of our customers. Then an idea came to us: we decided to leave BusinessObjects XI R2 as it was and also install XI R3.1 on the same machine. For this to be possible, we had a couple of things to consider first:

- Two tomcat servers working on the same port - BusinessObjects XI R2 and XI R3 services working on the same ports

Moreover, we decided not to use any BIAR files to migrate the BusinessObjects content to the new release.

Our Implementation Steps:

  1. We stopped Tomcat and BusinessObjects XI R2 servers (and made sure they wouldn't start up automatically in the future).
  2. Next we installed BusinessObjects XI R3.1 (during the installation we selected new installation instead of upgrade). Note: If you have Tomcat on a different machine then choose to install your web server later  (XI R3.1 allows the users to install only the webserver and connect it to the CMS by using the setup wizard).
  3. Once the installation was complete we copied the FileStore folders (Input and Output) to the new locations (Business Objects Enterprise 12/FileStore/).

Configuring the CMS database:

  1. From the SIA (Server Intelligence Agent), go to properties -> configuration  -> setup of the database using the Specify button.Server Intelligence Agent
  2. Select the option to copy the database from another Data source.
  3. Select that the source comes from BusinessObjects XI R2 and choose the R2 database.
  4. BusinessObjects XI R3.1 will copy and adapt the R2 database to the R3 one.CMS Database Setup
  5. At the end of the database configuration BusinessObjects will ask you to restart the servers and update the objects (it will interface the CMS database with the FileStore folders).

The user can now login to Business Objects R3.1 and check that the security, the schedules and all the objects are there and working fine. If the environment is not working as expected, then you can stop the new Tomcat and the BusinessObjects XI R3 servers and bring up the old Tomcat and the BusinessObjects XI R2 server once again without losing any data. The recovery takes less than 5 minutes.

Logon windows

We are always interested in feedback. Please let us know if you have any questions or comments about this XI Migration trick.

Best practices for geo-analysis using AnyMap add-on for Xcelsius

This article explains how to design a professional-looking flash file using the famous freely downloadable AnyMap add-on for Xcelsius.

A multitude of opportunities exisit for using AnyMap in Xcelsius. Typically we want to embed an interactive system like a layout for a car park, airport, or a typical regional map - see Figure 1 for an example. Using AnyMap we’ll be able to show different information with a mouse over or a mouse click.

Figure 1: A typical geo-analysis by country

The idea here is to explain the challenges that typically appear in Xcelsius, such as speed, image resolution and accuracy, and to demonstrate that by using AnyMap we can optimize them all.

Using the AnyMap add-on

Without the use of AnyMap, an Xcelsius designer can start using single image components, locating them carefully and using dynamic buttons together with the show and hide feature.

When we do this, there is a clear performance issue: the flash file takes some time to handle regions and data. To optimize this behavior, the quality of the image can be reduced; but this results in a less professional look and feel. Moreover, and especially for maps, there is no button component that fully adapts to regions, so users may be annoyed by the fact that they don’t get a response when clicking on the borders of the regions.

The objective of AnyMap is to offer new features to Xcelsius designers that make professional geo-mapping possible, enhancing performance and reducing post-project maintenance costs.

Image resolution, speed and accuracy

The best option is to place your template outside the AnyMap component, because the embedding option sometimes distorts the image quality. A high quality .jpg is better than a huge .bmp, as we want to keep the flash file size small.

Figure 2: Place the background image out of Anymaps

High performance and accuracy are achieved using an .svg file that contains the closed perimeters of all areas and their names. This step is key and involves 1/3 of the effort for the project. This can be done using a tool called GIMP (as recommended and explained in the AnyMap manual). An .xcf source will be created and right after saved into an .svg file

This approach using one single template makes the system incredibly fast because one area item is handled instead of many items. It also improves accuracy as every pixel inside the region is sensitive to mouse moves and clicks.

AnyMap configuration and formatting

Once we have the .svg file, AnyMap is very easy to configure:

  1. Define .svg file: The file will be located in the same flash file folder, and no path is needed.
  2. Display data: Typically a column with the names of the regions might be provided, together with the mouse-over texts that we need to show and a selected region key in case of mouse clicking.
  3. Mouse over color change effect: As a sample, turn transparency to 10% and create an alert with a grey color.

A fully configurable system that shows different texts with the move of the mouse and changes the value of a cell according the clicked area has to contain the following information (at minimum), as shown in Figure 3:

Figure 3: An Xcelsius spreadsheet design

Using a typical lookup Excel function we can change the value of a cell according to a click, and show/hide other components according to this value, or change a text from an existing text component.

Unfortunately the formatting is very rigid and limited in this component. But a workaround for this is to use the HTML capability so the content of a cell is a text in itself. We can therefore change font, size, manage paragraphs and embed images in our texts, to make them look absolutely professional.

Conclusion

The methods explained in this article prove that although this product is not supported by SAP BusinessObjects it can be used by developers (at your own risk of course) in a very beneficial way. It can save a lot of man-hours and offer features that the out-of-the box Xcelsius software doesn’t yet provide.

Alternatives to sub queries using Query & Analysis in Desktop Intelligence and Web Intelligence

The Query & Analysis tools from SAP BusinessObjects – Desktop Intelligence and Web Intelligence – are very powerful when it comes to analyzing corporate information. They give you the ability to add complex conditions without the need to know SQL language. A problem that may arise when generating your query is that, when defining conditions with sub queries, the complexity (an indicator of the performance that the query will have when transformed into SQL language) escalates causing your query to take an enormous amount of time to generate, or not to generate at all. Let’s look at the root causes of these facts and a workaround that can be used to make your analysis quicker.

Embedding Xcelsius dashboards in Dashboard Builder

If your goal is to build a balanced scorecard that is interactive and also secure, you can achieve this by embedding an existing Xcelsius dashboard in Dashboard Builder.

With Xcelsius you have the tools to design an interactive and user-friendly dashboard. And with Dashboard Builder you can build a well-structured scorecard and define which users or group can access it. So with the combination of both tools, you can create a dynamic, user-friendly scorecard which can be integrated with the SAP BusinessObjects XI security model.