Video: Sneak Peek “XWIS Anywhere”

Xcelsius and Web Intelligence on Samsung Galaxy Tab

Who said Xcelsius cannot render properly on Mobile devices? Here is a video from Antivia, demonstrating Xcelsius and Web Intelligence reports on an Android powered Samsung Galaxy Tablet.


Video after the jump

Continue reading →

Free Excel and Xcelsius Webinars from DataPig Technologies

If you just got started in Xcelsius or are an intermediate user, these recorded webinars will be of great help. Mike Alexander of DataPig technologies was kind enough to share these webinars on his website. You can watch them for free. Apart from the Xcelsius webinars, if you are interested, there is also a recorded webinar on 10 Must Have Excel VBA Skills.

Click on the image below to go to the free webinar page.

xcelsius webinars

How to create a Radar animation using Xcelsius?

In designing a UFO Tracking dashboard for the Reportapalooza guest challenge, I decided that I needed to create a radar simulation. The math to get the radar to spin past zero wasn’t overly hard, but really through me for a loop at first (no pun intended)!

How to Create:
1. Setup play selector data

Cell A1: 0
Cell A2: =If(A1=100, 0, A1+1)

Continue reading →

Report Bursting with SAP Crystal Reports Server 2008

(Post #3 of 3 for Reportapalooza – Focused on SAP Crystal Reports Server 2008).

The idea to write about Report Bursting in SAP Crystal Reports Server 2008 came to me on the shuttle bus on the way to the airport in Orlando after a very successful (and one shiny iPad later) ASUG SAP BusinessObjects User Conference. The idea came by way of friend and fellow Reportapalooza expert – Brian Durning.

We were having a conversation about the “Reporting Remix” challenge and I asked his opinion on topics to discuss when writing about SAP Crystal Reports Server 2008. Brian is a highly accomplished SAP Crystal solutions expert and his immediate recommendation was Report Bursting. After some investigation, I now know why he made this suggestion. Report Bursting is a really powerful, convenient, and efficient process that minimizes the need for excessive individual report scheduling.

As the previous paragraph suggests, the inclusion of Report Bursting is one of the most anticipated enhancements to SAP Crystal Reports Server 2008. If setup correctly, this elusive feature is an SAP Crystal and BOE administrator’s dream. But if setup incorrectly, it will quickly become a DBA’s nightmare.  That’s why Report Bursting should be carefully researched and tested before implementing in a production environment. Once you’re ready, scheduling reports will never be the same (in a GOOD way).

What is Report Bursting?

Report Bursting in SAP Crystal Reports Server 2008 allows multiple groups of reports (known as Publications) to be scheduled and distributed to personalized groups of recipients with each group receiving reports containing data filtered differently. This is accomplished when the SQL statement is submitted to the database by the individual SAP Crystal Reports multiple times with different filtered values fetching different data values for each group.

This process provides the most efficient way of scheduling and distributing reports to a large number of users who require the same or similar reports but filtered by different parameters.

The reason that Report Bursting should be entered into cautiously is because of the potential impact on system resources. If the option “One database fetch per recipient” is selected when creating a Publication, the SQL statement of each report will query the database one time for each recipient. This option will almost definitely catch the eye of the DBAs if the recipient list is of significant size. But one database fetch per “batch” of recipients might be much less expensive and fly well below the DBA’s radar.

Creating a New Publication for Report Scheduling

To create a new Publication, begin by selecting a folder from the file menu in InfoView. Once you’ve done this, click New in the default toolbar and select Publication. This is displayed in the screenshot below.

Creating a New Publication in SAP Crystal Reports Server 2008

Once “Publication” is selected from the list of choices, you’ll have three options when the “New Publication” window opens.

  • Summary
  • General Properties
  • Source Documents

In the General Properties section, give your new Publication a name, description (optional), keywords (optional), and then select the Source Documents option. Next click Add to select the reports that will become a part of the Publication that will “Refresh at Runtime”. Multiple reports can be selected as part of a single Publication.

Basic Options of a New Publication

As soon as reports are added, six new options are made available. The “New Publication” now has the following property sections.

  • Summary
  • General Properties
  • Source Documents
  • Enterprise Recipients
  • Dynamic Recipients
  • Personalization
  • Formats
  • Destinations
  • Additional Options

Extended New Publication Options

The “Additional Options” section contains eight different options:

  • Print Settings
  • Delivery Rules
  • Merged PDF Options
  • Database Logon
  • Recurrence
  • Events
  • Scheduling Server Group
  • Advanced

Select the Advanced category and you’ll see settings in three different groups:

  • Profile Resolution
  • Personalization
  • Report Bursting Method

The Report Bursting Methods section provides three choices for bursting:

  • One database fetch for all recipients (recommended for minimizing the number of database queries)
  • One database fetch for each batch of recipients (recommended for high-volume scenarios)
  • One database fetch per recipient (recommended when using row level security within Universes or Business Views)

New Publication Report Bursting Method Options

Report Bursting Methods Described

  • One database fetch for all recipients – This option will submit the SQL statement of each report to the database once per report then deliver the data in the specified format to each recipient.  This method uses the database logon credentials of the publisher.
  • One database fetch for each batch of recipients – This is the default option when scheduling Crystal Reports. Batches can run concurrently on different servers to reduce the load on the system (keeping the DBAs happy). The size of the batches depends on the specified personalization. This method uses the database logon credentials of the publisher.
  • One database fetch per recipient – This method uses the data source logon credentials of each recipient as the query is submitted to the database once per report for each recipient in the publication. This option provides the greatest level of security but also produces the greatest load on the system if the recipient list is large.


In addition to Report Bursting, Publications provide an extensive set of options. Among the options that you’ll want to pay special attention to are the: Print Settings, Delivery Rules, Database Logon Credentials, Recurrence, and Events. Settings such as: Personalization, Formats, and Destinations should also be configured completely before saving and implementing a Publication.

Be sure to view the Summary option and review your selections before finalizing your Publication. You should also test your Publication before making it live. Refer to official SAP documentation for a more in-depth discussion of Publications and information regarding the various other options to configure, save, schedule, and view publication results.


After finally experiencing SAP Crystal Reports Server 2008, I am surprised at the great deal of sophisticated methods of delivering reports to users across the enterprise. Whether through the convenience of the portal , the use of automated report scheduling, or the use of personalized Publications for Report Bursting, SAP Crystal Reports Server 2008 is an excellent product for sharing information with users.

Questions? Please contact me.

Passing Data From a Parent to Child SWF (Data Sharer Component)

In my previous post I demonstrated how to pass data from a parent to child SWF with the use of Flash Variables and the SWF Loader component. Today, I’m going to demonstrate how to accomplish the same functionality leveraging a free add-on component from called the “Data Sharer”.

One of the noticeable difference in this solution compared to the use of Flash Variables is that the child SWF does not have to load and initialize each time the parameter is changed.

How to do it:

1. Go to and download the free data sharer component

2. Add the data sharer component with Xcelsius’ Add-On Manager GUI or see Kalyan’s post “Using the command-line version of the Add-On Manger in Xcelsius 2008” to add using command line

3. Using the same child.xlf as in my previous example I have kept the same cell (E6) reserved for my parameter

4. Next add the data sharer component found under the “Inovista Other” category in your components list. Note that the component will not be visible at run time.

5. Give the data sharer a connection name. In my example I have used “salesman”

6. Check the “Import Values” box

7. Select the range of cells for  the “Import Data Cells”. In my example it is cell E6

8. Save and export your child SWF

9. Using the same parent.xls as in my previous example I have made a few changes to the underlying excel sheet.

a. Cell B5 should have the URL to your child SWF (Note that your SWF Loader Component will link to this URL)

b. Cell B7 should be reserved for the parameter that is going to be passed

10. Add the data sharer component to your canvas

11. Use the same connection name that you used in your child SWF. I used “salesman” in my example

12. Check the “Transmit Values” box

13. Select the range of cells for the “Transmit Data Cells”. In my example it is cell B7

14. Save and export your parent SWF. Note that the parent and child SWF should be located on the same server or file directory.

There you have it. Passing data from a Parent to Child SWF leveraging what I feel to be one of the best free components available to the Xcelsius community. There are a few quirks with this component so be sure to read the supporting documentation when implementing into a more complex model.

As always, please feel free to download the source files.