Posts Tagged ‘Xcelsius 2008 Tips’

Oct
29

Dynamic status update of Check Box components in Xcelsius: Part 4/4

Not all check boxes are created equal

This post continues an examination of the methods to achieve dynamic update of Xcelsius Check Box component’s statuses that started in the previous parts of this series: Part 1, Part 2, and Part 3.

One of the interfaces that require this functionality is similar to the Row Selectability section on the Common tab of the Behavior ribbon in the Spreadsheet Table component properties. It is also used in Excel filters (“(Select All)” option) and in Tableau (“(All)” option), and in many other displays that include grouped check boxes.

This design consists of the multiple dependent check boxes that can be checked/unchecked selectively by a user, but also are governed by the so-called “master” check box. The status change of the master check box correspondingly affects the statuses of all of the other check boxes in the group.

To reproduce it in Xcelsius, I’ll use the model similar to the one used in the Part 3 with a line chart of traffic trends by geographic region and the check boxes representing these regions. Display status of each chart series depends on the checked/unchecked status of the corresponding check box. What the user sees as a check box is a push button component placed on top of two check box components. The push button has a transparent background. One of the checkboxes is set to be checked and the other one is unchecked. Their dynamic visibility is based on the status of selection (see details in Part 1 and Part 2). The challenging design difference in this model is that the component responsible for the Select All/None functionality (master control) is not a button as in Part 3, but a check box itself, at least in a visual capacity, and its functionality should create a corresponding user experience.

If the user unchecks any dependent check box, the master check box should be unchecked as well. If all of the check boxes are checked, the master check box should also become checked. We can’t get such functionality in Xcelsius models out of the box. But there is a workaround that I’m going to share with you.

On the figure below you can see the components included in the model.

To show what happens behind the screen at a run time I added a Spreadsheet Table component. It is based on the range C1:E6, which consists of the calculated statuses of selection and visibility. The next two figures show how the spreadsheet is set up.

Chart series are linked to the Calculated Data range (H2:K6). Formulae in that range use the REPT worksheet function that returns values from the Raw Data range (H8:K12) if corresponding display status in the range (D3:D6) is 1 and an empty string if it is 0.

Each click on any dependent checkbox (which is in fact on a transparent push button), copies the values (1 or 0) from the corresponding row in the range C3:C6 into the cell in the range D3:D6. Then, the formula in C3:C6 recalculates the inverted value in the preparation for the next click.

The Dynamic Visibility Status properties of the stacked check boxes representing the master check box are linked to the cell E2 (shaded in green on a spreadsheet).

The formula in the cell E2 ( =MIN($D$3:$D$6) ) calculates the lowest out of all dependent check boxes’ statuses.

When a user clicks on what is shown as the master check box and labeled as (All), he triggers an overlaid push button. It results in an insertion of values from the source range E3:E6 into the destination range D3:D6.

Formulae in E3:E6 range (1-$E$2) return inverted E2 value facilitating 1 and 0 toggling of dynamic visibility statuses of the all dependent check boxes and then, closing the loop, affects checked/unchecked status of the master check box.

This post concludes the series about dynamic status update of Check Box components in SAP BusinessObjects Dashboard (Xcelsius). With one of the next releases of the product, we might get the Check Box component’s behavior changed (at least as an option) to be similar to Excel’s Check Box control, and this series of posts will become obsolete. Until then, we can use the methods explained here to achieve the functionality, as of today, not supported in Xcelsius out of the box.

Leonid Koyfman is a BI professional with over 10 years of experience in a database design and development and in delivering reporting solutions using enterprise reporting technologies. He is a big Xcelsius enthusiast passionate about dashboard design and other kinds of data visualization. In his leisure time Leonid enjoys solving mental puzzles and hiking in the Bay Area with his family.

P.S. The BI Dashboard Formula is officially LIVE NOW! Read our Members’ Testimonials and see why we received a 98% approval rating! Register before November 7th and take 10% off with coupon code: MicoBuddy10.

Sep
24

Dynamic status update of Check Box components in Xcelsius: Part 3/4

Now you see it, Now you dont!

This post demonstrates how to apply the ideas presented in Dynamic status update of Check Box components: Part2 to the dynamic selection of chart series.

One of the features introduced in Xcelsius 2008 SP3 was a dynamic series selection in charts.This long awaited addition addresses an old request for the ability to hide/show a chart series at run-time.

Now, all we need to do to set it up is to go to Appearance section in the chart properties, enable legend on theLayout tab, check Enable Hide/Show chart Series at Run-Time check box and accept the default value of Check Box in the Interaction combo box. At run time, next to the corresponding labels in the chart legend, we’ll get the check boxes that govern the display status of the chart series as shown in the following example of charting traffic trends by geo region.


This approach is quick and intuitive. It’s a big step forward and in many cases will serve its purpose. But there is still room for improvement. One of the limitations is an inability to reset all check boxes (or all in a group) at once. So, the traditional solution for toggling a display of chart series based on Check Box components and Excel logic still takes its place and can be enhanced with the methods explained in details in (Dynamic status update of Check Box components: Part2). The following model shows how to apply such a technique to the previous Hide/Show chart Series example.

All custom push buttons shown above the chart use the Status range (cells H3:H6) as the destination. The raw data is in the range P3:U6.

The range J2:N6 is the data source for the chart. Formulae in the range J2:N6 calculate values for the chart series. When the values in the Status range are 0s, the formulae in the corresponding rows in the range J2:N6 return empty strings and series that are based on those rows are not displayed. And when the values in the Status range are 1s, the formulae in the range J2:N6 return the raw data values and the display status of the chart series gets toggled.

Custom push buttons are created as described in Customizing a Push Button component in Xcelsius.

The buttons support All, Invert and None types of selection. The buttons serve to select only series in the corresponding groups (USA and Canada in this example). The check boxes are also designed as custom push buttons and used for changing the display status of the chart series for individual regions (e.g. just Portland or Seattle and Portland).

Select None functionally is just one click less than a combination of All and Invert selections. So, depending on our intentions, we can save an extra click for the user by adding this button, or exclude it from the design to save some space on the canvas and deal with fewer components. Yet another option, as a compromise between two, is to stack the All and None buttons and toggle their dynamic visibility.

With such an implementation, after clicking the All button it will become invisible, and the None button will be displayed instead on the same spot. In turn, clicking the None button will hide it and make All button available for the next logical action. Using this option might need some integration with the Invert button functionality.

The example in this post demonstrates one of the practical applications of the dynamic check box status update in Xcelsius and can be extended to the designs that support more complex rules for simultaneous selections of logically grouped items.

Leonid Koyfman is a BI professional with over 10 years of experience in a database design and development and in delivering reporting solutions using enterprise reporting technologies. He is a big Xcelsius enthusiast passionate about dashboard design and other kinds of data visualization. In his leisure time Leonid enjoys solving mental puzzles and hiking in the Bay Area with his family.

Jul
26

Dynamic status update of Check Box components in Xcelsius: Part 2/4

Select All or Select None

The ability to update the status of multiple logically related Check Box components with one click is a common request when using SAP BusinessObjects Dashboards (Xcelsius).

Another frequently requested feature is the “Invert Selection” functionality, when on “one click” a user can deselect (uncheck) all of the currently selected items and select (check) those, which were not in the original selection.

The benefits of having these features might not be obvious while dealing with just 3-4 check boxes. However, when we have more of them and try to check only the few that we are interested in, such functionality becomes highly desirable.

The challenge here is making the Check Box component be checked or unchecked dynamically. In Part 1 of this series I demonstrated how to accomplish a dynamic status update (e.g. Reset) of a single Check Box component. This post is about applying that approach to multiple Check Box components.

Let’s build a model with multiple check boxes that represent geographical regions.

We want to support a selective update of individual check boxes and also a simultaneous update of all of them or just those that belong to a predefined group.

1. Set up a spreadsheet as shown in the figure below. For this example, the region “East” is associated with the group 2 and the other ones with the group 1 (see column H). These group names have no special meaning and could be replaced with other identifiers, if it’s also reflected in the dependent formulae.

2. Add to a canvas four sets of components, each of which represents the region to be selected at run time and consists of two check boxes (checked and unchecked), a label and a push button, as shown in a figure above.

3. Link Label components to the cells with the region names in the range I2:I5.

4. Bind the push buttons’ Source Data properties to the cells in column A and the Destination properties to the cells in the column G in the same row.

5. Make the push buttons transparent as explained in my Custom Push Buttons post.

6. Set the Item property of one of the check boxes in each set as a Checked and the other one as Unchecked. The Item property is located on the Common tab of the Behavior section.

7. Configure Dynamic Visibility for each check box in a set by linking their Status properties to the cells in the Status range G2:G5 (shaded in yellow). Set the Key property for the checked check boxes to 1 and to 0 for the unchecked ones.

8. Stack check boxes in each set and place the corresponding transparent push buttons on top.

9. Resize and align Label components with the check boxes.

10. Add to the model five new push buttons and label them as All, None, Invert, Group1 and Group2.

11. All push buttons will use the cells in the Status range (G2:G5) as a Destination property.

The Push Button component fires only on a click and stays neutral upon dashboard load. It allows us to use multiple push buttons pointing to the same destination. The ordinal positions of the components in the Object Browser do not impact the result.

12. Button All uses as a Data Source the range B2:B5 with values 1 in all cells.

Data Source property of the button None is bound to the range C2:C5 with values 0 in all cells.

Invert button points Data Source property to the range A2: A5 with the formula =1-G2 in the cell A2 copied down in other cells in the range.

Buttons Group1 and Group2 illustrate the selection that is based on a custom logic. They use as the Data Sources the ranges D2:D5 and E2:E5 correspondingly. The formula in D2 is =SIGN(H2=1) and the formula in E2 is =SIGN(H2=2). They are copied down the ranges and flagging regions in the Group1 and Group2.

13. For the visualization of underlying run time changes, add a Spreadsheet Table component and bind its Display Data property to the spreadsheet range shown in the figure above.

14. Open a Preview. As depicted in the following figures, we can flip the values in the cells in the Status range by selectively checking/unchecking check boxes and also can simultaneously check/uncheck check boxes in the various logical groups using the push buttons.

One of the practical applications of this functionality is a toggling of the display of a chart series based on the statuses of the corresponding check boxes. I will show how it can be implemented in one of the next posts.

Leonid Koyfman is a BI professional with over 10 years of experience in a database design and development and in delivering reporting solutions using enterprise reporting technologies. He is a big Xcelsius enthusiast passionate about dashboard design and other kinds of data visualization. In his leisure time Leonid enjoys solving mental puzzles and hiking in the Bay Area with his family.

Jun
6

Dynamic status update of Check Box components in Xcelsius: Part 1/4

Part 1: To Check or not to Check

One of the most common requests when using SAP BusinessObjects Dashboards (Xcelsius) is the ability to selectively reset Selector components back to their original state. Unlike many other selectors, the task isn’t as easy to achieve with the Check Box component. We can’t dynamically update its Checked/Unchecked status because the changes of the value in the cell that the component is bound to don’t affect the component itself. Lack of this functionality also makes it difficult to support updating the statuses of multiple check boxes at once. This post is the first of a series in which I’m going to share my solution to that challenge and examine some of its practical applications.

Xcelsius Check Box component looks similar to its Excel counterpart, but acts differently. In Excel, the connection between a Check Box control and its linked cell works both ways, as implied by the control’s property: Cell Link. Updating the Check Box status changes the value in the linked cell and vice versa. So in Excel, we can dynamically change a linked cell value and see immediate change in the control’s status. That’s not the case with the Xcelsius Check Box component. The hint is in the component’s corresponding property name: Destination. It only assigns the value to the target cell. If that cell is updated by other components, the Check Box component is not notified about the change, and its status stays the same.

Conduct a simple test and compare the results using the same scenario in Excel and Xcelsius:

1. Add a Check Box and a Spin Button control from the Excel’s Form Controls section to a worksheet and link both of them to the cell C2.

2. Set the spin button values range from 0 to 1.

3. When the check box is checked / unchecked the cell gets TRUE / FALSE values.

When the spin button is clicked Up or Down it changes values in the linked cell to 1 or 0 and at the same time the check box’s status gets toggled as well.

4. Now, let’s see what happens in Xcelsius.

Add Check Box, Spinner and Single Value components to a canvas.

5. Link all of the components to the cell C2 and open a Preview.

6. When the check box is checked or unchecked the destination cell gets values of 1 or 0.

But when the spinner updates the value in that cell the check box’s status doesn’t change.

This means that in the current version of Xcelsius there is no built-in functionality to dynamically toggle the Checked/Unchecked status of the Check Box component.

Luckily, there is a work around. Unlike Excel Form Controls, Xcelsius components have a Dynamic Visibility property. Using its magic in a conjunction with a Push Button component, we can simulate Excel’s check box functionality in Xcelsius.

Let’s create a model that demonstrates this technique:

1. Add two Push Button and two Check Box components to a canvas. We are going to extend the methods described in another post, Customizing a Push Button and combine check boxes and a push button into one custom push button. We also can use the Image Components instead, if we have a pair of good images of a checked and unchecked check box. It makes sense especially if we want to display the check boxes that look fancier than Xcelsius ones.

2. Set Item property of one of the check boxes as a Checked and the other one as Unchecked. Item property is located on the Common tab of the Behavior section. Bind Source Data for the push buttons to cell A3 and Destination to H3. The Excel formula in A3 is =1-H3 and the initial value in the H3 is 1.

3. Cell H3 will define the Dynamic Visibility Status property for both check boxes. Set the Key property for the checked check box to 1 and 0 for the unchecked one.

At this point the model set up should be similar to the following figure:

1. One of the push buttons will be displayed as is and the other one will be transparent. Its Label property should be blank and the Show Button Background property unchecked.

2. Stack check boxes and place the transparent push button on top of them.

3. Add Spreadsheet Table component to see what happens behind the preview.

Now we are ready to test.

When a preview starts we can see that the check box is checked and the values in A3 (shade in green) is 0 and in H3 (shaded in yellow) is 1.

When a user clicks on a check box, the unchecked one is displayed instead, and the values in H3 and A3 get changed to 0 and 1, respectively.

Clicking on the unchecked check box brings the model to the initial state. And, as we remember, the real click happens on the push button, not on a check box. But it’s transparent to a user.

Clicking on the shown push button updates the value in a status cell H3. But this time, unlike out-of-the-box Xcelsius behavior, the status of the displayed check box, from the user experience perspective, is also changed. In reality, we just alternated the display of the check boxes, but a user doesn’t know it (and doesn’t care).

This approach allows mimicking the Excel check box functionality in resetting the Checked/Unchecked status of the Xcelsius Check Box component. It also gives us a working model that we can extend to more complex designs that provide rules based dynamic selection of logically grouped multiple check box components. I’m going to show such an example in the Part 2 of this series: Select all or Select none.

Leonid Koyfman is a BI professional with over 10 years of experience in a database design and development and in delivering reporting solutions using enterprise reporting technologies. He is a big Xcelsius enthusiast passionate about dashboard design and other kinds of data visualization. In his leisure time Leonid enjoys solving mental puzzles and hiking in the Bay Area with his family.

Mar
16

Customizing a Push Button component in Xcelsius

One of the cool additions introduced in Xcelsius 2008 SP3 was a Push Button component. Now, with just a click of a button, you can copy (push) not only a single cell value, but multiple values in the contiguous range of cells to the destination range of the same size. You can also customize the look of a Push Button component to match dashboard requirements.

This tutorial illustrates how to create a custom Push Button by layering it on top of an Image component. To start:

1. Add a Push Button component to the canvas and select its properties.

2. On the General tab clear the text in the Label property and set Source Data and Destination properties as required. For this demonstration I set them correspondingly to the ranges $A$2:$A$6 and $B$2:$B$6.

