cognos oledb interface for sap bw
DESCRIPTION
Cognos Interface for SAPTRANSCRIPT
Page 1
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Integrating OLAP Frontendswith OLE DB for OLAP
Guido SchröderOLAP technology group
SAP America, Inc. SAP™TechEd ‘98 Aug. 31-Sept. 3, 1998 sessioncode.ppt / 1
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Talk Contents
~ BW architecture
~ What is OLE DB for OLAP?
~ OLE DB for OLAP Foundations
� MD Schema
� Dataset Object
� MDX grammar
~ BW’s use of ODBO
� Mapping of BW Objects to ODBO
� Building QueryCubes
~ Demonstrations
Page 2
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Non R/3 Production DataExtractor
Non R/3 Production DataExtractor
Non R/3 OLTP ApplicationsNon R/3 OLTP Applications
Architecture Overview
Business InformationWarehouse Server
R/3 OLTP ApplicationsR/3 OLTP Applications
OLTPReporting
OLTPReporting
Production DataExtractor
Production DataExtractor
BAPIBAPI
Business Explorer3rd party OLAP client3rd party OLAP client3rd party OLAP client3rd party OLAP client3rd party OLAP clients3rd party OLAP clients
BrowserBrowser
AdministratorWorkbench
OperationalData Store
OperationalData Store
Staging EngineStaging Engine
OLAP ProcessorOLAP Processor
InfoCubesInfoCubes
Meta DataRepositoryMeta DataRepository Data ManagerData ManagerMeta Data ManagerMeta Data ManagerMeta Data ManagerMeta Data Manager
OLE-DB for OLAP ProviderOLE-DB for OLAP Provider
ODBOODBO Analyzer(hosted by MS Excel)
Analyzer(hosted by MS Excel)
InfoCatalogInfoCatalog
MonitorMonitor
SchedulingScheduling
AdministrationAdministration
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
BW ODBO driver architecture
RFC
Desktop with SAPODBO driver
( mdrmsap.dll; mdxpars.dll;scerrlkp.dll; saprfc.ini;librfc32.dll)
BusinessInformationWarehouseServer
OLE DB-Objects
ADO
ConsumerConsumerODBO-Objects
DatasetObject
3rd PartyClient Tool
OLAP ProcessorOLAP Processor
Staging EngineStaging Engine
Meta DataRepositoryMeta DataRepository
DataBaseDataBase
OLAP API OLAP API
Page 3
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
OLE DB: Universal Data Access
E-mailE-mail SpreadsheetsSpreadsheets RDBMSRDBMS HTMLHTML Multidimensionaldata
Multidimensionaldata
OLE DB OLE DB OLE DB OLE DB OLE DBfor OLAP
ActiveX Data Objects (ADO)
Applications
ADO MD
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
OLE DB for OLAP
~ Set of COM objects and interfaces
~ ODBO extends OLE DB for multidimensional data
~ Reuse of OLE DB
� Common Connection Model
� Rowset plays as an abstraction of tabular data plays acentral role
� Command Interface for builing queries
~ ODBO adds
� 1 new object: Dataset
� 1 mandatory interface
� 5 mandatory methods
Page 4
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
BW ODBO interface: CustomerBenefits
~ Protect previous investment in reporting tools
� connect BW server to a broad spectrum of Applications
~ ADO/MD simplifies the task of custom applicationdevelopment
~ Extensibility
� Provider can add specific interfaces
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
ODBO industry supportISVs developing consumers
~ Arcplan , Inc.
~ Andyne Computing Limited
~ AppSource Corporation
~ Arbor
~ AutoDesk
~ AVOCA Systems Limited
~ Brio Technology
~ Business Objects
~ Comshare
~ Cognos
~ Hyperion Software
~ International Software Group
~ IQ Software
~ Panorama Software Systems
~ Sagent Technologies
~ SAS
~ Seagate
~ Simba Technologies
~ X-Tension
Page 5
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Terminology: BW vs ODBO
BW terms
• Characteristics
• Key Figures
• Characteristic values
• InfoObject Attributes
• Query
ODBO terms
• Dimensions
• Measures
• Members
• Dimension Properties
• Dataset
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
ODBO Schema ObjectsMeta- and Masterdata
Catalogs
Schema
Cubes
Dimensions (Measures)
Hierarchies
Levels
Members
Properties
CUBES
Schema Rowsets
DIMENSIONS
MEASURES
HIERARCHIES
LEVELS
MEMBERS
PROPERTIES
Page 6
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Schema Rowset example:DIMENSIONS
Rowset column name Description/CommentCATALOG_NAMESCHEMA_NAMECUBE_NAME
Name of catalog, schema and cubeCATALOG and SCHEMA notsupported in BW
DIMENSION_NAMEDIMENSION_UNIQUE_NAMEDIMENSION_GUIDDIMENSION_CAPTION
UNIQUE_NAMEs are unambigous.BW provider follows two strategies :qualification and opaque tokensUse Unique Names for MDXQuery SCHEMA for UNAMs!!!
DIMENSION_ORDINAL
DIMENSION_TYPE Time, Measure, Unknown, Other
DEFAULT_HIERARCHY
DIMENSION_CARDINALITY Number of members
DESCRIPTION Human readable description
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Sample Dataset
Value type Actual Actual data
Country DE Germany
Cost SoldPcs Revenue
Berlin Qtr1 17.793.920,00 DM 3.561.920,000 ST 35.583.920,00 DM
Qtr2 12.504.000,00 DM 2.504.000,000 ST 25.004.000,00 DM
Qtr3 12.503.000,00 DM 2.503.000,000 ST 25.003.000,00 DM
Qtr4 18.083.940,00 DM 3.619.940,000 ST 36.163.940,00 DM
Stuttgart Qtr1 12.502.500,00 DM 2.502.500,000 ST 25.002.500,00 DM
Qtr2 12.503.500,00 DM 2.503.500,000 ST 25.003.500,00 DM
Qtr3 12.502.000,00 DM 2.502.000,000 ST 25.002.000,00 DM
Qtr4 18.213.900,00 DM 3.645.900,000 ST 36.423.900,00 DM
Columns Axis1 dimension
Slicer Axis2 dimensions
Rows Axis2 dimensions
Cell data
Page 7
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Structure of a dataset
Cubes
~ have dimensions
� Dimensions have members
� At the intersection of members aredata cells
Datasets
~ have dimensions on axes
� Sets on Axes have members
� At the intersection of Axescoordinates are data cells
~ Datasets (in BW terminology Queries) have the samestructure as Cubes
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
MDX I
~ MDX stands for Multi Dimensional E Xpression
~ Expression syntax for querying Datasets
~ Parts of MDX statements
� FROM clause -> selects a cube
� SELECT clause -> defines the axes
� WHERE clause -> defines a slicer
SELECT <axis-specification>, <axis-specification>,…
FROM <cube-specification>
WHERE <slicer-specification>
Page 8
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
MDX II: Example
SELECT
CROSSJOIN({City.Berlin,City.Stuttgart}, {Quarters.MEMBERS}) ON COLUMNS,
{COST,SoldPieces,Revenue} ON ROWS
FROM CUSTOMER_ANALYSIS
WHERE (Country.Germany,ValueType.Actual)
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
MDX III: Basic Entities andFunctions
~ Basic Entities
� Numeric Values
� Strings
� Sets
� Members
� Tuples: Collections ofMembers of differentdimensions (Berlin,Qtr1)
~ Functions
� numeric value functions: return numbers
� set value expressions: manipulate/generate sets
� member value expressions: return member
� ......
Page 9
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
MDX IV: Set Value Expressions,Numeric Value Functions
~ Controlling the order of tuplesORDER(<set>,<value_expression>,[ASC|DESC|BASC|BDESC])
� ORDER(customer.MEMBERS,Revenue,DESC)
~ Ranking functionsTOPCOUNT|BOTTOMCOUNT(<set>,<index>,<num_exp>)
� TOPCOUNT(customer.MEMBERS,5,Revenue)
~ Filtering FILTER(<set>,<search_condition>)
� FILTER(customer.MEMBERS,Revenue>1.000.000)
~ Numeric Value Functions: AVG,MAX,MIN,MEDIAN...
� AVG(customer.MEMBERS,Revenue)
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
MDX V: Dimension Properties
~ Members may carry additional information e.g. a material hasproperties colour, weight, packaging information....
~ ODBO supports dimension properties on a per dimension, perlevel and per member basis
~ Dimension properties are selected using the DIMENSIONPROPERTIES clause
� SELECT material.MEMBERS DIMENSION PROPERTIES material.colour, material.weightON ROWS
Page 10
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Fetching cell dataIMDDataset::GetCellData
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
4 12 13 14
5 15 16 17
6 18 19 20
7 21 22 23
Columns Axis3 coordinates 0..2
Rows Axis8 coordinates 0..7
24 cellscell ordinals 0..23
Selection of cells
~ by cell ordinal
~ axis coordinates
~ member unique names
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
What are the properties of a cell?
~ CELL_ORDINAL
~ VALUE - this is a variant since cell data is not onlynumeric (date/time/string- Key Figures)
~ FORMATTED_VALUE - string representation of thevalue
~ optional cell properties defined by ODBO -FORMAT_STRING, FORE_COLOR,FONT_SIZE...
~ Optional provider specific cell properties
~ Mechanism for the selection of cell properties is thesame as for dimension properties - use CELLPROPERTIES clause
~ list of supported cell properties comes with theproperties schema rowset
Page 11
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Fetching Axis “Masterdata”IMDDataset::GetAxisRowset
Rowset column name Description/CommentTUPLE_ORDINAL Axis coordinate
MEMBER_UNIQUE_NAMEMEMBER_CAPTIONLEVEL_UNIQUE_NAMELEVEL_NUMBERDISPLAY_INFO
For each dimension on the axis
MEMBER_NAMEMEMBER_TYPE::::
Additional mandatory and user definedmember properties
~ Axis Rowsets have at least 5n+1 columns (n is thenumber of dimensions projected along the axis)
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Axis Rowset and Cell DataExample
Value type Actual Actual data
Country DE Germany
Cost SoldPcs Revenue
Berlin Qtr1 17.793.920,00 DM 3.561.920,000 ST 35.583.920,00 DM
Qtr2 12.504.000,00 DM 2.504.000,000 ST 25.004.000,00 DM
Qtr3 12.503.000,00 DM 2.503.000,000 ST 25.003.000,00 DM
Qtr4 18.083.940,00 DM 3.619.940,000 ST 36.163.940,00 DM
Stuttgart Qtr1 12.502.500,00 DM 2.502.500,000 ST 25.002.500,00 DM
Qtr2 12.503.500,00 DM 2.503.500,000 ST 25.003.500,00 DM
Qtr3 12.502.000,00 DM 2.502.000,000 ST 25.002.000,00 DM
Qtr4 18.213.900,00 DM 3.645.900,000 ST 36.423.900,00 DM
TUPLE_ORDINAL
[city].[MEMBER_UNIQUE_NAME]
[city].[MEMBER_CAPTION]
[city].[LEVEL_UNIQUE_NAME]
[city].[LEVEL_NUMBER]
[city].[DISPLAY_INFO]
[Quaters].[MEMBER_UNIQUE_NAME]
[Quarters].[MEMBER_CAPTION]
0 [city].[berlin] Berlin [city].[citylevel] 1 0 [Quarters].[qt Qtr11 [city].[berlin] Berlin [city].[citylevel] 1 0 [Quarters].[qt Qtr22 [city].[berlin] Berlin [city].[citylevel] 1 0 [Quarters].[qt Qtr3
CELL_ORDINAL VALUE FORMATTED_VALUE
0 17793... 3.645.900,00 DM
1 3561930.. 18.213.900,000 ST
2 35583... 35.583.920,00 DM....
Page 12
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Dataset Flattening
Value type Actual Actual data
Country DE Germany
Cost SoldPcs Revenue
Berlin Qtr1 17.793.920,00 DM 3.561.920,000 ST 35.583.920,00 DM
Qtr2 12.504.000,00 DM 2.504.000,000 ST 25.004.000,00 DM
Qtr3 12.503.000,00 DM 2.503.000,000 ST 25.003.000,00 DM
Qtr4 18.083.940,00 DM 3.619.940,000 ST 36.163.940,00 DM
Stuttgart Qtr1 12.502.500,00 DM 2.502.500,000 ST 25.002.500,00 DM
Qtr2 12.503.500,00 DM 2.503.500,000 ST 25.003.500,00 DM
Qtr3 12.502.000,00 DM 2.502.000,000 ST 25.002.000,00 DM
Qtr4 18.213.900,00 DM 3.645.900,000 ST 36.423.900,00 DM
[city].[M EMBER_CAPTION]
[Qua rters].[M EMBER_CAPTION]
[m e asures].[cost] [m e asures].[SoldPcs]
[m e asures].[Re venue ]
Berlin Q tr1 17793920 3561920 35583920Berlin Q tr2 12504000 2504000 25004000Berlin Q tr3 12503000 2503000 25003000Berlin Q tr4 18083940 3619940 36163940
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Mapping of BW Objects to ODBOSchema Objects
Characteristics(Keyfgs)
Hierarchies (external)
Numbered Levels orDummy level names
Characteristic Values
Display Attributes
InfoCubes
Not supported
Queries
BW
Properties
Catalogs
Schema
Cubes
Dimensions (Measures)
Hierarchies
Levels
Members
ODBO
Page 13
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
OLAP dataflow
„INFOCUBE“
DatabaseDatabase Server Server
„QUERY_CUBE (BEx: Query)“
BW ApplicationBW Application Server Server
OLAP Processoroperates on ...
Datasets
PresentationPresentation Server;ODBO client applicationServer;ODBO client application
mdx$
answer
ODBO
Stored in
StarStarSchemaSchema
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Mapping of Query Objects
Structure for Key Figs.
Member1: Cost
Member2: SoldPieces
Member1: Revenue
Charact.1:Region
Charact.2:FiscalYear
Charact.3:Customer
BW Query
Dimension1:Region
Dimension2:FiscalYear
Dimension3:Customer
Measures Dimension
QUERY_CUBE structure
Measures
Cost
SoldPieces
Revenue
Page 14
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Creating a QUERY_CUBE
~ Select from an InfoCube characteristics - these willbe mapped to dimensions of the ODBOQUERY_CUBE
~ Create one structure and drag Key-Figures from theInfoCube to this structure - this structure will bemapped to the measures dimension of the ODBOcube, the members of the structure are the membersof the measures dimension
~ Enable the query for ODBO by setting in the Queryproperties dialogue ODBO support checkmark
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Benefits of QUERY_CUBES
~ Leverage of existing BW OLAP Processor
~ Consistent definition of derived key figures on theBW server - no calculated members via MDX but onthe BW server
~ Smaller entities for reporting purposes - BWInfoCubes may contain large number of InfoObjects
~ Centralized Authorization concept!!!
Page 15
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
~ Section “Elements” - no object qualification by catalog,schema...; numbered levels (dummy level names)
~ Section “Expressions” - #1,#2,#3; <property>.VALUE, caseexpressions not supported
~ Section “Set Value Expressions” - #3 (YTD, MTD, WTD..), #4(nonmeasure dimensions in value expressions)
~ Section “Member Value Expressions” - COUSIN ,PARALLEL/OPENING/CLOSINGPERIOD
~ Section “Numeric Value Functions” - RANK, AGGREGATE,COVARIANCE, LINREG*s
~ Section “MDX Statement” - #1 (formulas), #2 (slicer is singletuple), #3 (no joincubes), #4,5 (supported axes 0..2), #6 (createformula), #7
Application of Leveling Rules
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Rollout Status
9/98
BW ODBOBW ODBOPilotPilotcustomercustomershipmentshipment((relrel . 1.2. 1.2GA)GA)
12/98 2/99
PilotPilotcerticerti --ficationsficationswithwithArcplan Arcplan &&BusinessBusinessObjectsObjects
GeneralGeneralavailabilit yavailabilit ywith 1.2Bwith 1.2B
Page 16
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Where to find more information
~ Final OLE DB for OLAP Programmers Reference at:www.microsoft.com/data/oledb/olap
~ Microsoft Data Access SDK 2.0
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Summary
~ BW provides access to its data via OLE DB for OLAPcompliant driver
� leverage investment in front end tools via industrystandard interface
� extensibility
~ Queries are mapped to QUERY_CUBEs via the ODBOlayer
~ MDX is the command language for querying MD data
� powerful syntax for manipulation of sets,tuples,members and numeric values
Page 17
SAP AG; TechEd Kralsruhe; Integration of OLAP Frontends
Demonstrations and Q&A
~ Definition of a QUERY_CUBE
~ Applications :Arcplan inSight; Business Objects
~ ADO MD sample