Using BI Web Services to consume a Webi report

BI Web Services is a data connection that works in basically two steps: first, a Web Intelligence (Webi) dataset report is created, similar to that of Live Office. Second, in SAP BusinessObjects Dashboards this dataset is consumed as a Query as a Web Service.

The benefit of using BI Web Services is that it combines the strengths of both Live Office and Query as a Web Service. These benefits include:

  • The ability to perform complex calculations such as crosstabs, special aggregations, advanced contexts, and so on in the Webi document
  • The ability to schedule reports so that we don't run into issues with queries that take a long time to execute
  • We do not have to load the Webi report inside SAP BusinessObjects Dashboards, thus not requiring the extra Live Office bridge connection, which slows down dashboard performance considerably

In addition, BI Web Services has the ability to:

  • Perform filtering within a dataset. Basically, this is like viewing a scheduled Webi document and filtering further within that dataset. This is extremely important, because one of the limitations with Live Office is its inability to consume datasets greater than 500 rows. Earlier, we would have to consume the entire scheduled dataset from Live Office. However, now we can filter the scheduled dataset beforehand and then consume the filtered set in SAP BusinessObjects Dashboards. We have tested filtering on datasets of 20k+ rows and the performance is great!
  • Drill up and down hierarchies as shown in the following screenshot:

    Using BI Web Services to consume a Webi report

Getting ready

Using the eFashion universe, create the following Webi document that contains Year, State, and Sales Revenue:

Getting ready

How to do it...

We will first show you how to create a BI Web Service and then how to consume it in SAP BusinessObjects Dashboards.

Creating the BI Web Service

  1. Open up the Webi document, right-click on the dataset, and select Publish as Web Service.

    Creating the BI Web Service

  2. You will encounter a series of wizard instructions. Click Next until you reach the Publish Content menu. Enter a name for your dataset. Then click on the Set filters… button to set the appropriate filters on the dataset.

    Creating the BI Web Service

  3. Set Year as a filter and uncheck the rest. Then click OK.

    Creating the BI Web Service

  4. Click Manage servers… and make sure the correct server setting is in the box.
    Creating the BI Web Service
  5. If this is your first BI Web Service, the next window will show an empty tree structure. Click on the folder icon to create the new web service and name it BIWS_Demo.

    Creating the BI Web Service

  6. Now, if you click on the Web Service Publisher icon, on the left you'll be able to see the new BI Web Service that you just created.

    Creating the BI Web Service

Creating a BI Web Service connection in SAP BusinessObjects Dashboards

  1. Click on the Data Manager icon and add a Web service query (Query as a Web Service)* connection.

    Creating a BI Web Service connection in SAP BusinessObjects Dashboards

  2. Create a Dropdown component that allows the user to select a year, which we will use to filter the dataset appropriately.

    Creating a BI Web Service connection in SAP BusinessObjects Dashboards

  3. Now name the Web service query selection BIWS_Demo. On the left-hand input side, bind the value input parameter to the year dropdown output. Set the operator parameter to the value in.

    Creating a BI Web Service connection in SAP BusinessObjects Dashboards

  4. Now if you scroll down the input values window, you will see bindings for refresh and getFromLatestDocumentInstance. Refresh means that the query will execute every time, and getFromLatestDocumentInstance means that we will be grabbing the dataset from the latest scheduled instance. In our example, we will just execute the query every time. So set refresh to 1.

    Creating a BI Web Service connection in SAP BusinessObjects Dashboards

  5. In the Output Values section on the right, set the output binding for the row. Let's assume that the maximum size we can have for a table is 20 rows. Bind the row output to a 3 x 20 dataset.

    Creating a BI Web Service connection in SAP BusinessObjects Dashboards

  6. Click on the Usage tab and bind the trigger cell to the year output cell. Make sure the When Value Changes option is selected.

    Creating a BI Web Service connection in SAP BusinessObjects Dashboards

  7. Now bind a Spreadsheet Table component to the output dataset.
  8. Preview the dashboard and you will see that every time the year in the dropdown changes, the data results will also change.

How it works…

BI Web Services works by allowing users to consume a Webi document with any third-party application that accepts web services. In short, we create a Webi report and then publish the web service. Then using SAP BusinessObjects Dashboards or any other application that can call web services, we can retrieve the Webi report data with the appropriate inputs entered.

There's more…

As mentioned earlier, there is drilldown capability in hierarchies using BI Web Services. You can visit http://blog.davidg.com.au/2011/03/drill-down-in-xcelsius-using-bi.html to learn how to do so.

Finally, it is important to know the limitations that exist within BI Web Services. A great link on some of the limitations that we have discovered can be found in the presentation at http://www.scribd.com/doc/94112911/Leveraging-BI-Web-Services. The limitations and workarounds have been mentioned at the end of the presentation.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset