________________________________________________________________________ Author: Chief Architect: Pals Nagaraj, PMP Jothi Periasamy SAP BusinessObjects Enterprise Certified SAP HANA/EPM/BI/EIM Community Thought Leader SAP HANA Certified SAP BPC/BOBJ/BI/MDM Community Domain Champion SAP HANA Community Member [email protected], (916)-296-0228 TOGAF 8 Certified, [email protected]CloneSkills, Inc., http://www.CloneSkills.com , [email protected], 1.800.836.8959, Page - 1 A SAP HANA Community Services 01/01/2012 SAP HANA and BOBI 4.0 Knowledgebase Data Services, Universe and WebI an end-to-end implementation guide A SAP HANA Community Services
148
Embed
Sap hana bobi 4.0 (data services, universe, web intelligence) implementation guide v1 p (1)
Over a period of time businesses produced substantial amount of big data on their day to day operations. These data are buried with a number of information such as how the business is performing? Where the risk is? Where the opportunity is? Which part of the business is getting stronger? Which part is getting weaker? Etc. Extracting the buried information, to drive the business in the right direction, is the role of information science discipline called Business Intelligence. This article address how the raw data from daily operation, walk through various Business Intelligence technology solutions, transforms and becomes a powerful tactical and strategic decision making tool for the businesses.
In this article we are focusing on a implementing an “end-to-end” SAP’s SAP BusinessObjects solutions on SAP HANA and SAP BW.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Propose of this document is to provide adequate functional and technical
implementation steps to develop a self servicing business analytics functions
using SAP BO 4.0 and SAP HANA 1.0 solutions.
Introduction:
Over a period of time businesses produced substantial amount of big data on their day to day operations. These data are buried with a number of information such as how the business is performing? Where the risk is? Where the opportunity is? Which part of the business is getting stronger? Which part is getting weaker? Etc. Extracting the buried information, to drive the business in the right direction, is the role of information science discipline called Business Intelligence. This article address how the raw data from daily operation, walk through various Business Intelligence technology solutions, transforms and becomes a powerful tactical and strategic decision making tool for the businesses. In this article we are focusing on a implementing an “end-to-end” SAP’s SAP BusinessObjects solutions on SAP HANA and SAP BW.
In this article we are using file as a source systems, and the data is in CSV format and contains massive volume of data but we are talking a sample of 400 records.
SAP BusinessObjects Data Services tool is the threshold of converting data into information. It is used for ETL – Extract, Transform and Load operation. Extract transaction data from multiple source systems (business may have more than one system to handle operational data) Transform the extracted data – cleanse, summaries/aggregate and create a single record at the aggregation level. Load – load the transformed data into a Data Warehouse or Data Mart. Sample Transformations Let us consider the following example sales data for company X.
Lines 1 to7 in the above data contain sales information for Quarter 1 of 2011 and remaining lines contain sales information for Quarter 2.
The SAP BusienssObjects Data Services ETL process converts these detailed data into the following summary data and sends it to Data Warehouse – SAP NetWeaver Business Warehouse, in this case.
Using the above data Company X can find information like,
SAP BW Setup 1) Verify SAP BusinessObjects Data Services and SAP BW integration 2) Create InfoObjects, InfoSources, Transfer Rules, Application Components
in SAP BW. 3) Create SAP BW Info Source, Data Source
SAP BusinessObjects Data Services Setup
4) Setup DataStores, Jobs and Data Flows in SAP BusinessObjects Data Services
5) Configure SAP BW to execute Data Services Job to transform source data in SAP BW PSA
6) Get Data Services job metadata .bat file. SAP BW InfoPackage/Scheduler Setup
7) Create InfoPackage and pass the Data Services job metadata .bat file as a parameter
8) Schedule InfoPackage to execute the Data Services job (using metadata file) and move data into PSA The detailed steps follow.
Click Connection Test button to verify the communication between Data Services and SAP BW. If the communication is fine the following window will be displayed. If not refer you System Administrator to establish this connection before proceeding to further steps.
Verify RFC Server Interface Status in Data Services For the RFC – Connection Test mentioned above to pass the following configuration is required in Data Services side Login into Data Services Management Console (may need Administrator role). Navigate to SAP Connections – RFC Server Interface Verify RFC Destination configured in SAP BW (DATA_SERVI in this case) is listed under RFC Server Interface and the status is “Started”.
Log into SAP BW Using Transaction Code rsa1 open the Data Warehouse Workbench. Create InfoArea (or select already existing InfoArea of your choice) following the step given in the screenshot below.
Repeat the above steps to create Key Figure InfoObject Catalog (in the Edit InfoObject Catalog window select Key Figures instead of Char) After completion the catalogs should appear under InfoArea as shown below – one for Characteristics and one for Key Figures
In this step Characteristics and Key Figure InfoObjects are created to receive the data coming from SAP BusinessObjects Data Services. Creating Characteristics
1. Right click on the Characteristics InfoObject Catalog and select Create InfoObject
2. In the Create Characteristics menu, enter name for the characteristics and Long description. Note: name must be without space and 9 characters maximum
3. In the detail screen-General Tab enter, Shot description, data type and length.
5. Save the characteristics. 6. Create Object Directory Entry window will popup. Select Local Object. 7. Activate the InfoObject 8. Created InfoObject will show up under InfoObject Characteristic Catalog
Repeat the above steps to create P_ACCT (*_PACCT), P_ACTIVITY (*_ACTY), P_CC (*_PCC), P_DATASRC (*_PDS), RptCurrency (*_RCUR) and Time (*_TIME) Characteristic InfoObjects. (*=prefix of your choice) Creating Key Figures
1. Right click on the Key Figure InfoObject Catalog and select Create InfoObject.
3. In the “Create Application Component” window (not shown), enter name (9 characters max without any space) and Long Description and click the check icon.
4. Next in the Create Object Directory Entry window (not shown) click on Local Object. The created Application Component will be listed under “InfoSources” as shown below.
In this step, the InfoObjects created in the above section are established a target datastore to receive the data from the CSV file.
Section Roadmap
Steps:
• Create Project • Create source datastore (in this case, the CSV file, as data source) • Create target datastore ( in this case, the InfoObjects in SAP BW, as data
target) • Create data flow connecting the data source and data target using
Create source datastore for the CSV file. Select Flat Files tab under Local Object Library to open Format section. Right click in the white space area. Select New -> File Format.
Next, in the File Format Editor, in General Section enter name for this format (plan_data_csv); under Data File(s) section enter, Root Directory (C:\PAL) and csv data file name (plan_ap.csv) and enter. Select “Yes” for the prompt “Overwrite the current schema with the schema from the file you selected?”
File Format Editor reads the data from the file and displays as shown below. Note in the top section the field names defaults to “Fieldx”, data types and field lengths are automatically detected.
In the Create New Datastore window, enter all required information. For Datastore type, select SAP BW Target. Click Advanced << button and enter Client number, System number. For Routing String enter /H/ which represent host.
Expand Transaction Transfer Structures in the imported SAP BW InfoSource and double click the infosource (in this case BBJ_IFSRC2_3X_RF). All the SAP BW InfoObjects will be displayed in the Transfer Structure Definition.
Create data flow connection data source and data target using Validate transform Next step is to create dataflow using soure datastore, target datastore and Validation Trasform. Select the DataFlow tab, right click and create a New dataflow. Name is at DF_... (in this case DF_CSV_2_BW)
Open the newly created dataflow. Select Formats tab and drag the CSV datastore created before into the dataflow and select Make Source – to make it as source of data.
Select datastore tab, select the SAP BW target (in this case BBJ_IFSRC2_3X), drag it into the dataflow.
Select Transforms tab, expand Platforms and select Validation and drag it to the dataflow. Connect source to validation and validation to target as shown below.
Create job and add data flow to the job Next step is to create a job and add data flow to it. In the Project Area, right click the project and select New Batch Job. Prefix the name with JOB_ (JOB_csv_to_BW as shown here).
At this point data is not transferred to SAP yet. Metadata about the job is created in the repository. Export this metadata into a file. Use that file in SAP BW, run the Data Services Job from SAP BW and pull the data into SAP BW. The steps follow. Open Data Services Administrator Go to Tools menu and select Data Services Management Console… Log in if required. Click on Administrator menu. In the console, expand Batch, select your repository. Verify that the job status is complete.
Navigate to the folder specified in the above step and verify that a .bat and .txt job files are created. (in this case, JOB_csv_to_BW.bat and JOB_csv_to_BW.txt). The .txt file contains the job information and the .bat file contains command to execute the job.
Create InfoPackage in SAP BW Log into SAP BW and go to Data Warehousing workbench:Modeling. Select DataSources. Right click on the DataSource created before and select “Create InfoPackage”.
Enter InfoPackage name and Save. Select Local Object for “Create Object Directory Entry” prompt.
In the Scheduler(Maintain InfoPackage) select 3rd Party Selection tab. Click Refresh button till entries show up for Name and Input Value columns. Enter Repository, JobName, JobServer information. For Advanced_parameters enter the job meta data file name with full path (in this case C:\PAL\JOB_csv_to_BW.bat)
Go to Processing tab and select “Only PSA” Go to Scheduling tab, check Start Data Load Immediately, click Start. Data was requested should appear in the bottom status bar.
PSA Maintenance window will open with number of records transferred. (In this case there are 400 records transferred – all 400 records in the csv file.
From PSA the data can be transfer to an InfoCube. Data transfer using SAP BusinessObjects Data Services between non SAP systems like database to database, flat file to flat file, flat file to database, etc is relatively straight forward –select data from source and insert data into target. SAP BW system is a very comprehensive system with built-in resource to handle in coming data. Inserting data into SAP BW or any SAP database schema need to use built-in mechanism as demonstrated in this section.
Load the exported CSV data into an InfoCube Next, we will build an InfoCube and use that cube as a data source for next section – Building Universe using SAP BusinessObjects Information Design Tool. InfoObjects and Lowercase letters Note: By default the InfoObjects will accept only uppercase letters. If the sample csv data contains lowercase letters, the InfoObjects should be configured to accept lowercase letters. Log into SAP BW, go to Data Warehousing workbench and select InfoObjects under Modeling. Go to the InfoArea and select Characteristics InfoObject catalog. Right click on the InfoObject that need to accept lowercase letters and select change. In the Change Characteristics window under General Tab select Lowercase letters. Save and Activate. Repeat the steps for all the InfoObjects
that need to accept lowercase letters. Refer to the screen shot below and follow the numbers for step sequences.
Build an InfoCube Select InfoProvider from Modeling menu. InfoArea will be displayed (in this case BOBJ CLASS PALS). Right click on the InfoArea and select Create InfoCube.
Repeat the above steps to create all required Dimensions. (In this case- Category, P_ACCT, P_ACTIVITY, P_CC, P_DATASRC,RptCurrency,Time)
Add Characteristics InfoObjects to Dimensions Click the InfoObject Catalog in the top row. This will open Select InfoObject Catalog window. Select the characteristics InfoObject catalog (created in the very begining)
Drag and drop all the InfoObjects to the corresponding Dimensions (eg. Category infoObject to Category Dimension, etc. Note if you have more than one InfoObject with same name, select the appropriate one to add to the dimension in this InfoCube). Repeat the step to add all other Characteristic InfoObjects to other Dimensions. After adding all the required InfoObjects to the appropriate Dimenions, expand each dimension and make sure corresponding InfoObject is listed under the dimension as shown in the following screenshot.
Key Figure Open the Key Figure InfoObject Catalog (follow the same step to open the Characteristic InfoObject Catalog), drag and drop Revenue Key Figure infoObjects from the template on the left to the Key Figure folder in the InfoCube on the right . Expand all the dimensions and Key Figure and make sure Dimensions have Characteristics InfoObjects and Key Figure has Key Figure InfoObject. Save and Activte.
Load the InfoCube with CSV data Loading InfoCube requires 1) a Transformation and 2) Data Transfer Process. Create Transformation Here we define where the data should go (to the cube) from PSA. Actual data transformation is done by Data Transfer Process. Right click on the cube created above and select Create Transformation
In the Create Transformation window, enter the InfoCube created above. For source Object Type select DataSource and enter DataSource and Source System information. (You may need to check with System Administrator)
Save and Activate the Transformation. Transformation will be activated and listed under the InfoCube (green X like icon). A Data Transfer Processes folder will also be created under the InfoCube.
Create Data Transfer Process Right click Data Transfer Processes and select Create Data Transfer Processes.. In the Create Data Transfer Process verify source and target and click green check icon button.
In the Data Transfer Process details, accept default values in Extraction and Update tabs. In Execute tab, the Execute button will be deactivated. Activate the Data Transfer Process, to activate the Execute button. Click the Execute button after it is activte.
Check the data in the InfoCube Right Click on the InfoCube. Select Manage. Go to Content Tab. Click on Fact Table button. In the Data Browser, click Number of Entries and verify 400 records – from CSV, are in InfoCube.
In the Fld Selectn for Output window, click Highlght all Key figs, Select All Characteristics and the clock icon
Fld Selectn for Output window will close and ..Select.Screen window will show up. Click clock icon in the ..Select. Screen. Data in the InfoCube will be displayed.
Note the created InfoCubes technical name (in this case, BBJ_CSV2). It will used in the next section.
4. SAP BusinessObjects Information Design Tool
SAP BusinessObjects Information Design Tool is used to build Universe.
Universe is a semantic layer lying between data warehouse and presentation layer (reports, dashboards etc.). The purpose of the universe is to help the business division users (not technical users) to be as independent as much as possible from IT when using the BusinessObjects BI system. This is achieved by translating the data in technical terms to familiar business terms. For example, translating P_CC to Cost Center. These business terms are saved as objects in the universe and provided to the business users, giving them the flexibility to create reports, dashboards etc. on their own. In addition, universe provides data format, security, filters, lookup lists etc.
This section covers building a Universe, on top of the InfoCube with CSV data created in the previous section using, SAP BusinessObjects Information Design Tool. Step to create universe
Log into Information Design Tool. Select File – New – Project. Enter Project Name and click Finish. The new project (InfoCube-Data) should appear under Local Projects
In the Database Middleware Driver Selection window, select SAP Java Connector under SAP NetWeaver BW and click Next.
In the Create an SAP NetWeaver BW Connection window, enter logon and server information. Click Test Connection (1). Test Successful message should appear (2). To select the InfoProvider (InfoCube) click on the … button (above Test Connection button) (3)
In the Select InfoProvider Fact Table, Click on the Search Icon (1) Enter the technical name of the InfoCube (in this case BBJ_CSV) (2) Select the InfoCube from the list (3) Click OK (4)
Published connection should appear under the Project as shown below.
If the connection does not show as shown above, select the connection from Repository Resources, right click and select Create Connection Shortcut. Select the project. Connection should appear under project.
To verify the connection and the data, Go to the Repository Resources and find the connection created above (1). Click Browse Data tab on the right section (2) Set Max Rows to 500 (3) Double click on the Key Figure or a Dimension (4) Data will be retrieved and displayed. All 400 rows will be retrieved and displayed. (5).
Next we create a data foundation based on the connection created in the above steps. Select File-New-Data Foundation. Enter data foundation name and click Next. For Data Foundation Type, Select Multisource-Enabled. Click Next.
In the next window – Define connection properties for connection, Click Advanced button and make sure that “Automatically create tables and joins (recommended) is checked.
The role of the business layer is to build objects based on the underlying data foundation that will be useful for business users. The objects are created using one or more database columns, views, functions like aggregation, sum etc. These objects do not hold any data. (Screenshots not shown in the following steps since they are self explanatory) Select File-New-Business Layer. In the next window select the project and click Ok. In the next window select Relational Data Source and click Next. In the next window enter the Business Layer name and click Next. In the next window select the data foundation created in create data foundation section (click the … button to get list of data foundations in the project)
The business layer will be created and displayed with folders with table names and columns inside them. Folders are called Classes and columns are called Objects.
Business users will not be able to understand what P_ACCT, P_CC etc. is even thought they contain data required for the users. P_ACCT contains account names/numbers. P_CC contains Cost Center information and so on. In business layer these data are organized in such a way it can be understood and used by the business users. Next steps A Class (Folder) named Actual & Plan data will be created with Category, Account, Activity, Planning Activity, Cost Center, Data Source, Report Currency (as Dimensions) and Revenue (as Measure). Time will be split into Month and Year.
Create Actual & Plan Class (Folder)
Right click on the business layer name-select New – Folder
In the Dimension Properties window, under SQL definition, click SQL Assistant… button for “Select:”
In the SQL Expression editor on New Dimension window, expand Category folder and double click on the Category dimension (1) @Select … expression will appear (2) Validate (3) and click Ok.
Dimension Properties window will display Change the name of the dimension to Category(1) Category object will appear under Actual & Plan class (2) Category object will be active (3)
Repeat the above steps to create all other objects. Finally the object list should like shown below. Map P_ACCT to Account, P_CC to Cost Center, P_ACTIVITY to Planning Activity, RptCurrency to Report Currency.
Create Measure Object
Any object that holds numbers like quantity, count, sum etc can be defined as Measure object instead of Dimension object. Measures allow automatic summing/counting based on the hierarchy level. In this example data, the measure object will be Revenue. Select Actual & Plan class – New – Measure
Enter the Measure name as Revenue and hit enter key. Revenue measure object will be listed under Actual &Plan Class(folder).
Time Object
The time data is in the yyyy.mon format. Split it into Year and Month objects. Follow the step to create new dimension. In the SQL Expression Editor window, Under Functions (middle section) listing select Database Functions /CharString and scroll down to select Substring (1) Substring() function definition will appear at the bottom (2) Substring($1,$2,$3) template will appear at the top (3)
Delete $1 in the substring template and double click Time dimension. The expression should become, substring(@Select(INFOCUBE-CONN\Time\Time),$2,$3). Replace $2 and S3 with 1 and 4 respectively. This will return the year part of the Time value (Ex. 2008.AUG will return 2008)
Repeat the above steps to create Month dimension from Time (substring(@Select(INFOCUBE-CONN\Time\Time),6,3). Finally Actual & Plan class and the objects should look as shown.
All the above work is taking place in design stage. Here there are two classes INFOCUBE-CONN (automatically created) and Actual & Plan (manually created). During run-time (in WebI) only Actual & Plan class must be visible to the business users since the objects there describe the data in business terms that can be understood by the business users. Hence INFOCUBE-CONN class can be hidden during runtime (in WebI). Steps to hide it are given below. Right click INFOCUBE-CONN-Change State – Hidden. All the objects under the class will be hidden during runtime (visible in Information design tool). The class name INFOCUBE-CONN format will be italicized - INFOCUBE-CONN. Note: Any
class or object name in italics means it is hidden during run-time, invisible to the business users.
Verify the INFOCUBE-CONN is hidden Click Queries under the Business Layer (1) Click on Add Queries icon to open Query Panel (2) In the query panel only Actual & Plan is visible, INFOCUBE-CONN is not visible (3) showing run-time behavior.
Publish Universe to the Repository Under the Project select the business layer, right click, select Publish and select To a Repository. The universe will be published to the repository and will be available for all users.
The data location above is correct. Universe does not move data. It is a meta data container with information, on top of the data, that will be used during runtime. Universe acts as a base for data visualization tools like Crystal Reports, Web Intelligence documents, Dashboards etc.
Next section describes how the business data can be visualized using Web Intelligence document (report)
5. BI Launch Pad & Web Intelligence
BI Launch Pad is a portal where business users log into to create their own reports/documents and access reports created by IT department Business Intelligence Team. Business users can login into BI Launch Pad, access universes and create Crystal Reports, Web Intelligent documents, Dashboards.
Create a Web Intelligence Document
The goal of this section is to build a web intelligence document to compare actual revenue with planned revenue. Document will contain two simple queries – one to retrieve planned revenue and another to retrieve actual revenue. Both revenue data will be converted to bar charts to analyze the difference in planned and actual revenue.
This section covers steps to access the universe, InfoCube-bizlayer and develop a web intelligence document comparing plan data with actual data.
Start Menu – SAP BusinessObjects BI Platform 4.0-SAP BusinessObjects BI Platform-SAP BusinessObjects BI Platform Java BI Launch Pad
Access the Universe After successful login the home page will be displayed. Select the Home tab. In “My Applications”, column on the far right, scroll down and click on Web Intelligence Application.
In the Query Panel Note that the data is displayed in business terms (as build in Information Design Tool) (1) Drag and drop Cost Center and Revenue into Result Objects section (2) Drag and drop Category into the Query Filters section, select Equal To from drop down and enter PLAN (3) Click Refresh, data will appear in Data Preview (4) Right click on the tab and rename it to PLAN (5) Run Query (6)
Query Panel will close and the data will be returned to the Web Intelligence document. Note: If #### is displayed under Revenue column, it means the column width is not enough. Click on any row under Revenue, right click, select Format Cell.., check Auto Fit Width and click OK. Numbers will be displayed under Revenue.
Converting to chart Click on Report Element. Click down arrow next to Turn Into and select Column chart. Above table data will be converted into column chart as shown below. This is the profile of Planned revenue across cost centers.
Repeat the steps used to create Plan query. In step (3) make Category = ACTUAL and change the tab name to Actual. Select Run Query. For the following prompt select the second choice – Insert a table in the current report.
Actual data will be inserted into the current report. Now there are two Cost Centers. To distinguish the Plan Cost Center from that of Actual, they are
changed to Cost Center (PLAN) and Cost Center (ACTUAL). Same changes are made to Revenue. Drag Cost Center(ACTUAL) and drop it next to the Plan Chart(made before). Drag Revenue (ACTUAL) and drop it next to Cost Center(ACTUAL). Change the width of Revenue(ACTUAL)
Turn actual data into a column chart. Now Planned Revenue and Actual Revenue Charts should be there as shown.
To change the color of the chart, click the chart, select Chart Style and select color.
To add title to the chart, right click on the chart, select Format chart. In the Format Chart window select Title Visible and enter Title Label as shown below and click ok.
In this article we demonstrated every step that are required to brining data from an external non SAP (source) system into SAP BW 7.3 (target) systems using SAP BO4 .0 Data Services. Further, we demonstrated on steps that are required to transform a technical data fields into business friendly semantic data filed using SAP Business Objects universe, finally we enabled the business users to analyze the data to make actionable business decisions. We hope you find this is a very useful guide to you and your team/practice. Author: Pals Nagaraj, is an independent Technology Management consultant who specialize in SAP BO 4.0 solutions architecture and HANA thought leadership. Currently he engaged with federal agency as a SAPBI and BO chief architect, he also worked as a full time employee with SAP BusinessObjects. He lives in DC metro area and he can be reached at [email protected]
Author: Chief Architect: Pals Nagaraj, PMP Jothi Periasamy SAP BusinessObjects Enterprise Certified SAP HANA/EPM/BI/EIM Community Thought Leader SAP HANA Certified SAP BPC/BOBJ/BI/MDM Community Domain Champion SAP HANA Community Member [email protected] , TOGAF 8 Certified Cell - (916)-296-0228 [email protected]
Contact Us For:
� SAP BOBI 4.0 Solution Design (Functional and Technical) and Implementation � SAP HANA Solution Design (Functional and Technical and Implementation � SAP HANA and BOBI 4.0 Design Audit � SAP HANA and BOBI 4.0 Advisory , and much more
Disclaimer: These materials strictly discuss our implementation expertise, and sample coding used our implementation or other information that does not include us official interfaces and therefore is not supported by us. Changes made based on this information are not supported and can be overwritten during an upgrade. We will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document, and anyone using these methods does so at his/her own risk. We offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by us. You agree that you will not hold, or seek to hold, we responsible or liable with respect to the content of this document.
This description is a preliminary version and not subject to a license agreement or any other agreement with SAP®. This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this preview is subject to change and may be changed by SAP/we at any time without notice.
SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This preview is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected.