Over the years, this has become a December tradition: A new Support Package will soon be available for SAP BI 4.3! This fourth one, comes as usual with great innovations, long awaited capabilities and usability enhancements requested by customers. This is the perfect Support Package you need until the release of SAP BI 2025 who will come with unexpected and breakthrough features.
This article is a complement of the official SAP documentation. It is part of the
What’s New in Web Intelligence and Semantic Layer series and summarizes the following changes:
The Data mode introduced in SAP BI 4.3 SP3 has been improved. Combining cubes is more powerful and flexible while more help is provided in its user interface.
In SAP BI 4.3 SP3, you create a virtual, combined cube to synchronize the datasets of two (and only two) cubes. In a combination, the objects identifiers are re-used, and a cube can be the parent of only one combined cube to avoid name collision.
To support new functional requirements, in SAP BI 4.3 SP4, the concept of virtual cube is extended, and a virtual cube can have one, two or more parents:
Virtual Cubes
When a virtual cube is created, new identifiers are created for the objects of this cube and there is no longer name collision between different cubes. Hence the limitation to use a cube only once as a parent does not apply anymore and the same cube can:
Virtual cubes are identified by a name that must be unique in the document.
You can create a child of a cube to keep its dataset before applying other transformations or combining it:
Cubes’ Children
To create a cube’s child, you can select a cube in the Graph Panel and:
You can also select this cube in the Main > Objects tab and select the Create Child command in its context menu.
The new created cube is displayed in the Graph Panel and in the Main > Objects tab and is identified with the Child icon ().
The Combine feature released in SAP BI 4.3 SP3 has the following limitations:
In SAP BI 4.3 SP4, these limitations have been addressed:
These combinations are ordered, and this order impacts the resulting objects and dataset at each step.
Applying several combinations to generate one single combined cube reduces the number of cubes and datasets in the document.
Because of these changes, combined cubes created in SAP BI 4.3 SP3 are no more supported in SAP BI 4.3 SP4 and must be recreated. When opening a document with such cubes in another mode than Reading mode, they are removed after a warning message.
Transformations defined on a combined cube are applied after all combinations have been performed.
To combine cubes and create a virtual cube:
Create Combined Cube: Operator List
Edit Keys Dialog Box
The new created cube is displayed in the Graph Panel and in the Main > Objects tab. It is linked to its parent cubes and is identified with the operator icon if it has only two parents or the Combined cube icon () if it has more than two parents.
To edit or delete a virtual cube, you can:
When you edit a child or combined cube, the Edit Cube dialog box opens where you can rename it, change its description, modify its combinations, or add a new combination. When you edit a virtual cube in the Edit Cube dialog box, you can also click the Add cube button () to add a new combination: A new line appears where you can select the operator, the cube to combine and the keys.
Adding a new combination to a cube does not modify the identifiers of this cube’s objects. If these objects are already used in the report, the lists of values they return take into consideration the new added combination. If you create a new cube, its objects have new identifiers, and you must replace these objects in the report to take into consideration the new added combination.
To add a combination to an existing virtual cube, you can also:
Edit Cube Dialog Box
This opens theEdit Cube dialog box to edit this virtual cube. A new combination with the other cube is added and you may change its operator and the default keys.
If some transformations are applied to the virtual cube, if a new combination is added, then these transformations apply after this new combination. If this is not the expected behavior, it remains possible to create explicitly a new combined cube who uses this cube as parent. But in this case, the new cube has new objects with new identifiers. To take advantage of its new dataset would require replacing the previous objects with the new objects in the report in Design mode.
You usually combine cubes to focus on their resulting dataset. Their parent cubes can be seen as temporary cubes that you do not necessarily need to have in Design mode to create your document. In Data mode, you can hide cubes, so they do not appear anymore in Design mode.
In the Graph Panel or the Main > Objects tab, use the Hide (or Show) command in the context menu of a cube to hide (or show) it. The Hidden icon () appears beside hidden cube.
Combined cubes inherit all objects from their parent cubes. But these objects may turn out to be useless to design the document. Identically, in Data mode, you can hide objects, so they do not appear in Design mode.
In the Main > Objects tab, you can use the Hide in children cubes (or Show in children cubes) command in the context menu of an object to hide (or show) it. The Hidden icon () appears beside hidden object.
In the Main > Objects tab, use the Show main view/Show all cubes toggle button () to display all cubes or only the cubes and objects that are visible in Design mode.
If you are connected through HTTPS or if you are using the Rich Client, you can copy lines and columns from Dataset View tables or facets and paste them into the Operating System’s clipboard (Request 294164):
The Data mode user interface has been improved with the following changes:
Hiding Data Sources and Queries
Since SAP BI 4.3, you can query another Web Intelligence document used as a data source. When this query is run, it retrieves the dataset already saved in the source document. This dataset might have been updated and saved during the last manual refresh, or through a schedule, if the Smart View > View Latest Instance option has been set in the CMC, in Web Intelligence application preferences.
In SAP BI 4.3 SP4, when you add a query based on a Web Intelligence document, you can select the new option Keep data up-to-date on refresh in the Web Intelligence Document Provider dialog box. If you select this checkbox and the document is refreshed, the underlying Web Intelligence document is refreshed as well (Request 285080).
Web Intelligence Document Provider Dialog Box
You can also modify this option in the Web Intelligence Document Provider dialog box when you edit this query in the Query Panel.
This refresh is propagated to only one level, i.e if the data source document also queries another Web Intelligence document, this document will not be refreshed.
If this document contains prompts, they are also prompted and factorized with other prompts when possible. However:
When creating a query in a Web Intelligence document containing multiple cubes, objects of all cubes are displayed in the Query Panel. Objects from different cubes are not compatible with each other and adding them in the same query creates multiple flows.
Query Panel
When the document is refreshed, data source properties (paths, descriptions,…) are retrieved and stored in the document when it is saved.
In Design mode, the Advanced Refresh, Purge Data and Change Source dialog boxes contain a new column with the queries’ data source and their path. If you hover your mouse over a query, the tooltip displays a summary of the query properties.
Design Mode: Advanced Refresh Dialog Box
This path is also displayed:
Design Mode: Query Properties Tab
As these paths are retrieved only when the document is refreshed, they are not displayed if you open a document that has just been migrated from a previous release. You need to refresh it first.
In Reading mode, you can select the queries to refresh:
Reading Mode: Advanced Refresh Command
In addition to universes created in Information Design Tool, Web Intelligence can query SAP Datasphere through BICS connector and direct access. Like SAP BW and SAP HANA, this direct access takes advantage of multidimensional metadata created in SAP Datasphere.
To query SAP Datasphere when creating a document, adding a query, or changing a data source:
SAP Datasphere in Web Intelligence Data Sources
Web Intelligence Direct Access connects to SAP Datasphere by using the OAuth 2.0 protocol via the BI Platform.
As for Google Drive or Microsoft OneDrive, to authorize this access and query SAP Datasphere, you must first configure the OAuth 2.0 protocol in the CMC > Applications page > Authentication Server Configuration.
Once done, each user must generate its token from SAP BI Launch Pad either in the Settings dialog box of the SAP BI Launch Pad, or when s/he tries to access SAP Datasphere.
In a query on top of an SAP BW, SAP HANA, or SAP Datasphere data source, you can create a filter based on an attribute (exposed as a detail in Web Intelligence), and not only on a dimension.
SAP BW/HANA/Datasphere: Filter Based on Attribute
The following simplifications are now offered in the query creation interface:
You can group optional prompts to define how they are displayed and how they are answered (Request 295788).
In Design mode, in the Main > Prompts tab (), click the Add Group button in the toolbar to open the Create Group dialog box.
Create Group Dialog Box
The new group appears in the Main > Prompts tab. From this tab, you can select a group and:
You can use the Up () and Down () buttons to define the groups and prompts order of appearance in the Prompts dialog box.
If all optional prompts of a group are deleted or turned to mandatory, the group no longer appears in the Prompts dialog box when the document is refreshed. But in Design mode, a warning icon () is displayed beside this group in the Main > Prompts tab to highlight that this group is no longer used. You can delete it or add new optional prompts to it.
Groups in Prompts Tab
When the document is refreshed, in the Prompts dialog box, the prompts are displayed under the groups to which they have been added. You can expand or collapse a group to show or hide its prompts. If a group is mandatory, you need to answer at least one prompt from this group. If a group is exclusive, you can answer only one prompt from this group.
Groups in Prompts Dialog Box
When scheduling or publishing a document with prompts, you do not need to explicitly answer these prompts. They can be dynamically answered by using the document’s saved answers. In SAP BI Launch Pad (this option is not available in the CMC), select the Use prompt values from source document checkbox in the Prompts section of the schedule or publication definition.
Schedule Prompts Option
Using this option leads to creating an instance for which the prompts’ values are retrieved from the source document during the scheduling or publication process. These prompt values are saved in the source document if the prompt is defined with the Keep last values option or has default prompt values. If previous or default values are not saved in the document, the scheduling or publication process fails.
The Prompts dialog box also offers a few usability enhancements:
Until SAP BI 4.3 SP4, it was possible to always hide an object in a table. In SAP 4.3 SP4, you can also conditionally hide objects of a vertical or horizontal table (Request 109833).
In Design mode, right-click a column of a vertical table or a row of a horizontal table to open the context menu. The possible options under the Hide menu are:
When the table is displayed, the conditions (when empty or formula) to hide these columns/rows are evaluated. If they are true, the columns/rows are hidden.
You can also select a vertical and horizontal table and set these conditions:
Hide When in Display Settings Tab
This new feature is not supported by other table types or charts. If you turn a table with conditions into an unsupported table type or into any chart, they are lost.
In Reading mode, it is now possible to maximize custom elements. This was not the case in SAP BI 4.3 SP3.
When a chart or custom element is maximized via the Maximize button in the floating toolbar, a navigation window is displayed in the top left corner of the chart. This window displays a full preview and the zoom area of the corresponding chart.
Chart Navigation Window
If the Freeze Header option is selected for tables, the tables headers remain on display while you scroll through the document in Presentation mode.
New features have been added to format numeric and date/time values in your document.
You can define a display format for numeric or date/time values directly on the object rather than defining it for each table or chart in which it is used.
In Design mode, select an object in the Main > Objects tab. In the Build > Properties tab, click the Edit Format link to open the Display Format dialog box. Assign a format to this object and click OK.
Object Format in Properties Tab
A preview sample using this format is displayed in the Build > Properties tab. To harmonize the user interface, the same Edit Format link that opens the Display Format dialog box is also used when defining a formatting rule.
The format defined at object level is not only used for tables and charts, but also for input controls that use this object.
The display format applying in order of priority to a value is the one defined in:
The Display Format dialog box has been overhauled to better manage custom and assigned formats.
To create a custom format, select an existing (predefined or custom) format, and click Add Custom Format. The selected format is used as a model for the new custom format. In the New Custom Format dialog box, select the data type in the Type dropdown menu. Depending on your selection, you may enter the tokens that define values for:
New Custom Format Dialog Box
It is not yet possible to edit a custom format, but you can:
Format Display Dialog Box
You can use the following new tokens to create custom formats for numeric values:
The returned values depend on the user’s preferred viewing locale and follow the Unicode standards of this locale (suffix rules and translations, accounting rules…) The currency symbol cannot depend on this locale without leading to changes in values. It must therefore be explicitly set through [CURRENCY:c].
For example, the value -12,345 is displayed:
Custom Format | Locales | ||
English | French | Japanese | |
COMPACT | -12K | -12 k | -1万 |
COMPACT[MIN_DEC:2] | -12.35K | -12,35 k | -1.23万 |
COMPACT[MAX_DEC:5] | -12.345K | -12,345 k | -1.2345万 |
LONG_COMPACT[MIN_DEC:2] | -12.35 thousand | -12,35 mille | -1.23万 |
CURRENCY | -¤12,345.00 | -12 345,00 ¤ | -¤12,345.00 |
CURRENCY[CURRENCY:€] | -€12,345.00 | -12 345,00 € | -€12,345.00 |
ACCOUNTING_CURRENCY[CURRENCY:€] | (€12,345.00) | (12 345,00 €) | (€12,345.00) |
CURRENCY_COMPACT[CURRENCY:€] | ¤-12K | -12 k € | €-1万 |
CURRENCY_COMPACT[CURRENCY:€][MIN_DEC:2] | €-12.35K | -12,35 k € | €-1.23万 |
These formats can also be used in the Formula Language through the FormatNumber function that formats numeric values. For example: FormatNumber([Margin]; “COMPACT[MIN_DEC:2][MAX_DEC:4]”).
By default, Web Intelligence considers a date/time in the UTC time zone. When creating custom formats for date/time values, you can use a new token, [TIMEZONE:t] in which t corresponds to a time zone name. The date/time is converted and displayed into this specified time zone. More than 500 time zones are supported, and their list is available in the SAP Online Help. For example:
This new token can also be used for more advanced time zone conversion (Request 203204) via two Formula Language functions: FormatDate and ToDate.
If the data type of your date/time value is string, you first need to parse it with ToDate by specifying its time zone and getting this date/time in UTC. Once you have a date/time in UTC, use FormatDate and specify the target time zone to convert the date/time in this time zone.
For example, to convert data/time values in the Europe/Paris time zone returned by the object [MyTime] whose data type is string into US/Pacific time zone, you may use the following steps:
If the data type of your value is date, Web Intelligence considers its time zone as UTC. You need to turn it into a string to parse it with the correct time zone and get the real date/time in UTC. Once the date/time is in UTC, you can use FormatDate to transform it in the target time zone as previously described.
For example:
New functions have been added to the Web Intelligence formula language to take advantage of the time dimension:
In the following example, a query retrieves the measure [Sales] and some dates in [Date]. A time dimension for [Date] is created and the following variables are defined:
These variables return the following values:
[Date].[Date].[Month of Date] | [Sales] | [Opening] | [Closing] | [Paralell+1] | [Paralell-1] | [Period] |
January | 10 | 10 | 60 | 20 | 10 | |
February | 20 | 10 | 60 | 30 | 10 | 30 |
March | 30 | 10 | 60 | 40 | 20 | 60 |
April | 40 | 10 | 60 | 50 | 30 | 100 |
May | 50 | 10 | 60 | 60 | 40 | 150 |
June | 60 | 10 | 60 | 50 | 120 |
Using the OpenDocument URL, you can set some custom properties in the document. New functions are available in the formula language to retrieve these custom properties and use them in your formulas:
For example, if you add the “&cpLine=Monitor&cpColor=Black” string to an OpenDocument URL that opens a Web Intelligence document, the following formulas can be used in this document to return its custom properties:
New auto-documentation functions have been added to provide additional details on the document’s data sources:
With:
The DataSource functions return a data source’s name, description, full path, parent folder and location type respectively. To get these values, you need to first refresh the document since they are retrieved and stored in the document when it is refreshed.QueryName returns the name of a query.
You may use:
New parameters have been added to the UserResponse function to modify the default strings used to separate prompts’ answers:
In which:
When using the OpenDocument URL to open a Web Intelligence document, you can pass one or several custom properties and their corresponding values. These custom properties can then be retrieved through the Web Intelligence formula language (CustomProperties and CustomPropertyValue), allowing you to customize and control the document content when opening it.
The syntax to pass a custom property in the OpenDocument URL is:
“cp<CustomPropertyName>=<Value>”
In which:
If the custom property does not exist in the document, it is created. For example, adding the string “&cpLine=Monitor&cpColor=Black” to an OpenDocument URL creates two custom properties in the document (if they do not yet exist):
If the custom property already exists, its value is replaced by the new value passed in the OpenDocument URL.
These changes are not persisted in the document if you do not save it.
In the Hyperlink dialog box, when parsing an OpenDocument URL that contains a custom property definition, this custom property is listed in a dedicated section.
Custom Properties in Hyperlink Dialog Box
Since SAP BI 4.3 SP3, you can set values for list or text field input controls during the intra-document link definition process. In SAP BI 4.3 SP4, you can also set these values for spinner, slider and double slider input controls.
In the Hyperlink dialog box, you can select these input controls and assign some values to them, values that you want to be set when the intra-document link is clicked. For each input control, the operator, minimal and maximal values are displayed. For a double slider, you must set two values.
Intra-Document Link: New Supported Input Controls
Due to the growing number of security threats, the use of hyperlinks is prevented in Web Intelligence by default to avoid links that potentially open malicious locations or trigger unwanted actions. From SAP BI 4.3 SP4 on, administrators must explicitly authorize all URLs used in Web Intelligence for:
These URLs must be authorized in the CMC, in Web Intelligence application > Properties > Authorized URLs page. This page was already used in previous versions to authorize URLs for custom elements and extensions. In SAP BI 4.3 SP4, a URL listed on this page is also authorized for hyperlinks in the document, as well as prompt hints, pictures and OData data sources.
Authorized URLs Page
To authorize a new URL, click the Add new URL button in the toolbar. In the Add URL dialog box, add the new authorized URL in the Authorized URL text field. This URL must contain the authorized protocol (http or https) and port. If this URL is used for a custom element or an extension, you can also enter a proxy server and port.
Add URL Page
You can enable all hyperlinks by typing the “*” character in the Authorized URL text field. It is a shortcut to authorizing all URLs for hyperlinks, OData data sources and pictures referenced by an URL. However, this character does not work for custom elements or extensions, for which the corresponding URLs must be explicitly entered. If you enter this character, a warning message is displayed, and you must confirm that you understand the potential risks.
Authorized URLs Shortcut Confirmation
When you upgrade to SAP BI 4.3 SP4, URLs used in your documents will no longer work, unless you authorize them in the CMC, either explicitly or through the “*” shortcut. This also includes some samples provided in the Public Folders/Web Intelligence Samples folder that reference https://services.odata.org/ and https://blogs.sap.com/.
If you enable hyperlinks, JavaScript, and HTML elements, in the Web Intelligence application > Properties dialog box of the CMC, a warning message is displayed, and you must confirm that you understand the associated potential risks.
Enable Hyperlinks, JavaScript, and All HTML Elements Confirmation Confirmation
If you are connected through HTTPS or if you are using the Rich Client, you can copy the content of a table or chart and paste it into the Operating System’s clipboard.
In Reading mode, select a table or a chart and copy it by clicking the Copy button in the floating toolbar.
In Design mode, select a table or a chart and copy it by clicking Content > Copy from the context menu.
If you copy a table and paste it into another tool that supports Rich Text, then the table is added with its formatting and borders. If you paste it into a simpler text editor like Notepad, a plain text version is used. Its format (column separators, text qualifiers, charset) is defined in the options set in the Export to dialog box when exporting to CSV and saved in the user settings.
Both the selected cells and their headers are copied into the clipboard, but the copy cannot exceed 25,000 cells.
If you copy a chart, a picture generated from this chart can be pasted into tools that support pictures (Request 265822).
The following usability changes have been made in the side panels:
Search in Variable Formula
To save space in the Filter Bar, the button to display the Prompts Summary dialog box contains an icon () rather than the full name Prompts. Hovering the mouse over this icon opens a tooltip that contains this Prompts Summary.
Hovering the mouse over an input control displayed in this Filter Bar also opens a tooltip with the selected value(s).
When editing an input control, the icon of the object type (dimension, measure, detail) is displayed beside the object name. Hovering the mouse over this object displays a tooltip with the object’s description.
In addition to the ability to maximize a custom element in Reading mode, the following changes have been made in Design mode for custom elements:
Web Intelligence leverages toggles to enable preview features or modify default behaviors. These toggles are documented in SAP Notes.
To simplify the use of these toggles, you can set them in the CMC:
Web Intelligence Toggles in the CMC
By setting toggles in the CMC, you need to set them only once. These toggles are kept when you install a patch or upgrade to a newer version.
Close Document Confirmation
The following customization items (Request 298161) can now be set in the CMC to hide features from the Web Intelligence interface:
When you retrieve data from a document report element or cube through OData, you can first refresh the document before returning the dataflow. To do so, add the following parameter to the OData URL.
sap_refreshdata=true
If the document contains prompts, you can also answer them by adding the following parameter to the OData URL:
sap_user_prompt=(<answeredPrompt1>,<answeredPrompt2>,<answeredPrompt3>,…)
The syntax of an answered prompt is:
String values must be passed between quotes and prompt identifiers can be retrieved by using the /$metadata call, under the “prompts” EntityType.
For example, adding the following string to an OData URL that queries a Web Intelligence document:
?sap_refreshdata=true&sap_user_prompt=(p_x005F_Year%20in%20(2025), p_x005F_Months%20in%20(“April”,”August”),p_x005F_Countries%20in%20(“US”,”France”,”Germany”))
refreshes this document and answers the following prompts:
New methods are introduced in the JavaScript API that can be used for Web Intelligence extensions and custom elements.
The WebiServices.document namespace contains new methods to manage document input controls:
In all these methods, obj is an Object representing the document input control. The document is implicitly the one for which the method is used.
In the WebiServices.document namespace, new methods are introduced to get the details of an object and the object’s list of values:
In the WebiApplication.Events namespace, you will find the following new events:
An event bus is available to exchange data between Web Intelligence extensions and custom elements. In the WebiApplication.eventBus namespace, the methods that leverage this event bus are:
In addition to the data sources supported in previous releases, the following additional data sources have been added to the SAP BI 4.3 Product Availability Matrix:
New versions of the following data sources are also supported:
Since SAP BI 4.3, SAP Datasphere is supported under the name SAP Data Warehouse Cloud through relational connections (JDBC and ODBC drivers) and universes created in Information Design Tool.
In SAP BI 4.3 SP4, the SAP BICS driver can also be used to access SAP Datasphere through:
This BICS driver allows you to query and leverage multidimensional features of any SAP Datasphere models: analytic models, perspectives, analytical datasets…
When creating the OLAP connection to SAP Datasphere in Information Design Tool or in the CMC, the only supported authentication mode is Single Sign-On via OAuth 2.0, which requires to configure OAuth in the CMC.
To reduce the size of very large universes, you can set their data foundations to support only included and excluded joins, rather than included, excluded and neutral joins. Indeed, in the first case, only the included joins are saved in the data foundation whereas in the second case, both included and excluded joins must be saved.
To change this parameter, select the root of the data foundation outline tree in the data foundation editor, to display the properties panel. Select the SQL Options tab and unselect the Allow neutral joins checkbox.
Data Foundation Allow Neutral Joins Parameter
If your data foundation already contains neutral joins, you cannot change this parameter and must first turn these neutral joins into included or excluded joins.
Once this parameter is disabled:
Later, you can reactivate this parameter.
This parameter does not change the resulting queries, but it may reduce the time to generate them. This improvement can only be noticed with very large data foundations.
When converting a universe created in Universe Design Tool, the data foundation is generated with the Allow neutral joins parameter being disabled. For very large universes, this reduces the number of joins stored in the data foundation and the converted universe is like the original one with included joins only.
In the Convert .unv Universe dialog box, when converting several universes, errors do not block the conversion of other any longer. Error messages, if any, are displayed in the Status column.
When exporting a business layer into a PDF, HTML or Text format, you can save the objects’ translation ID as well. These translation IDs are used in Translation Management Tool to identify these objects in the XLIFF files.
In the Export As dialog box, select the Translation ID checkbox before validating the export.
Export As Translation ID
To copy tables and joins between data foundations, you can use:
The copy keeps the objects’ positioning and tables state (Collapsed, Joins only, Expanded). The copied tables and joins remain selected after the copy.
In the Semantic Layer Java SDK, two new methods are added to define if the data foundation can support neutral joins:
Two further methods are added to set and get an object’s Database Format property: