Xcelsius Templates

Here is the full collection of Xcelsius templates from this blog. You can always access the templates using the top navigation bar.

Xcelsius 2008 Templates

Saving Scenarios with Xcelsius -Local Scenario component for saving local scenarios.
Source Files

Dual Axis Chart -Simple example of the Xcelsius 2008 dual axis chart capabilities.
Source Files

History Component -Simple example using the Xcelsius 2008 History Component.
Source Files

Using a Map to drive Insert Filtered Rows -A great workaround for using other components to drive Insert Filtered rows.
Source Files

Insert Filtered Rows -Use this new Insertion Type to eliminate complex logic for inserting a fitered range.
Source Files

Scorecard View -Scorecard using new Xcelsius container component and selector alerts.
Source Files

Xcelsius Connectivity Templates

XML Feedback Form -Create and XML feedback form with Xcelsius 2008 and Xport Wizard.
Source Files

Export Xcelsius to Excel using Xport Wizard -Export Data from an Xcelsius SWF back to Excel using a utility called Xport Wizard.
Source Files

Passing Data from a Parent to Child SWF -Passing data from a parent Xcelsius file to a nested SWF.
Source Files

Connect Xcelsius to RSS/XML- Point and click connection to XML using XML maps.
Source Files

Xcelsius Logic Templates

Dynamic Formatting in Xcelsius Tables – Using TEXT() formula to change formatting on the fly.
Source Files

Dynamic Xcelsius Ranking Logic- Dynamically rank information in your dashboard using logic.
Source Files

Dynamic Excel Lookup -An Excel logic-based approach to looking up multiple rows from a selection.
Source Files

Calculating the Current Quarter in Xcelsius- Use basic logic to calculate the current quarter within your SWF.
Source Files

Xcelsius Workarounds and Best Practice Templates

Dynamic Chart Color – Dynamically change a chart series’ color.
Source Files

Overlay Charts in Xcelsius – Creating desired charts not provided out of the box using a chart layering technique.
Source Files

Adding a pre-loader to an Xcelsius Dashboard – Step by step instructions for creating a pre-loader.
Source Files

List Builder Best Practices- Making the best of the Xcelsius list builder component.
Source Files

Multi-Series Graph Drill Down- Workaround for using drilldown feature with a multi-series chart.
Source Files

Special Characters in a Table- Using trend arrows and other special characters in a table or scorecard view.
Source Files

Calendar Component- How to leverage the calendar component dates.
Source Files

Create a Reset Button – A simple work around for re-setting a range of cells.
Source Files

Embed a SWF in Excel – Step by step instructions for embedding an Xcelsius model back into Excel.
Source Files

Did you like this? Share it:

Xcelsius CEWebServiceURL and Life Cycle Management

The final part on my dissection of the Xcelsius <OBJECT> is a variable called CEWebServiceURL. This Flash Variable is used specifically with the Live Office component and overwrites the “Live Office Web Services URL.”
Regardless of what you enter inside the input box shown above, when the SWF is loaded inside of Infoview, the Live Office connector component will dynamically consume a webservice URL originating from the CEWebServiceURL flash variable. In this case, you do not need to do any configuration of Flash Variables for this to work, similar to CELogonToken.

What does this mean for Life Cycle Management?
For quite some time, I have heard Xcelsius users complain about the inability to bind the Live Office component URL, and how that makes life difficult for migrating Xcelsius objects between BOE repositories. The good news, is with the CEWebServiceURL, the bindable URL is no longer needed. *Note, that this option is only available with BOE XIR2 SP2 and up.

What about QaaWS?
The bad news is a Web Service connector is not configured by Xcelsius to consume the CEWebServiceURL. The good news, is that since the URL for this component is bindable, you can easily leverage the CEWebServiceURL to provide the system name. I have mocked up a simple Excel sheet that evaluates the CEWebServiceURL, then matches it to the correct system name. For those of you not using SP2, you could just as easily use the CELogonToken, since it also contains the server name. All you need to do is declare and bind the Flash Variable inside of Xcelsius then use similar logic that you can download here.

Another Option for QaaWS
If you always plan on using your Xcelsius dashboard inside of BOE, you can drop the system name and port number from the URL. This will work, assuming you don’t use a reverse proxy or some non-standard application server configuration. I have used this method many times since it alleviates the need for any fancy logic or consumption of Flash Variables.

I hope that this 3 part series has helped you in gaining better understanding of how Xcelsius generated SWFs leverage basic Flash variables and BOE.

Did you like this? Share it:

Xcelsius Single Sign on with CELogonToken

This week we are going to talk about a session token that an Xcelsius dashboard (SWF) consumes when it is loaded inside of Infoview or Dashboard Builder (Business Objects XIR2). The CELOGONTOKEN is the variable name that is assigned to a session token that BOE creates when you successfully login.

How does Xcelsius consume this token?
As you notice, inside of the <OBJECT> tag, there is a Flash Variable called CELOGONTOKEN. When BOE renders the HTML page, it dynamically inserts the current logon token as the CELOGONTOKEN. Any SWF that uses a Query as a Web Service or Live Office connection will automatically consume the CELOGONTOKEN Flash Variable.

How is the CELogonToken used during SWF runtime?
SWF files that contain a QaaWS or Live Office connectors will automatically search for the presence of a logon token when the connector is executed. With each transaction from the dashboard to BOE, this token is passed back to BOE. If the SWF does not detect a CELOGON token, (when it is loaded outside of Infoview or Dashboard Builder) it will display a login dialogue box.

So now that we have de-mystified the magic that is Xcelsius, let’s think about how we can leverage this knowledge. First, we use Flash Variables and the login token to solve the single sign on issue for multi-layer or nested SWF files within a dashboard. The second use is an Xcelsius dashboard using single sign with BOE outside of Infoview. While I have seen several implementations of this, unfortunately I do not have anything that I can share at this point. Hopefully those of you who are BOE SDK gurus run with this new understanding of how Xcelsius consumes the logon token. If anyone is interested in working together to put something together, I am more than interested to provide the Xcelsius knowledge…

Later this week, I will finish up this 3 part analysis of the Xcelsius <OBJECT> with the CEWebServiceURL and how it helps to improve life cycle management.

Did you like this? Share it:

Xcelsius List Builder Best Practices

Recently I worked on a project where we were required to use the list builder. I usually shy away from this component for 2 reasons…

  1. It takes up a lot of screen real estate. While this is easily solved using dynamic visibility this is the minor issue.
  2. The clumsy user experience. When you make selections, you are required to click Update Filters to commit your selections. In this user control there is no need to save the user from them selves. Because you have to manually commit the filters it only causes headaches for end users.
  3. There is no ignore end blanks.

Here is how I went about addressing these issues to achieve the following result..

Download Source Files

There are a few things you can do to help reduce how much screen real estate takes up. The first is to replace the Add and Remove labels and replace them with “>“and “<“. The second is to simply reduce the size of all labels.

There is no way to trigger this functionality, but I did come up with some method of notifying the status of their filter usage. In this case, I simply put a label on top of the list builder stating how many filters have been selected. It serves as a reminder to click the update filters button. Hopefully one day we will see this component with the ability to auto-trigger the update filter functionality and save some screen real estate.

For the absence of ignore end blanks, there is nothing that you can do.

Did you like this? Share it:

Switch to our mobile site