Connecting Tableau to SAP BW

Beginning with version 7.0.4, Tableau supports connecting directly SAP® Business Information Warehouse (SAP BW) using the Tableau SAP BW connector. The Tableau SAP BW connector uses the OLE DB for OLAP provider and issues live queries to SAP BW using the MDX query language. One benefit to this type of connection is that you will always connect to the latest data. Additionally, the connection experience is very similar to using Tableau with other OLAP data sources, such as Microsoft SQL Server Analysis Services and Oracle Essbase. Beginning with Tableau 8.1 the Tableau SAP BW connector also supports data connections using extracts. For more information about using SAP BW extracts, see SAP BW Extract limitations.
Note: Because different data analysis tools use different APIs to connect to SAP BW, not all the same information or metadata is exposed. In other words, certain features that may be available in a tool like BEx Analyzer, which uses a native API, may not be available to Tableau, which uses the OLE DB for OLAP provider.

Step 1: Install SAP Software

The machine that Tableau Desktop or Tableau Server is installed on requires the SAP GUI for Windows, including the OLE DB for OLAP provider. Install the following:
  • Tableau Desktop or Tableau Server version 7.0.4 or later.
  • For the server machine: SAP BW 7.00 and later. Note: Tableau recommends installing at least SAP BW 7.00 SP20 or later to leverage important updates.
  • For the client machine where Tableau Desktop or Tableau Server is installed:
    SAP GUISAP Logon and Unicode RFC Libraries.

    Also, if desired, Business Explorer (SAP BW 3.x) and/or Business Explorer (SAP NetWeaver 7.x) and OLE DB for OLAP Provider:

    You can download SAP GUI for Windows (which contains the SAP BW OLE DB for OLAP provider) from the SAP Service Marketplace (SMP authorization required):
    • http://service.sap.com/swdc
      To install, click the link and then select Installations and Upgrades > Installations and Upgrades Entry by Application Group > SAP Frontend Components > SAP GUI FOR WINDOWS
  • If you are using a 64-bit version of Tableau you need to use SAP GUI 7.3 and the appropriate 64-bit SAP BW driver (available from the SAP web site). Download and install SAP GUI 7.3 and the correct driver, based on the version of SAP BW 7.3 you are using. Drive file names correspond to the SAP BW version and service pack, for example:
    • BWODBO64SP00_0-20007320.EXE ( For SAP BW 64-bit 7.30 SP00)
    • BWODBO64SP01_0-20007320.EXE ( For SAP BW 64-bit 7.30 SP01)
    • BWODBO64SP02_0-20007320.EXE ( For SAP BW 64-bit 7.30 SP02)
After installing the SAP GUI client, you need to define connections to your BW server(s) in the SAP Logon application. Refer to the SAP Documentation for how these connections can be created

Step 2: Connecting Tableau to SAP BW

Tableau enables you to connect to a BEx Query or to an InfoCube in SAP BW. Connecting to other objects like MultiProviders and ODS objects must be done through a Query. Any Query that you want to access from Tableau must have the “Allow External Access to this Query” option selected in the Properties tab in the BEx Query Designerapplication like in the example below.
The connection process from Tableau to SAP BW is straightforward and requires similar connection information as other tools that connect to SAP BW. From the Connect to Data page (shown below), select the SAP NetWeaver Business Warehouse option.
Follow the steps in the SAP NetWeaver Business Warehouse Connection dialog box to complete the connection process to Tableau. The individual steps are described below.

Step 1

Select an existing SAP Logon connection from the drop-down list.
Tableau automatically discovers the saplogon.ini file where this connection information is stored. If for some reason Tableau cannot detect the predefined connection, you can manually enter in the name of the connection by typing the connection name exactly as it appears in the SAP Logon GUI like in the example below:

Step 2

Enter the Client ID of the BW system, username, password, and optional language setting.
If you are not sure what values you should use, ask your SAP administrator.

Step 3

Click the Connect button to establish a connection.

Step 4

Select an InfoProvider with a BEx Query defined on it from the drop-down list, or select the $INFOCUBE option.
Tableau can connect to a BEx Query or InfoCube. Only the InfoProviders with a query defined on them are displayed in this drop-down list.

Step 5

Depending on the option you selected in Step 4, select the BEx Query or InfoCube.
You can select the following options:
  • If the $INFOCUBE option was selected in the previous step, you must specify which InfoCube to connect to in this step.
  • If an InfoProvider was selected in the previous step, you must select which BEx Query defined on that InfoProvider to connect to.
Note: Queries with mandatory variables defined are not supported. These Queries will not appear on the drop-down list in this step.

Step 6

Give the connection a friendly name to use in Tableau.
To complete the connection, click OK to populate Tableau with the Query or InfoCube information that you selected in the steps above.
After connecting to the BEx Query or InfoCube, Tableau automatically detects the properties of the objects such as dimensions, hierarchies, and key figures. Tableau then populates these properties in the Data window. Key figures display in the Measures area, and Dimensions display in the Dimensions area.
Now you can begin working with your SAP BW data as you would with other OLAP data sources in Tableau.

Known limitations

The following list describes the known limitations of the Tableau SAP BW connector and suggestions you can use to work around the limitations.

Mandatory variables

The Tableau SAP BW connector does not support BEx Queries with mandatory variables. In other words, a BEx Query that requires a user to explicitly provide a value at runtime is not supported. Use the following options listed below to work around mandatory variables.
  • Make the variable value Optional.
  • Remove the mandatory variable from the Query altogether.
  • Model the filter at a different level. Variables are commonly used to filter/limit the data being accessed. These filters can also be modeled at a lower layer on the BW server (such as at the InfoObject layer) which also has the benefit of not needing to constantly update Queries as the SAP BW objects evolve. They can also be modeled at the Tableau level through the use of filters.

Navigational attributes in InfoCubes

The OLE DB for OLAP provider does not expose the navigational attributes of an InfoCube. To work around this issue, first define a BEx Query on the cube with the navigational attributes included, and then connect to the Query from Tableau.

Relational/OLAP differences in Tableau

You should be aware of several differences between using Tableau with multidimensional data sources like SAP BW, and relational data sources. For a detailed list of differences between data sources, refer to the Understanding Functional Differences between OLAP and Relational Data Source Connections article.
SAP NetWeaver is a registered trademark of SAP AG in Germany and in several other countries.