xml for analysis - community archive...xml for analysis multidimensional providers must support the...

17
XML for Analysis Barbara Neumann Product Manager BI, SAP AG Stefan Biedenstein Development Architect BI, SAP AG SAP AG 2003, BW253, Neumann/Biedenstein / 2 Learning Objectives As a result of this workshop, you will be able to: Understand the basics of Extensible Markup Language for Analysis (XMLA) Explain the benefits and typical application scenarios for XMLA in general Understand the specific features and tools of the SAP Business Information Warehouse (BW) XMLA provider Request OLAP metadata from BW with the Discover method Run multidimensional queries in BW using the Execute method Understand the basics of Multidimensional Expression grammar (MDX) Create C# proxies from the XMLA Web Services Description Language (WSDL) file

Upload: others

Post on 26-Apr-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 1

XML for Analysis

Barbara NeumannProduct Manager BI, SAP AG

Stefan BiedensteinDevelopment Architect BI, SAP AG

SAP AG 2003, BW253, Neumann/Biedenstein / 2

Learning Objectives

As a result of this workshop, you will be able to:

Understand the basics of Extensible Markup Language for Analysis (XMLA)Explain the benefits and typical application scenarios for XMLA in generalUnderstand the specific features and tools of the SAP Business Information Warehouse (BW) XMLA providerRequest OLAP metadata from BW with the Discover methodRun multidimensional queries in BW using the Execute methodUnderstand the basics of Multidimensional Expression grammar (MDX)Create C# proxies from the XMLA Web Services Description Language (WSDL) file

Page 2: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 2

SAP AG 2003, BW253, Neumann/Biedenstein / 3

Learning Objectives continued

What this workshop will not teach:

Details of Web (services) foundation technologiesXML (Extensible Markup Language)SOAP (Simple Object Access Protocol)SAX (Simple API for XML)DOM (Document Object Model)XSL (Extensible Stylesheet Language)

Details on how to consume XMLA on a specific platform.NETJ2EE

Extensive MDX and OLAP domain knowledge

SAP AG 2003, BW253, Neumann/Biedenstein / 4

Agenda

Introduction XMLA defined, history of OLAP standards and XMLAXMLA Versions, architecture, foundation technologiesBW XMLA providerDemo sample client

Discover Discover method, structure of XMLA metadataExercises: browsing dimensions, levels, members

Execute Execute method, multidimensional expressionsExercises: a simple ranking list

WSDL XMLA WSDLExercise: Generating code with a Service Description:Generating a C# proxy via WSDL which connects a .NET application to a BW Web service.

Page 3: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 3

SAP AG 2003, BW253, Neumann/Biedenstein / 5

Introduction: What is XML for Analysis?

XMLA is a SOAP-based interface for exposing OLAP and Data Mining data sources as Web services. It advances some of the successful concepts of OLE DB for OLAP to a cross-platform Web service API.

The XMLA API defines 2 methods:

Discover: Used to obtain metadata and information about a Web serviceExecute: Used to execute (M)ulti(D)imensional E(X)pressions (MDX) or provider-specific commands

SAP AG 2003, BW253, Neumann/Biedenstein / 6

Introduction: Simple Object Access Protocol (SOAP)

Provides a standard packaging structure for transporting XML messages over various low-level protocols such as HTTP or SMTP. Defines encoding rules for mapping application data types into an XML format as well an RPC mechanism. SOAP can be regarded as the most important cornerstone of interoperability, as it provides an agreed-upon communication protocol between heterogeneous clients and servers.

SOAP envelope

SOAP header

SOAP block

SOAP block

..

SOAP body

SOAP block

SOAP block

..

Page 4: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 4

SAP AG 2003, BW253, Neumann/Biedenstein / 7

XML for Analysis Provider

Implementation

Client

UI

Clientfunctions

Discover,ExecuteCalls

Introduction: XMLA Architecture

InternetOr LAN

InternetOr LAN Discover,

ExecuteCall Server

SOAP

SOAP

HTTP

HTTP

DiscoverExecute

Data

Any client (Windows, Linux, Macintosh) at any location

Any server (Solaris, Linux, Windows) at any location

SAP AG 2003, BW253, Neumann/Biedenstein / 8

Introduction: Why XMLA?

There was still the need for a broadly applicable/accepted low-footprint OLAP API.

Web services are gaining momentum:Characteristics

XML-based (eliminates networking, OS or platform binding; interoperability; developers have begun to know XML well)Loosely-coupled (client is not tied to WS directly; WS can change over time without compromising client’s ability to interact with the service) Coarse-grained (structure of services is driven by a methodological rather than technical mindset)

BenefitsSimplifies connectivity and reduces cost by agreeing upon standards.Enables data integration through XML.Provides robustness and unification of interface technology.Reduces the need for customization. Assembles applications from standardized functional building blocks. Provides full visibility of the value chain to all participants.Integrates Intranet and Extranet.

Page 5: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 5

SAP AG 2003, BW253, Neumann/Biedenstein / 9

Introduction: XMLA Versions

Leveling???

mdXML???

TBD1.2

Minor Modifications after receiving feedback from actual use

November 20021.1

Initial Release of the Specification

April 20011.0

ChangesDate ReleaseVersion

SAP AG 2003, BW253, Neumann/Biedenstein / 10

Introduction: XMLA application scenarios

Beyond E-commerce, there is an even greater need to share information.

Add value to your offering by providing self-service access.

An electric utility company

exposes its BI platform, so commercial and industrial customers can better understand their power consumption and related costs.

A financial services company

provides BI Web services, so auditors and regulators have an appropriate level of visibility into the company's dealings.

A brokerage firmsupports BI Web services so institutional investors can analyze (in a multidimensional way) the performance of financial instruments executed through the brokerage.

Just-in-Time InventoryConsumer provides to a Supplier just-in-time inventory data reports exposed as Web services. Metrics represented in the reports alert about low inventory. The reports are interactive, so you drill into historic data, comparing today's fluctuation in stock levels with corresponding days in other weeks or months.

Market/Environment dataNielsen and others offer their services in the yellow pages.Integration and consumption of such data becomes much easier without requiring a very close business relationship with such service providers.

Page 6: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 6

SAP AG 2003, BW253, Neumann/Biedenstein / 11

OLE DB for OLAPbased on COM as protocoldriver installation on clientsWindows platform onlyMDX as query language available since BW 1.2B

OLAP BAPIsBusiness Application Programming interfacebased on RFC as protocolaccess library available on any SAP platformMDX as query languageavailable since BW 2.0A

XML for Analysisbased on XML as exchange formatbased on HTTP/SOAP as protocolany platformMDX as query languageavailable since BW 3.0A

Introduction: BW Open Analysis Interfaces

SAP AG 2003, BW253, Neumann/Biedenstein / 12

Introduction: Direct Access to InfoCubes

Definition of BW Query not necessary but recommended

Available Objects:All basic InfoCubes and MultiProvider as CUBEAll characteristics and key figures as DIMENSION / MEASUREBut no navigational attributes and no restricted or calculated key figures

JAN 2001,USA

Number of documents Open orders

224,000 $ 1.439.134,33

Frankfurt 38,000 $ 93.539,90

Manchester 54,000 $ 187.235,32

Calgary 39,000 $ 187.772,97

Chicago 93,000 $ 970.586,14

SELECT { [Measures].[0D_DOCUMENT], [Measures].[0D_OORVALSC] } ON COLUMNS, NON EMPTY [0D_PLANT].MEMBERS ON ROWS FROM [$0D_SD_C03] WHERE ( [0CALMONTH].[200101], [0D_COUNTRY].[US] )

Page 7: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 7

SAP AG 2003, BW253, Neumann/Biedenstein / 13

Introduction: SE37

SE37 RSBB_URL_PREFIX_GET, Service URL :

SAP AG 2003, BW253, Neumann/Biedenstein / 14

Introduction: SICF

SICF Service Maintenance (sap/bw/xml/soap/xmla) :

Page 8: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 8

SAP AG 2003, BW253, Neumann/Biedenstein / 15

Introduction: MDXTESTMDXTEST - MDX Testeditor :

SAP AG 2003, BW253, Neumann/Biedenstein / 16

Demo Sample Client

Page 9: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 9

SAP AG 2003, BW253, Neumann/Biedenstein / 17

Discover: Method Signature

Discover ([in] RequestType As EnumString,[in] Restrictions As Restrictions,[in] Properties As Properties,[out] Result As Rowset)

RequestType Specifies the structure and content of the Rowset returned in the Result parameter (DISCOVER_DATASOURCES, MDSCHEMA_CUBES, MDSCHEMA_DIMENSIONS…)

Restrictions Sets restrictions for columns of the Result, in order to filter the rows returned. Mandatory, but can be empty.

Properties Specifies a collection of XML for Analysis properties(return format of the Result set, timeout, locale in which the data should be formatted)

SAP AG 2003, BW253, Neumann/Biedenstein / 18

<SOAP-ENV:Envelopexmlns:SOAP-ENV=

‘http://schemas.xmlsoap.org/soap/envelope/'SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>

<SOAP-ENV:Body><Discover><RequestType>MDSCHEMA_CUBES</RequestType><Restrictions>

<RestrictionList/></Restrictions><Properties>

<PropertyList><DataSourceInfo>DataSource=local</DataSourceInfo><Format>Tabular</Format>

</PropertyList></Properties>

</Discover></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Discover: SOAP Example Discover Request

Page 10: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 10

SAP AG 2003, BW253, Neumann/Biedenstein / 19

Discover: OLE DB Schema Objects

Characteristics(Keyfgs)

Hierarchies (external)

Numbered Levels or Dummy level names

Characteristic Values

Display Attributes

InfoCubes

Not supported

Queries

SAP BW

Properties

Catalogs

Schema

Cubes

Dimensions (Measures)

Hierarchies

Levels

Members

OLE DB for OLAP

SAP AG 2003, BW253, Neumann/Biedenstein / 20

Discover: Mapping of Query Objects

BW Query QUERY_CUBE structureCharact.1:Region Dimension1:Region

Charact.2:Fiscal Year Dimension2:Fiscal Year

Charact.3:Customer Dimension3:Customer

Structure for Key Figs.

Member1: Cost

Member2: Sold Pieces

Member3: Revenue

Measures Dimension

Measures

Cost

Sold Pieces

Revenue

Variable1: Cost Area SAP Variables Cost Area

Page 11: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 11

SAP AG 2003, BW253, Neumann/Biedenstein / 21

Discover: Exercise 1

Access cube metadata

Access dimension metadata

Access level metadata

Access Member metadata

User Name: BW253-01 to -##

Password: init

SAP AG 2003, BW253, Neumann/Biedenstein / 22

Execute: Method Signature

Execute (

[in] Command As Command,

[in] Properties As Properties,

[out] Result As Resultset)

Command Specifies a provider-specific statement to be executed. XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed.

Properties Specifies a collection of XML for Analysis properties:return format of the Result settimeoutlocale in which the data should be formatted

Page 12: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 12

SAP AG 2003, BW253, Neumann/Biedenstein / 23

Execute: MultiDimensional EXpressions (MDX)

XMLA is a linguistic interface that uses MultiDimensional Expressions (MDX) for querying multidimensional Datasets

Parts of MDX statements:FROM clause -> selects a cube

SELECT clause -> defines the axes

ON COLUMNS -> defines the columns axis

ON ROWS -> defines the rows axis

WHERE clause -> filter conditions

SAP AG 2003, BW253, Neumann/Biedenstein / 24

Execute: MDX Example

SELECT{ [Measures].[CKF_SI_PROFIT],[Measures].[0D_DOCUMENT],[Measures].[0D_OORVALSC]

} ON COLUMNS,

NON EMPTY [0D_PLANT].MEMBERS

ON ROWS

FROM [0D_SD_C03/SAP_DEMO_ODBO]

WHERE ( [0CALMONTH].[200101],[0D_COUNTRY].[US] )

JAN 2001,USA

Profit Number of documents Open orders

$ 702.571,00 33,000 $ 266.658,00

Frankfurt $ 236.088,00 9,000 $ 26.664,00

Manchester $ 95.286,00 6,000 $ 26.664,00

Calgary $ 226.487,00 9,000 $ 46.665,00

Chicago $ 144.710,00 9,000 $ 166.665,00

Page 13: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 13

SAP AG 2003, BW253, Neumann/Biedenstein / 25

Execute: More MDX

Basic EntitiesMembers – items representing the occurrence of data

Examples: [City].[Las Vegas], [Time].[Year].[2003]

Tuples – collections of members from multiple dimensionsExamples: ([City].[Las Vegas],[Time].[Year].[2003],[Event].[SAP TechEd 2003])

Sets – collections of tuple elementsExamples: {([City].[Los Angeles],[Time].[Year].[2002]),([City].[Las Vegas],[Time].[Year].[2003]),}

Values – numbers,stringsExamples: 5, “red”

Functions/Expressions that generate these Basic ObjectsMember value expressions

Examples: <member>.PARENT

Set value expressions Examples: TOPCOUNT(<set>,<index>,<numeric_value_expression>)

Numeric value functionsExamples: MAX(<set>[, <numeric_value_expression>])

SAP AG 2003, BW253, Neumann/Biedenstein / 26

Execute: Exercise 2

MDX Statement 1: Top five sales organizations based on order valueMDX Statement 2: Sales organizations with incoming orders of greater than five million

Page 14: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 14

SAP AG 2003, BW253, Neumann/Biedenstein / 27

Web Services Description Language (WSDL)

XML grammar for describing Web services.

WSDL documents can be used for generating implementation code, which therefore allows clients to automatically understand how to interact with a given service.

<definitions>

<import>*

<types>

<schema></schema>

</types>

<message>*

<part></part>

</message>

<PortType>*

<input></input>

<output></output>

<fault></fault>

</PortType>

...

</definitions>

SAP AG 2003, BW253, Neumann/Biedenstein / 28

WSDL: Exercise 3

Exercise: Generating code with a Service Description:Generating a C# proxy via WSDL which connects a .NET application to a BW Web service.

Page 15: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 15

SAP AG 2003, BW253, Neumann/Biedenstein / 29

Summary

XMLA is a Web service API for OLAP and data mining

XMLA advances concepts of OLE DB for OLAP

The API consists of two methods: Discover, Execute

Discover is used to access a provider’s metadata

Execute is used to process MDX statements

The current version of XMLA is 1.1

XMLA is driven by the XMLA council

SAP AG 2003, BW253, Neumann/Biedenstein / 30

On the SAP Help Portal:Open Analysis Interfaces, including XMLA: http://help.sap.com/:

SAP NetWeaver SAP Business Information Warehouse SAP BW 3.1/BI Content 3.2 Add-On [Select Language] Open Analysis Interfaces

Further Information

On the Internet:XMLA council: http://www.xmla.org/

World Wide Web Consortium (W3C) specification for SOAP:http://www.w3.org/TR/SOAP/

W3C information on Extensible Markup Language (XML):http://www.w3.org/XML/

W3C information on Web Services Description Language (WSDL):http://www.w3.org/TR/wsdl

Related Workshops/Lectures at SAP TechEd 2003BW204 – Universal Data Access via SAP BW Java Integration Functionality

Oct. 1, 2003, 4 pm, Room H11

Page 16: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 16

SAP AG 2003, BW253, Neumann/Biedenstein / 31

Q&A

Questions?

SAP AG 2003, BW253, Neumann/Biedenstein / 32

Please complete your session evaluation anddrop it in the box on your way out.

Feedback

Thank You !

The SAP TechEd ’03 Basel Team

Page 17: XML for Analysis - Community Archive...XML for Analysis multidimensional providers must support the mdXML language, but they can also support other commands as needed. Properties Specifies

SAP TechEd ‘03 Basel

© 2003 SAP AG BW 253, Neumann/Biedenstein 17

SAP AG 2003, BW253, Neumann/Biedenstein / 33

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered trademarks of Microsoft Corporation.

IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®, AS/400®, OS/390®, OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®, Informix and Informix® Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries.

ORACLE® is a registered trademark of ORACLE Corporation.

UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.

Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.

HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.

JAVA® is a registered trademark of Sun Microsystems, Inc.

JAVASCRIPT® is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.

MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.

SAP, R/3, mySAP, mySAP.com, xApps, xApp and other SAP products and services mentioned herein as well astheir respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies.

Copyright 2003 SAP AG. All Rights Reserved