Skip to Content

Migrating SAP BI4 Sample Database & Universe to MS SQL Server 2012

Migrating SAP BI4 Sample Database & Universe to Microsoft SQL Server 2012

Introduction

Two sample Microsoft Access databases and Universe come with SAP BI 4.1.x eFashion and Club. This document describes the step-by-step instruction to migration the eFashion database from Access to Microsoft SQL Server 2012, as well updating the eFashion Universe. The Club database and Universe can be migrated and updated in a similar manner.

Overview

To migrate the database we will use SQL Server Management Studio (SSMS), a tool that creates NEW tables in a SQL Server 2012 schema and imports data from an Access database. Once the database has been migrated we then need to make a several updates to the eFashion universe to use SQL Server 2012 rather than Access syntax.

01_BI4_SampleLocation.png

The sample Access databases, Universes and Web Intelligence documents


D:\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\Samples\webi

Prerequisites

First we need to download SQL Server Express 2012 and SQL Server Management Studio tools (FREE). If you already have a licensed site for SQL Server 2012 no download is required. The great thing with using SQL Server Express 2012, it will support 64bit ODBC Drives now required by BI4 Platform.  The SQL Server Management Studio (SSMS) does not need to be installed on BI4 Platform Server as long as the SSMS tool can read the eFashion Access Database.  You can even copy the efashion.mdb file to SQL Server2012 Server.

Link to download SQL Server Express 2012 + Tools [FREE]

http://www.microsoft.com/en-ca/download/details.aspx?id=29062

02_MS Download SQL2012 Express.png

