Friday, June 17, 2016

Impact of a BEx query change to universes and WebI documents

Product versions:
SAP BusinessObjects Enterprise XI 3.1 SP2+
SAP NetWeaver Business Warehouse 7.x
Main Contributors:
Patrice Le Bihan
Stephane Thibault

Introduction

Ever wondered about the impact of a BEx query change to your universes and Web Intelligence documents ? "If I change this, will I need to refresh the universe structure ? Will my Web Intelligence documents break ?". This article aims at clarifying these questions for Web Intelligence documents that use OLAP Universe(s) based on BEx query(ies). More specifically, it clarifies which BEx query change does impact Universes and Web Intelligence documents and which one is transparent to them.
The first part of this article provides a summary table. The second part explains what to do to make the universe and Web Intelligence documents reflect the BEx query change. And finally, it covers each change scenario in details with more explanation and screen shots.
Note: the results shown in this article are valid from Service Pack 2 of SAP Business Objects Enterprise XI 3.1. The structure update feature for OLAP Universes was improved a lot in Service Pack 2, and that patch level (or above) is a requirement for the scenarios detailed below.
Note 2: in all this article, we are using some abbreviations in order to ease the reading. Web Intelligence and WebI stand for SAP BusinessObjects Web Intelligence. BEx for Business Explorer.

LifeCycle Management Summary

Below are 2 views of the same information :
  • which BEx Query changes require updates and which do not
  • the expected behaviour for each type of BEx Query change
(tick) means the BEx query change does not break existing universes and Web Intelligence documents and the change is transparently taken into account
(typically when only object values are affected by the change, and the query structure remains identical)
(info) means the BEx query change does not break existing universes and Web Intelligence documents, however the universe / document should be updated to take the change into account
(typically when an object is added to the query)
(error) means the BEx query change does break the universe or Web Intelligence document, and an update is required to repair it
(typically when an object is deleted from the query)

Which BEx Query change require Universe and Web Intelligence updates ?

(tick) BEx Query Changes that do not require any Universe or Web Intelligence document update
Details
Characteristics

Existing Web Intelligence documents will continue to work and the new value restrictions will take immediate effect
Web Intelligence documents will continue to work, the order of Characteristic and Key Figures in the BEx query is ignored by Web Intelligence and the Universe
Web Intelligence documents will continue to work, a Characteristic in Free Characteristic or Rows / Columns is viewed as the same thing by Universe and Web Intelligence documents
Key Figures

Web Intelligence documents will continue to work, the order of Characteristic and Key Figures in the BEx query is ignored by the Web Intelligence documents
Web Intelligence documents will continue to work and the new value restrictions or calculation function will immediately take effect
Structures

Changing a structure is equivalent to changing the order of Characteristic or Key Figures and is transparent to the Web Intelligence documents. Web Intelligence documents will continue to work
Variables

Changing a user-exit function definition is equivalent to changing a calculated key figure definition: it is transparent to Web Intelligence documents which will continue to work, the new variable values take immediate effect
Hierarchies

This feature is not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way
This feature is not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way
Conditions / Exceptions

Conditions are not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way
Exceptions are not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way
(info) BEx Query Changes that do not break existing documents but require a Universe update to be taken into account
Details
Characteristics

Existing Web Intelligence documents will continue to work, however the new characteristic will not be available when adding or editing queries until the universe is updated
Delete Characteristic if existing doc does not use the object
Existing Web Intelligence documents will only break if they use the object (characteristic) that was deleted
Key Figures

Existing Web Intelligence documents will continue to work, however the new key figure will not be available when adding / editing queries until the universe is updated
Delete Key Figure if existing doc does not use the object
Existing Web Intelligence documents will only break if they use the object (key figure) that was deleted
(error) BEx Query Changes that break existing documents and universe, hence require an update
Details
Hierarchies

The change of hierarchies selected for a characteristic impacts the universe structure and will require an update
Delete Characteristic if the existing doc uses the object
Existing Web Intelligence documents will only break if they use the object (characteristic) that was deleted
Key Figures

Delete Key Figure if the existing doc uses the object
Existing Web Intelligence documents will only break if they use the object (key figure) that was deleted
Variables

Web Intelligence documents are very likely to fail with an MDX error. Example: "(WIS 10901) The MDX query... failed to execute... for variable..." 
You might get some "Some objects are no longer available in the universe. See your Business Objects administrator. (Error: WIS 00001)" error when refershing the Web intelligence report, or some "The current query contains unresolvable objects. (WIJ20004)." when editing the query
Web Intelligence documents are very likely to fail with an MDX error. Example: "(WIS 10901) The MDX query... failed to execute... for variable..." 
You might get some "Some objects are no longer available in the universe. See your Business Objects administrator. (Error: WIS 00001)" error when refershing the Web intelligence report, or some "The current query contains unresolvable objects. (WIJ20004)." when editing the query

Expected behaviour for each type of BEx Query change

BEx Query change
Universe structure update required ?
Web Intelligence document update required ?
What happens if I do not update existing universes or Web Intelligence documents ?
Characteristics



(tick)
(tick)
Existing Web Intelligence documents will continue to work and the new value restrictions will immediately take effect
(info)
(info)
Existing Web Intelligence documents will continue to work, however the new characteristic will not be available when adding or editing queries until the universe is updated
(info)
(info)
if existing doc does not use the object 
(error)
if it does use it
Existing Web Intelligence documents will only break if they use the object (characteristic) that was deleted
(tick)
(tick)
Web Intelligence documents will continue to work, the order of Characteristic and Key Figures in the BEx query is ignored by Web Intelligence and the Universe
(tick)
(tick)
Web Intelligence documents will continue to work, a Characteristic in Free Characteristic or Rows / Columns is viewed as the same thing by Universe and Web Intelligence documents
Key Figures



(info)
(info)
Existing Web Intelligence documents will continue to work, however the new key figure will not be available when adding / editing queries until the universe is updated
(info)
(info)
if existing doc does not use the object 
(error)
if it does use it
Existing Web Intelligence documents will only break if they use the object (key figure) that was deleted
(tick)
(tick)
Web Intelligence documents will continue to work, the order of Characteristic and Key Figures in the BEx query is ignored by the Web Intelligence documents
(tick)
(tick)
Web Intelligence documents will continue to work and the new value restrictions or calculation function will immediately take effect
Structures



(tick)
(tick)
Changing a structure is equivalent to changing the order of Characteristic or Key Figures and is transparent to the Web Intelligence documents. Web Intelligence documents will continue to work
Variables



(info)
(error)
Web Intelligence documents are very likely to fail with an MDX error. Example: "(WIS 10901) The MDX query... failed to execute... for variable..." 
You might get some "Some objects are no longer available in the universe. See your Business Objects administrator. (Error: WIS 00001)" error when refershing the Web intelligence report, or some "The current query contains unresolvable objects. (WIJ20004)." when editing the query
(info)
(error)
Web Intelligence documents are very likely to fail with an MDX error. Example: "(WIS 10901) The MDX query... failed to execute... for variable..." 
You might get some "Some objects are no longer available in the universe. See your Business Objects administrator. (Error: WIS 00001)" error when refershing the Web intelligence report, or some "The current query contains unresolvable objects. (WIJ20004)." when editing the query
(tick)
(tick)
Changing a user-exit function definition is equivalent to changing a calculated key figure definition: it is transparent to Web Intelligence documents which will continue to work, the new variable values take immediate effect.
Hierarchies



(error)
(error)
The change of hierarchies selected for a characteristic impacts the universe structure and will require an update.
(tick)
(tick)
This feature is not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way
(tick)
(tick)
This feature is not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way
Conditions / Exceptions