3. Resize the Push Button dimensions as required by design.

4. Prepare an image file to be combined with the button. To avoid image distortion it should be proportionally similar to the desired dimensions of the Push Button. As an example, I copied from Google images an icon that symbolizes the Select All function.

5. Add an Image component to the canvas and on the General tab click the Import button. Although the label next to the Import button says JPEG or SWF options, Xcelsius also accepts BMP, GIF and PNG files.

6. Import the image file and check Resize Image to Component option.

7. If needed, resize both components to the same dimensions.

8. Place the Push Button on top of the Image component. To assure a proper layering apply Send To Back to the Image component.

9. Select the properties of the Push Button component, go to Appearance section and on the Layout Tab drag the Transparency slider to 100%. Alternatively, we can uncheck Show Button Background option on the same tab.


10. To ease maintenance, select both components and Group them together.

11. To visualize what happens under the hood, add to the canvas a Spreadsheet Table component with its Display Data property pointing to the range $A$1:$B$6.

12. Open Preview and test. It should be similar to the screen shots depicted below:

Preview on Load before click on a Push Button.

Preview after click on a Push Button

Combining a transparent Push Button component with an Image component underneath allows for a customized look and feel of the dashboard, enriching user experience.

Leonid Koyfman is a BI professional with over 10 years of experience in a database design and development and in delivering reporting solutions using enterprise reporting technologies. He is a big Xcelsius enthusiast passionate about dashboard design and other kinds of data visualization. In his leisure time Leonid enjoys solving mental puzzles and hiking in the Bay Area with his family.

Jan
10

Intro to Guest Blogger, Leonid Koyfman & what he has planned for Us!

Welcome to my first post on Everything Xcelsius. I’m Leonid Koyfman, a Database Architect at AKQA in San Francisco. Although my primary responsibilities are in a database domain, data visualization and dashboard design in particular have always been in the area of my interests. In my career I completed many reporting projects using Crystal Reports, Actuate and various Microsoft products.

Creating reports and dashboards in Excel prepared me well for transition to Xcelsius. Its mashup of art and technology impressed me from the moment I opened a trial version and I enthusiastically promoted Xcelsius in the company I worked for then.

Starting with Xcelsius 4.0 we developed a line of web analytics dashboards for financial institutions. Our clients loved them. Instead of hundreds static slides in PowerPoint decks, they received interactive dashboards with intuitive navigation and the level of detail not supported in the legacy reports.  While the data preparation on the database side and in Excel was the bulk of the work, using Xcelsius for the presentation delivered the knockout punch. The resounding success of the project made me even stronger proponent of Xcelsius. It also inspired me to be creative and look for workarounds when Xcelsius doesn’t support needed functionality out of the box.

While getting better with every new release, Xcelsius still needs more popularization. Everything Xcelsius is one of the major players in that field. I’ve been a big fan of the website for many years, regularly visiting the site, learning new techniques and developing new skills. I’m glad to have a chance to share some of my ideas, tips and tricks here.

In the next several posts I’m going to examine various applications of customized Push Button controls in Xcelsius. Stay tuned!!

Leonid Koyfman is a BI professional with over 10 years of experience in a database design and development and in delivering reporting solutions using enterprise reporting technologies. He is a big Xcelsius enthusiast passionate about dashboard design and other kinds of data visualization. In his leisure time Leonid enjoys solving mental puzzles and hiking in the Bay Area with his family.

Aug
11

Understanding BI4 Dashboards and XWIS

If you’re using Xcelsius (now SAP BusinessObjects Dashboards) for your enterprise dashboard projects, by not looking beyond what comes “in the box,” you may well miss out on capabilities which could make a critical difference to your project; even with the advent of BI4.

What you get with SAP BusinessObjects Dashboards is one of the best dashboard design platforms because of its free-form design paradigm for rapid dashboard development. Another great thing about SAP BusinessObjects Dashboards is the community of experts and third party providers who fuel adoption, education, and innovation.

A great example of this is XWIS from Antivia. The folks at Antivia say “every connected Xcelsius project could deliver better, faster and at lower cost using XWIS” and I have to say there is good reason for this, having created many connected dashboards over the years. I have taken a stronger stance in the last year endorsing XWIS 2.5 and would agree that XWIS can deliver between 10 and 20 times productivity improvement to Xcelsius projects. “Production dashboards in days not weeks or months” can actually be achieved, which is why XWIS has become a tool of my dashboard design trade!

Having said that, over the last few months I have been asked a number of times if the value of XWIS diminishes now that BI 4 is about to go to GA. My short answer is “no” for XWIS 2.5 and “absolutely not” for the recently announced XWIS 3.0. To elaborate, I wanted to share both XWIS and BI4 capabilities so you can determine for yourself.

What do I get in the box with BI 4?

BI4 is a significant upgrade to the SAP BusinessObjects product suite, perhaps the largest in its history, and has customers eagerly awaiting the GA (some details of the new capabilities of BI 4 can be found at SCN in Pierre Leroux’s blog: “Innovations SAP BusinessObjects 4.0“).

Included in the upgrade are a number of enhancements specific to SAP BusinessObjects Dashboards 4.0, the most significant being:

Embedded Query Designer

The embedded query designer is a great new way of streamlining the existing Query as a Web Service (QaaWS) process. Now it is possible to design your queries using a standard BOBJ query panel inside the Xcelsius environment. No more needing to reach for the stand-alone QaaWS front end. It currently only works on the new “unx” universes but expect that to change in the future. So, for people who are using QaaWS today this represents a great step forward in terms of developer workflow and productivity.

Direct binding

For queries which are created with the new embedded query designer, it is now possible to bind the results directly to chart and selector components, without having to go through the spreadsheet. This is yet another important step forward for the maturity of this dashboard development platform, alleviating traditional workflow and performance implications of spreadsheet binding.

Parameter Selector Component

Working in tandem with the previous two features the parameter selector component makes it simpler to add query parameterization capabilities to your dashboard so that the end-user can see different slices of data by selecting a new parameter for the underlying query.

What are you missing by staying inside of the box?

There are many compelling reasons to use XWIS with both XI 3 and BI 4, including long standing XWIS features, such as:

Content re-use:

One of the strengths of XWIS is that is lets you reuse existing BI content (WebI reports, Crystal reports (on a universe or not), JBDC queries …). It is almost certain that you already have the data you need for your dashboard in an existing, managed price of content already governed under SLAs. XWIS allows you to re-use this content rather than having to create new queries.

Hierarchies and auto-drill:

XWIS natively supports hierarchies from your universe, but even better, it also provides an interface to edit and persist new hierarchy definitions, so you can re-use them on other dashboard projects. Furthermore, through its hierarchical data support, XWIS also supports auto- drill both within its own components and also in native Xcelsius components using its innovative Autowire feature (see below).

Cached Data Sources:

Because XWIS can leverage Crystal or WebI as a data source (in addition to JDBC), you can leverage BOE scheduling to offload complex number crunching, and then push scheduled data to your dashboard that you can drill and filter through.

Dynamic Measures and Dimensions:

One of the really powerful features of XWIS is the possibility to change the dimensions and measures (and even the underlying report) dynamically at run-time depending on end-user actions. This is a game changing feature for developers; with a flick of a switch you can increase the sophistication of your dashboards to answer more end-user requirements more easily.

Design-Time Variables

If you require a custom variable in a dashboard, you don’t have to go back to the universe designer or bind your data to the spreadsheet, in XWIS, you can create custom variables right inside of the property sheet while maintaining its hierarchical relevance and drill path.

Autowire:

Bypasses the spreadsheet for charting components and allows XWIS components to directly connect to Xcelsius charts complete with support for hierarchies and auto-drill.

And now in XWIS 3.0, there is even more capability, including:

Live preview

The latest version of XWIS allows you to see your data immediately at design time, in tables, charts, and even GMaps Plugin. This is a huge timesaver and changes the whole dynamic of creating a dashboard by eliminating the need to continually go to preview mode to see how the dashboard will look to end users. This feature really does have to be seen to get a full appreciation of how radically it alters the design experience.

Data Sync:

Keeping a number of components in sync whilst navigating around a dashboard, is often a key requirement (and one that some niche dashboard providers have done a good job at), the new data component in XWIS 3.0 brings this capability to Xcelsius.

Data Merge:

With many organizations needing to combine BusinessObjects data with other sources (e.g.  SQL, OLAP, spreadsheet), XWIS allows you to merge data from multiple sources, within your dashboard, and then take advantage of all the XWIS capabilities (auto-drill, slice and dice, etc) using the combined dataset.

Where do you go from here?

When the rubber meets the road and stakeholders are accountable for delivering dashboards back to the business, developers need confidence to deliver a wide range of capabilities. This is where tools from partners within the SAP eco-system can make the difference to your XI3 and your BI4 projects.

When it comes to a complete dashboard lifecycle, I have always believed that Antivia approaches BusinessObjects connectivity and integration the way that it should have been done in the first place with Xcelsius. New BI4 enhancements illustrate that SAP is committed to improving enterprise integration and connectivity. If your company is already building dashboards with success using QaaWS for your enterprise initiative, SAP BusinessObjects Dashboards 4.0 will certainly be a breath of fresh air. However, if you really want to get the most from your dashboard development investment, I suggest that you give XWIS a serious look.

Feel free to post questions and comments here, as I would love to get the community’s feedback on this topic.

Ryan Goodman is the Founder of Centigon Solutions, an SAP® software solution partner, that is strategically focused on developing add-on products for use with Xcelsius®. To learn more about him, please visit our Gurus page

Jun
15

The Five “Unorthodox Principles for Dashboard Success”

Over the past several years, in my time at SAP BusinessObjects and more recently with Antivia, I’ve been privileged to witness many dashboard projects at many different organizations around the world. Looking back on these, I realized that aside from the mainstream Business Intelligence principles which most people talk about (e.g. involve the business users, make sure you have a high level sponsor, data quality matters, etc., etc.), there are also some rather less orthodox principles which help to deliver business benefit through dashboards.

These five “unorthodox principles for dashboard success” are :

  1. Definitions don’t always help
  2. Visuals matter
  3. Users always want more
  4. Beware of end-users and large data sets
  5. Knowing is nothing, doing is everything

And, they are explained in detail in a new Antivia eBook (registration required).

Together, the 5 principles provide a bit of a sideways look at the world of dashboards, and although they might seem a little tongue in cheek at times, each principle contains advice that I believe will genuinely help you to deliver dashboards more successfully and more valuably across your organization.

Donald MacCormick is the Chief Product and Marketing Officer at Antivia, an SAP® software solution partner, and creator of XWIS the Xcelsius-to-SAP BusinessObjects connectivity solution. In past years, he was a long term member of BusinessObjects and Crystal, and part of the team that brought Xcelsius into the BusinessObjects portfolio.

Apr
21

Xcelsius and Business Intelligence Web Services (BIWS)

With the limited availability of scalable data connectivity options for Xcelsius, are you constantly seeking  to improve your dashboard performance?  If your answer is ‘YES’, then this post is for you.

Easily connecting to an ‘Enterprise database’ is a well known problem when using SAP BusinessObjects Dashboards (formerly known as Xcelsius). Let’s refer to it as ‘SCDD’ from here on. Traditionally you have two main data connectivity options, namely Live Office and Query as a Web Service, that is until the release of Business Objects 3.1 SP2 which included a 3rd option named BI Web Services.

With BI Web Services (referred to as BIWS going forward), you leverage the web service engine available in Web Intelligence and connect it directly to your dashboard utilizing the QaaWS connector in SCDD.

5 Reasons why you should consider using BIWS:

  1. You can gain simple access via the QaaWS data connection interface
  2. Your data can easily be filtered using the filter properties in the report
  3. You can connect to cached reports to facilitate faster response times and dashboard overall performance
  4. You can filter, drill and prompt from your dashboard without the need to go back to the universe
  5. It will also be available in BI 4.0 (which is what I used for these examples)

To provide insight into the process, I broke it down into a 2 part step-by-step process that includes screenshots.  Keep in mind this was done in a BI 4.0 environment but should work the same in BOE XI 3.1 which is where I originally tested it.

PART 1: SETTING UP YOUR WEBI REPORT AND WEB SERVICE

1.  Launch the Web Intelligence Rich Client. Create your query and basic report. NOTE: Don’t be too concerned with formatting the report at this stage, just make it viewable so that you can review the output.

2.  Save and export the report to the CMS.

3.  In the Webi Rich Client, Highlight a report block and right-click then choose Publish as Web Service. (Note: Report web services are mapped to a report block just like Live Office objects are.)

4.  The Publish Content wizard is then displayed.  Click Next.

5.  Enter the Name of your web service to and click Next.

6.  Define the name of the content block, Set your Filters then Click Next.

7.  Click Publish, and voila! Your web service is created.

8.  Copy the WSDL url and place in a Notepad.  You will need to paste this into the QaaWS data connection in SAP BusinessObjects Dashboards.

The next step is to access the web service from your dashboard.

The BI web service is exposed as the same SOAP interface used by QaaWS. To use the service in your dashboard, you will add a QaaWS connection, Import the wsdl, choose a method and then define the input and output parameters.

PART 2: HOW TO CONNECT TO THE WEB SERVICE FROM YOUR DASHBOARD

1.  Launch SAP BusinessObjects Dashboards.

2.  Open the Data Connection Menu and add a QaaWS connection.  Paste URL into the wsdl URL box and then click Import.

3.  For this example, choose the GetReportBlock_State_Sales_Service from the Method dropdown list.

4.  In the Output Values, bind the table cell to the same number of columns as your web service report block. (Note: Choose as many rows as you think you may need)

5.  Bind the Header cell value to a single row of cells to hold your report block header.

6.  Change the usage to refresh when loaded.

7.  Preview your dashboard.

CONCLUSION: In reviewing the Connection options, you see that using the BIWS is more powerful than using the basic Qaaws connection. You have two methods to use, one for retrieving the full report block the other is for drilling. We will cover drilling in a future post.

TIP: If you want to search for a specific row value, you can set the value to be read from your spreadsheet and bind the operator to the word ‘equals’. There are other options for operator such as ‘greater than’ and ‘less than’.

With BI Web Services and SAP BusinessObjects Dashboards you have a lot of flexibility to provide fast and robust data access to your dashboards, hence improving the performance which is your main goal.

Scott Strool is a Senior BI Consultant for Benchmarkers Business Intelligence, where he helps customers obtain their BI visions. He presented at the 2010 SAP BusinessObjects User Conference in Orlando, FL, and has led many dashboard initiatives. You may follow him on twitter at @scott_strool.

Apr
4

Webinar Alert: Improving Xcelsius Dashboard Performance

Join Mike Alexander (Author, Crystal Xcelsius for Dummies & Microsoft Excel MVP) and Mico Yuk (SAP Mentor & Co-Founder, Benchmarkers Business Intelligence) on Friday, April 8, 2011, at 1pm EST, for a one hour webinar, titled: “Improving Xcelsius Dashboard Performance“.

In this session, Mike and Mico will share some techniques you can use to speed up your sluggish dashboard solutions.

Learn “How To”:

  • Use Performance Enhancing Excel Functions and Modeling Tips
  • Avoid Dashboard Habits That Slow Down Your Solutions
  • Lighten Dashboard Models with Server-Side Solutions
  • Leverage Performance Enhancing Tips for Qaaws And Live Office
  • Find out which Add-ons really help performance

We also have a surprise giveaway! So this is definitely a MUST Attend!

Webinar Details:

Also, don’t forget our Xcelsius Advanced Developer Workshop in Miami, FL is less than 3 weeks away. Seats are filling up fast and last year we had a waiting, so register before its too late!

Soo Tang Yuk is the ‘Xcelsius Gurus Network” community manager and evangelist. To find out more about her, please visit the About Us page.