Second we need to installed SQL Server 2012 64bit Native Clients ver11 on all BI4 Platform Server and create 64bit System DSN called eFashion [ http://www.microsoft.com/en-ca/download/details.aspx?id=36434 ].

Download - SQL2012 Client.PNG

Make sure you have proper permissions to MS SQL Server Express 2012 / SQL Server 2012 to create tables and insert data.  You will need a BLANK SQL Server 2012 database called “eFashion”.

Migrate eFashion Database

Import_00.png

Import_01.png

Import_02.png

Import_03.png

Import_04.png

Import_05.png

Import_08.png

Migrate / Update eFashion Universe

Now that we have successfully migrated the eFashion database to SQL Server2012 we need to update the eFashion universe to utilize the SQL Server2012 datasource.

We need update SQL for several Objects and Predefined Condition, see below

Step 01: Launch Designer and go to <Tools>, <Connections> to make sure proper connection exist using SQL Server 2012 driver, called “eFashion_SQL”.  If you already have another connection, you can utilize that one instead.

Step 02: After validating connection, <import> universe from BI4. Import the eFashion universe found under “webi universes”. Optional take back-up of eFashion using Access DB

Step 03: Next go to <File>, <Parameters>, Definition Tab <Connection> and update to use “eFashion_SQL”.

Step 04: Update Description so that we can identify our updated universe, for example:

  • Add comment about using MS SQL Server 2012 Database
  • Update when last updated

Step 05: Next we need to <View>, <Refresh Structure> to confirm all the Tables are valid. You may need to update the table owner depending on UserID being used to connect to SQL Server. Select all tables, right click and select rename table with owner, if needed.

Step 06: Click <Ok> to save changes

Step 07: Run an Integrity Check to view error’s prior to making changes

Access-to-SQL2008_IntegrityCheck.png

Step 08: Update the SQL Select &/or Where clause for list of objects as shown below.

ALL_Objectsa.png

Update Invalid Objects and Conditions

Objects/Condition

Access

SQL2008+

Holiday (y/n)

ucase(Calendar_year_lookup.Holiday_Flag)

upper(Calendar_year_lookup.Holiday_Flag)

Region

N / A

CASE
WHEN @Select(Store\State) IN (‘IllInois’, ‘Massachusetts’) THEN ‘Mid West’
WHEN @Select(Store\State) IN (‘DC’, ‘New York’)  THEN ‘East’
WHEN @Select(Store\State) IN (‘Florida’, ‘Texas ‘) THEN ‘South’
WHEN @Select(Store\State) IN (‘California’, ‘Colorado’) THEN ‘West’
ELSE ‘UNKNOWN’ END

Sales floor size group

IIf(Outlet_Lookup.Floor_space>=1000, IIf(Outlet_Lookup.Floor_space>=2000, IIf(Outlet_Lookup.Floor_space>=3000, IIf(Outlet_Lookup.Floor_space>=4000, IIf(Outlet_Lookup.Floor_space>=5000, ‘5000 +’,’4000-4999′),’3000-3999′), ‘2000-2999′),’1000-1999′) ,’0-999’)

CASE
WHEN Outlet_Lookup.Floor_space  > 5000
THEN ‘5000+’
WHEN Outlet_Lookup.Floor_space >= 4000
THEN ‘4000-4999’
WHEN Outlet_Lookup.Floor_space >= 3000
THEN ‘3000-3999’
WHEN Outlet_Lookup.Floor_space >= 2000
THEN ‘2000-2999’
WHEN Outlet_Lookup.Floor_space >= 1000
THEN ‘1000-1999’
ELSE ‘0-999’
END

Sold at (unit price)

IIf(@Select(Measures\Sales revenue)>0,
IIf(@Select(Measures\Quantity sold)>=0,
@Select(Measures\Sales revenue)/@Select(Measures\Quantity sold)))

CASE
WHEN @Select(Measures\Sales revenue)>0 AND
@Select(Measures\Quantity sold)>=0
THEN @Select(Measures\Sales revenue)/
@Select(Measures\Quantity sold)
ELSE 0
END

Holiday period

ucase(Calendar_year_lookup.Holiday_Flag) = ‘Y’

UPPER (Calendar_year_lookup.Holiday_Flag) = ‘Y’

Sales floor size?

IIf(Outlet_Lookup.Floor_space>=100, IIf(Outlet_Lookup.Floor_space>=200, IIf(Outlet_Lookup.Floor_space>=300, IIf(Outlet_Lookup.Floor_space>=400, IIf(Outlet_Lookup.Floor_space>=500, ‘500 +’,’400-499′),’300-399′), ‘200-299′),’100-199′) ,’0-99’) IN @Prompt (‘Sales flloor size sqFt?’,’A’,{‘0-99′,’100-199′,’200-299′,’300-399′,’400-499′,’500+’},MULTI,CONSTRAINED)

CASE
WHEN Outlet_Lookup.Floor_space  > 5000
THEN ‘5000+’
WHEN Outlet_Lookup.Floor_space >= 4000
THEN ‘4000-4999’
WHEN Outlet_Lookup.Floor_space >= 3000
THEN ‘3000-3999’
WHEN Outlet_Lookup.Floor_space >= 2000
THEN ‘2000-2999’
WHEN Outlet_Lookup.Floor_space >= 1000
THEN ‘1000-1999’
ELSE ‘0-999’
END IN @Prompt (‘Sales flloor size sqFt?’,’A’,{‘0-99′,’100-199′,’200-299′,’300-399′,’400-499′,’500+’},MULTI,CONSTRAINED)

Owned stores

@select(Store details\Owned (y/n)) = ‘Y’

@Select(Store details\Owned (y/n)) = ‘Y’

Stores with long opening hours

@select(Store details\Long opening hours) = ‘Y’

@Select(Store details\Long opening hours) = ‘Y’

Step 09: After update then <Save> and check <Integrity> to make sure all is working properly.

Step 10: Last <Export> to CMS to test updated eFashion Universe.

Step 11: FINISHED

If you have any documents that are created against this universe then check that these are OK by editing the query and executing. Remember to save updated report.  You are also provided with list of samples located at D:\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\Samples\web


NOTE: See attached FIXED UNIVERSE & Excel showing SQL changes

Download attached file containing UNV & Excel table.  You may need to change extension from TXT to ZIP for ZIPPED file. !!!

8 Comments
You must be Logged on to comment or reply to a post.