(tick)
(tick)
Conditions are not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way
(tick)
(tick)
Exceptions are not exposed to the Universe and Web Intelligence documents, hence any change to its definition will not affect the universe or document in any way

How to update a Universe and Web Intelligence document ?

Universe Structure Refresh wizard

Universe Designer allows updates of an existing OLAP universe with a wizard accessible from View > Refresh Structure.

The wizard will ask for a few options on what to do with updated metadata, and added metadata, respectively BEx query objects that have changed or added. Objects deleted from the BEx query will be deleted from the Universe.
 

Update Universe in Web Intelligence

To correctly update a Web Intelligence document, you will need to edit the query and drag and drop the objects that need to be updated.

If the query panel does not automatically pick up the latest universe changes, go the query properties panel and select the same universe from the selection window. It will force the new universe to be loaded and you will, from there, be able to apply the desired changes.

Detailed Use Cases




Add / Change characteristics restriction (restrict to a single value, single to multiple value)

Restrict to a single value

The BEx query is updated with a new characteristic restriction. In our example, the characteristic Country is filtered to the hierarchy node "ASIA_PAC".
The universe structure does not require any update:
Nor does the Web Intelligence document, which returns the right data (new filter is applied) without any error:

Restrict to multiple values

The BEx query is updated with a new characteristic restriction. In our example, the characteristic Country is filtered to hierarchy nodes "ASIA_PAC" and "EUROPE".
The universe structure does not require any update:
Nor does the Web Intelligence document, which returns the right data (new filter is applied) without any error:



Add Characteristic or Key Figure

We are adding the Sales Person object as a free characteristic to the BEx query:
Existing Web Intelligence documents refresh without error. However the new object will not be available from the Query Panel until the Universe is refreshed. Refresh the universe structure to add the Sales Person characteristic. A new class and dimension objects appear for that characteristic.
Refreshing the Web Intelligence report refreshes fine. And when editing the Web Intelligence document, the added elements are available in the Query Panel:
The same applies to key figures : they will appear as new measure objects in the universe, and will not be available to Web Intelligence documents until the universe structure is updated.



Delete Characteristic or Key Figure

The deleted object (Characteristic or Key Figure) is not part of the Web Intelligence document

Let's remove the Sales Person object from the BEx query (this object is not used in the Web Intelligence report). Refreshing the universe structure will remove the Sales Person objects:
The Web Intelligence report refreshes fine (note the Sales Person object is not used in the report):
And when editing the Web Intelligence report, we can see that the Sales Person is no longer usable:

The deleted object (Characteristic or Key Figure) is part of the Web Intelligence document

Let's remove the key figure "Order Quantity". Refreshing the universe structure will return the following information:
Refreshing the Web Intelligence report will turn into an error:
An error is returned as well when editing the query:
The Query Panel now displays the updated universe, and the query can be rebuilt accordingly:



Change order for Characteristics or Key Figures

Changing the order of objects in a BEx query does not require an update of the OLAP universe or the Web Intelligence reports, as this change behaves in the rendering of the BEx query.
 
Nothing is updated in the universe:
Refreshing the Web Intelligence report works fine too without any universe update:
 



Add / Change Hierarchy enabled for a Characteristic

Change the value of the hierarchy

In this scenario, we are changing the hierarchy selected for a free characteristic : from "Country Hierarchy 01" to "Country Hierarchy 02".
The universe must be refreshed for this change to be taken into account. Elements of the "Country" class are updated.
Then, the Web Intelligence report refreshes fine:

Change a hierarchy value by a hierarchy variable

In this scenario, we are replacing the selected hierarchy "Country Hierarchy 02" by a hierarchy variable "Country Hierarchy Variable (RIG)".
Refreshing the universe structure will remove multiple elements:
and also add a new filter, the Hierarchy variable that will be called each time the Country hierarchy is invoked:
The Web Intelligence report will not refresh immediately after the universe update, an error (likely WIS 00001) is returned:
An error (likely WIJ 20004) is also returned when editing the query:
Once you clicked OK on the error message, the Query Panel displays the updated universe and the query can be rebuilt accordingly
When running the rebuilt query, the user will get prompted by the hierarchy variable to pick a hierarchy:



Move characteristics to/from Free Characteristic section

Move characteristic to Free Characteristic section

The addition of a new object (that is not initially part of the BEx query) is explained in the section above Add Characteristic.
Moving object from the Rows/Columns sections into the Free Characteristic section is equivalent to changing the order of characteristics and essentially transparent to the universe and Web Intelligence. No universe or Web Intelligence document update is required.

Move characteristic from the Free Characteristic section

Deletion of object from the Free Characteristic section is explained in the section belowDelete Characteristic or Key Figure.
Moving the characteristic from the Free Characteristic section to the Rows or Columns section is equivalent to changing the order of characteristics and essentially transparent to the universe and Web Intelligence. No universe or Web Intelligence document update is required.



Change Restricted Key Figure or Calculated Key Figure definition

We start with a Web Intelligence document that displays a calculated and restricted key figures.
Then, we change the definition of the Restricted Key Figure Gross Weight in kg Online Sales :
We can refresh the Web Intelligence document right away, without error, and observe the change is taken into account.
There is no need to update the universe:
The same is true for Calculated Key Figures. The calculation formula is processed by BW in all cases, hence is transparent to the Web Intelligence document and universe structure.



Change Structure (add / move / delete elements)

Change order of the elements selected in the structure

In this scenario, we are changing the order of elements selected in a structure.
We can refresh the Web Intelligence document right away, without error, and observe the change is taken into account.
There is no need to update the universe:

Change the selection of the elements in the structure

We are now changing the selection of elements.
We can refresh the Web Intelligence document right away, without error, and observe the change is taken into account.
There is no need to update the universe:

Delete some elements from the structure

We are now deleting elements from the structure.
We can refresh the Web Intelligence document right away, without error, and observe the change is taken into account.
There is no need to update the universe:



Add / Change Variable

Add an optional characteristic variable

If the characteristic (that you plan to apply a variable on) is used in the Query of the Web Intelligence report, you will get the same behavior as the one that is described in the section "4.2 Change a hierarchy value by a hierarchy variable".
Let's consider the characteristic (that you plan to apply a variable on) is not used in the Query of the Web Intelligence report
Let's add a new characteristic in the BEx query and restrict it via a variable:
Here is the updated BEx query:
Refreshing the structure of the universe adds some new elements:
And here what we see in the universe:
The definition of the Filter is:
<OPTIONAL>
<FILTER KEY="\[\!V000001\]">
<CONDITION OPERATORCONDITION="Equal">
<CONSTANT TECH_NAME="@Prompt('Select a single product (optional)','A',
'Product2\LovSelect a single product (optional)Base',mono,primary_key)"/>
</CONDITION>
</FILTER>
</OPTIONAL>
Note the <OPTIONAL> tag as it is an optional characteristic variable.
The Web Intelligence report refreshes fine and the user is prompted to select a value:
As the variable is optional, if the user does not select any value, here is the rendered report:
At the opposite, when prompted, if the user selects a value, here is a sample result (corresponding to the selected value in the prompt):

Add a default value to the optional characteristic variable

The universe structure needs to be update:
Here are the classes and condition objects in the updated universe:
The definition of the updated Filter is:
<OPTIONAL>
<FILTER KEY="\[\!V000001\]">
<CONDITION OPERATORCONDITION="Equal">
<CONSTANT TECH_NAME="@Prompt('Select a single product (optional)','A',
'Product2\LovSelect a single product (optional)Base',mono,primary_key,,\{'1111':'\[Z_PRODUCT\].\[0000001111\]'})"/>
</CONDITION>
</FILTER>
</OPTIONAL>
When refreshing the Web Intelligence report, the user is prompted to select a value, and the default value is already selected:
If the user does not choose any value, the default value will be taken into account, so that the rendered report is:

Change Optional variable to Mandatory variable

Let's change the Optional characteristic variable into Mandatory and let's keep the default value
The universe structure needs to be updated:
  
The definition of the Filter is now:
<FILTER KEY="\[\!V000001\]">
<CONDITION OPERATORCONDITION="Equal">
<CONSTANT TECH_NAME="@Prompt('Select a single product (optional)','A',
'Product2\LovSelect a single product (optional)Base',mono,primary_key,, \{'1111':'\[Z_PRODUCT\].\[0000001111\]'})"/>
</CONDITION>
</FILTER>
When refreshing the Web Intelligence report, the user is prompted to choose a value. Because there is a default value, this is similar to previous section.

Remove the Default value of the Mandatory variable

The universe structure needs to be updated:
Then the Filter definition is
<FILTER KEY="\[\!V000001\]">
<CONDITION OPERATORCONDITION="Equal">
<CONSTANT TECH_NAME="@Prompt('Select a single product (optional)','A','Product2\LovSelect a single product (optional)Base',mono,primary_key)"/>
</CONDITION>
</FILTER>
When refreshing the Web Intelligence report, the user is prompted to select a value. Because there is no value selected by default (no default value), the Run Query button is grayed out till a value is selected.

Hierarchy Variable

Let's use the following BEx query:
 
Here is the definition of the Filter object that corresponds to the Hierarchy Variable:
The definition of the Filter object is:
<OPTIONAL>
<FILTER KEY="\[\!V000002\]">
<CONDITION OPERATORCONDITION="Equal">
<CONSTANT TECH_NAME="@Prompt('select a country','A','Country\Lovselect a countryBase',mono,primary_key)"/>
</CONDITION>
</FILTER>
</OPTIONAL>
The behavior then is the same as the one described in the "4.2 Change a hierarchy value by a hierarchy variable".
The universe needs to be updated if the added hierarchy is applied on a characteristic that is part of the Web Intelligence report (an error is shown when refreshing the Web Intelligence report and the query needs to be rebuilt).

Hierarchy Node variable

Let's replace the Hierarchy Variable by the same Hierarchy Variable coupled with a Hierarchy Node Variable:
  
The Universe structure needs to be refreshed as the Filter definition changes with the 2 prompts (one corresponding to the Hierarchy Node Variable and a second one corresponding to the Hierarchy Variable).
Some new objects are added in the universe (hidden to the end user who creates or refreshes the Web Intelligence report).
Obviously refreshing the Web Intelligence report fails (because the Filter is not the same and the Characteristic on which the hierarchy node variable is applied is not the same from SAP BusinessObjects point of view):
Editing the query:
The Query Panel now displays the updated universe, and the query can be rebuilt accordingly (same as "4.2 Change a hierarchy value by a hierarchy variable").
You need to re-add the changed object (Node Level01 Country in the above example) and run the query:



Add/Change BEx display

Add / Change Axis Hierarchy

  
The Axis Hierarchy is not taken into account in any Web Intelligence report. This feature is only available in BEx and ignored in Web Intelligence.

Expand to a specific Hierarchy Level

The Expand To a Hierarchy Level is not taken into account in any Web Intelligence report. This feature is only available in BEx and ignored in Web Intelligence.



Add / Change Axis Condition

Conditions are not exposed to the Universe and Web Intelligence document, hence any change to its definition will not affect the universe or document in any way.
You can however implement the same functionality using filters in the Web Intelligence document, either query filter or report filter.



Add / Change Axis Exception

Exceptions are not exposed to the Universe and Web Intelligence document, hence any change to its definition will not affect the universe or document in any way.
You can however implement the same functionality using Alerts in the Web Intelligence document.

Source:https://wiki.scn.sap.com/wiki/display/BOBJ/Impact+of+a+BEx+query+change+to+universes+and+WebI+documents

No comments:

Post a Comment