OLAP Systems and Multidimensional Queries II



Similar documents
OLAP Systems and Multidimensional Expressions II

OLAP Systems and Multidimensional Expressions I

Learning Objectives. Definition of OLAP Data cubes OLAP operations MDX OLAP servers

DATA WAREHOUSING - OLAP

Data W a Ware r house house and and OLAP II Week 6 1

Data Warehousing OLAP

A Technical Review on On-Line Analytical Processing (OLAP)

1. OLAP is an acronym for a. Online Analytical Processing b. Online Analysis Process c. Online Arithmetic Processing d. Object Linking and Processing

Monitoring Genebanks using Datamarts based in an Open Source Tool

DATA WAREHOUSING AND OLAP TECHNOLOGY

TUTORIAL: Introduction to Multidimensional Expressions (MDX)

Data Warehouse: Introduction

CHAPTER 4 Data Warehouse Architecture

Web Log Data Sparsity Analysis and Performance Evaluation for OLAP

Anwendersoftware Anwendungssoftwares a. Data-Warehouse-, Data-Mining- and OLAP-Technologies. Online Analytic Processing

2074 : Designing and Implementing OLAP Solutions Using Microsoft SQL Server 2000

OLAP. Business Intelligence OLAP definition & application Multidimensional data representation

Building Data Cubes and Mining Them. Jelena Jovanovic

Data Testing on Business Intelligence & Data Warehouse Projects

Unit -3. Learning Objective. Demand for Online analytical processing Major features and functions OLAP models and implementation considerations

Decision Support. Chapter 23. Database Management Systems, 2 nd Edition. R. Ramakrishnan and J. Gehrke 1

OLAP OLAP. Data Warehouse. OLAP Data Model: the Data Cube S e s s io n

UNIT-3 OLAP in Data Warehouse

CS2032 Data warehousing and Data Mining Unit II Page 1

M Designing and Implementing OLAP Solutions Using Microsoft SQL Server Day Course

Data Warehousing and Decision Support. Introduction. Three Complementary Trends. Chapter 23, Part A

Week 3 lecture slides

Data Integration and ETL Process

University of Gaziantep, Department of Business Administration

OLAP and Data Mining. Data Warehousing and End-User Access Tools. Introducing OLAP. Introducing OLAP

<Insert Picture Here> Enhancing the Performance and Analytic Content of the Data Warehouse Using Oracle OLAP Option

Analytics with Excel and ARQUERY for Oracle OLAP

Multi-dimensional index structures Part I: motivation

Course 6234A: Implementing and Maintaining Microsoft SQL Server 2008 Analysis Services

Cognos 8 Best Practices

DATA CUBES E Jayant Haritsa Computer Science and Automation Indian Institute of Science. JAN 2014 Slide 1 DATA CUBES

Main Memory & Near Main Memory OLAP Databases. Wo Shun Luk Professor of Computing Science Simon Fraser University

OLAP & DATA MINING CS561-SPRING 2012 WPI, MOHAMED ELTABAKH

Bussiness Intelligence and Data Warehouse. Tomas Bartos CIS 764, Kansas State University

Data Warehouse design

70-467: Designing Business Intelligence Solutions with Microsoft SQL Server

Implementing Data Models and Reports with Microsoft SQL Server

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 29-1

Data Warehousing: Data Models and OLAP operations. By Kishore Jaladi

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 16 - Data Warehousing

Database Applications. Advanced Querying. Transaction Processing. Transaction Processing. Data Warehouse. Decision Support. Transaction processing

Implementing Data Models and Reports with Microsoft SQL Server 2012 MOC 10778

Overview of Data Warehousing and OLAP

The Art of Designing HOLAP Databases Mark Moorman, SAS Institute Inc., Cary NC

ORACLE OLAP. Oracle OLAP is embedded in the Oracle Database kernel and runs in the same database process

Introduction to Data Warehousing. Ms Swapnil Shrivastava

Search and Data Mining Techniques. OLAP Anna Yarygina Boris Novikov

Business Benefits From Microsoft SQL Server Business Intelligence Solutions How Can Business Intelligence Help You? PTR Associates Limited

PREFACE INTRODUCTION MULTI-DIMENSIONAL MODEL. Chris Claterbos, Vlamis Software Solutions, Inc.

Data Warehousing & OLAP

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2009 Lecture 15 - Data Warehousing: Cubes

Basics of Dimensional Modeling

Mario Guarracino. Data warehousing

While people are often a corporation s true intellectual property, data is what

Part 22. Data Warehousing

MS 50511A The Microsoft Business Intelligence 2010 Stack

Business Intelligence & Product Analytics

IST722 Data Warehousing

Microsoft SQL Server OLAP Solution A Survey

CS Programming OLAP

Business Intelligence, Analytics & Reporting: Glossary of Terms

End to End Microsoft BI with SQL 2008 R2 and SharePoint 2010

OLAP and Data Warehousing! Introduction!

Turkish Journal of Engineering, Science and Technology

When to consider OLAP?

Oracle OLAP 11g and Oracle Essbase

The Benefits of Data Modeling in Business Intelligence

The Microsoft Business Intelligence 2010 Stack Course 50511A; 5 Days, Instructor-led

Overview. Data Warehousing and Decision Support. Introduction. Three Complementary Trends. Data Warehousing. An Example: The Store (e.g.

A Design and implementation of a data warehouse for research administration universities

Turning your Warehouse Data into Business Intelligence: Reporting Trends and Visibility Michael Armanious; Vice President Sales and Marketing Datex,

LITERATURE SURVEY ON DATA WAREHOUSE AND ITS TECHNIQUES

How To Model Data For Business Intelligence (Bi)

The Cubetree Storage Organization

This tutorial will help computer science graduates to understand the basic-toadvanced concepts related to data warehousing.

GEHC IT Solutions. Centricity Practice Solution. Centricity Analytics 3.0

Hybrid OLAP, An Introduction

LEARNING SOLUTIONS website milner.com/learning phone

II. OLAP(ONLINE ANALYTICAL PROCESSING)

To increase performaces SQL has been extended in order to have some new operations avaiable. They are:

Business Intelligence for SUPRA. WHITE PAPER Cincom In-depth Analysis and Review

ROLAP with Column Store Index Deep Dive. Alexei Khalyako SQL CAT Program Manager

Business Intelligence in SharePoint 2013

Business Intelligence, Data warehousing Concept and artifacts

Data Warehousing. Outline. From OLTP to the Data Warehouse. Overview of data warehousing Dimensional Modeling Online Analytical Processing

MS 20467: Designing Business Intelligence Solutions with Microsoft SQL Server 2012

Why Business Intelligence

What is OLAP - On-line analytical processing

Data Warehousing & OLAP

Review. Data Warehousing. Today. Star schema. Star join indexes. Dimension hierarchies

Module 1: Introduction to Data Warehousing and OLAP

Implementing Data Models and Reports with Microsoft SQL Server 20466C; 5 Days

Figure no.1. The creation of the project and of the data source

Data Warehousing and OLAP

Microsoft Business Intelligence for Teradata. General Manager SQL Server BI

Transcription:

OLAP Systems and Multidimensional Queries II Krzysztof Dembczyński Intelligent Decision Support Systems Laboratory (IDSS) Poznań University of Technology, Poland Software Development Technologies Master studies, second semester Academic year 2014/15 (winter course) 1 / 37

Review of the previous lectures Mining of massive datasets Evolution of database systems: operational vs. analytical systems. Dimensional modeling. Operational vs. analytical systems. Extraction, transformation and load of data. 2 / 37

Review of the previous lectures Mining of massive datasets Evolution of database systems: operational vs. analytical systems. Dimensional modeling. Operational vs. analytical systems. Extraction, transformation and load of data. OLAP Systems and multidimensional queries I: 2 / 37

Review of the previous lectures Mining of massive datasets Evolution of database systems: operational vs. analytical systems. Dimensional modeling. Operational vs. analytical systems. Extraction, transformation and load of data. OLAP Systems and multidimensional queries I: ROLAP SQL 2 / 37

Outline 1 Motivation 2 MOLAP 3 MDX 4 Summary 3 / 37

Outline 1 Motivation 2 MOLAP 3 MDX 4 Summary 4 / 37

Multidimensional reports OLAP servers provide an effective solution for accessing and processing large volumes of high dimensional data. OLAP systems provide tools for multidimensional reporting. 5 / 37

Operators in multidimensional data model Roll up summarize data along a dimension hierarchy. Drill down go from higher level summary to lower level summary or detailed data. Slice and dice corresponds to selection and projection. Pivot reorient cube. Raking, Time functions, etc.. 6 / 37

Querying OLAP systems We can use relational databases and SQL for OLAP applications: SELECT Name, AVG(Grade) FROM Students grades G, Student S WHERE G.Student = S.ID GROUP BY Name; 7 / 37

Querying OLAP systems We can use relational databases and SQL for OLAP applications: SELECT Name, AVG(Grade) FROM Students grades G, Student S WHERE G.Student = S.ID GROUP BY Name; But the query result is a relational table, not a multidimensional report. 7 / 37

Querying OLAP systems We can use relational databases and SQL for OLAP applications: SELECT Name, AVG(Grade) FROM Students grades G, Student S WHERE G.Student = S.ID GROUP BY Name; But the query result is a relational table, not a multidimensional report. Relational model does not exactly match the multidimensional view on data. 7 / 37

Querying OLAP systems We can use relational databases and SQL for OLAP applications: SELECT Name, AVG(Grade) FROM Students grades G, Student S WHERE G.Student = S.ID GROUP BY Name; But the query result is a relational table, not a multidimensional report. Relational model does not exactly match the multidimensional view on data. We need systems and query languages for multidimensional reporting. 7 / 37

Querying OLAP systems We can use relational databases and SQL for OLAP applications: SELECT Name, AVG(Grade) FROM Students grades G, Student S WHERE G.Student = S.ID GROUP BY Name; But the query result is a relational table, not a multidimensional report. Relational model does not exactly match the multidimensional view on data. We need systems and query languages for multidimensional reporting. MOLAP (Multidimensional OLAP) and MDX (Multidimensional Expressions). 7 / 37

Outline 1 Motivation 2 MOLAP 3 MDX 4 Summary 8 / 37

MOLAP MOLAP Servers use array-based multidimensional storage engines. Optimization techniques: Two-level storage representation: dense cubes are identified and stored as array structures, sparse cubes employ compression techniques, Materialized cubes. 9 / 37

MOLAP Example Logical model consists of four dimensions: customer, product, location, and day In case of 100 000 customers, 10 000 products, 1 000 locations and 1 000 days, the data cube will contain 1 000 000 000 000 000 cells! Huge number of cells is empty: a customer is not able to buy all products in all locations.... 10 / 37

MOLAP Data can be naturally stored with aggregates. Products Mountain Road Touring All Time 2010 5076 4005 3560 12641 2011 6503 4503 3445 14451 All 11579 8508 7005 27092 11 / 37

MOLAP Advantages of MOLAP Servers: Multidimensional views are directly mapped to data cube array structures efficient access to data, Can easily store subaggregates. Disadvantages of MOLAP Servers: Scalability problem in the case of larger number of dimensions, Not tailored for sparse data, Young technology, There are no existing standards. 12 / 37

HOLAP HOLAP Servers are a hybrid approach that combines ROLAP and MOLAP technology. HOLAP benefits from the greater scalability of ROLAP and the faster computation of MOLAP. 13 / 37

Outline 1 Motivation 2 MOLAP 3 MDX 4 Summary 14 / 37

Multidimensional expressions For OLAP queries, MDX is an alternative to SQL. 15 / 37

Multidimensional expressions For OLAP queries, MDX is an alternative to SQL. MDX SELECT {[Time].[1997],[Time].[1998]} ON COLUMNS, {[Measures].[Sales],[Measures].[Cost]} ON ROWS FROM Warehouse WHERE ([Store].[All Stores].[USA]) 15 / 37

Multidimensional expressions (MDX) An MDX query must contain the following information: The number of axes on which the result is presented. The set of tuples to include on each axis of the MDX query. The name of the cube that sets the context of the MDX query. The set of members or tuples to include on the slicer axis. 16 / 37

Multidimensional expressions (MDX) Main concepts of MDX: Dimension, Hierarchy, Level, Member, Member property, Measure, Tuple, Set, Axis. 17 / 37

SQL vs. MDX Single member SQL: where City = Redmond MDX: [City].[Redmond] Multiple members (a set) SQL: where City IN ( Redmond, Seattle ) MDX: { ([City].[Redmond]), ([City].[Seattle]) } 18 / 37

SQL vs. MDX SQL: SELECT Sum(Sales), City FROM Sales_Table WHERE City IN ( Redmond, Seattle ) GROUP BY City MDX: 19 / 37

SQL vs. MDX SQL: SELECT Sum(Sales), City FROM Sales_Table WHERE City IN ( Redmond, Seattle ) GROUP BY City MDX: SELECT Measures.Sales ON 0, NON EMPTY {([City].[Redmond]), ([City].[Seattle])} ON 1 FROM Sales_Cube 19 / 37

SQL vs. MDX SQL: SELECT Sum(Sales) FROM Sales_Table WHERE City IN ( Redmond, Seattle ) MDX: 20 / 37

SQL vs. MDX SQL: SELECT Sum(Sales) FROM Sales_Table WHERE City IN ( Redmond, Seattle ) MDX: SELECT Measures.Sales ON 0 FROM Sales_Cube WHERE {([City].[Redmond]), ([City].[Seattle])} 20 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[All CARS].[Chevy], [CARS].[All CARS].[Ford]} ON ROWS, {[DATE].[All DATE].[March], [DATE].[All DATE].[April]} ON COLUMNS FROM MDDBCARS; 21 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[All CARS].[Chevy], [CARS].[All CARS].[Ford]} ON ROWS, {[DATE].[All DATE].[March], [DATE].[All DATE].[April]} ON COLUMNS FROM MDDBCARS; March April Chevy $155 000.00 $ 75 000.00 Ford $ 55 000.00 $175 000.00 21 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON ROWS, {[DATE].[ALL DATE].[MARCH], [DATE].[ALL DATE].[APRIL]} ON COLUMNS FROM MDDBCARS WHERE ([MEASURES].[SALES N]) 22 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON ROWS, {[DATE].[ALL DATE].[MARCH], [DATE].[ALL DATE].[APRIL]} ON COLUMNS FROM MDDBCARS WHERE ([MEASURES].[SALES N]) Sales N March April Chevy 1 000 700 Ford 600 1 500 22 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON COLUMNS, {[DATE].[ALL DATE].[JANUARY]:[DATE].[ALL DATE].[APRIL]} ON ROWS FROM MDDBCARS 23 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON COLUMNS, {[DATE].[ALL DATE].[JANUARY]:[DATE].[ALL DATE].[APRIL]} ON ROWS FROM MDDBCARS Chevy Ford January $66 000.00 $ 79 000.00 February $55 000.00 $ 72 000.00 March $155 000.00 $ 55 000.00 April $ 75 000.00 $175 000.00 23 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS 24 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]} ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS Chevy Ford 1998 $566 000.00 $ 479 000.00 1999 $545 000.00 $ 672 000.00 2000 $745 000.00 $ 527 000.00 2001 $345 000.00 $ 622 000.00 24 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[FORD].CHILDREN} ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS 25 / 37

Multidimensional expressions (MDX) MDX SELECT {[CARS].[ALL CARS].[FORD].CHILDREN} ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS Ford Mustang Ford Taurus... 1998 $56 000.00 $ 79 000.00 1999 $54 000.00 $ 72 000.00 2000 $72 000.00 $ 52 000.00 2001 $34 000.00 $ 22 000.00 25 / 37

Multidimensional expressions (MDX) MDX SELECT {([CARS].[ALL CARS].[CHEVY], [MEASURES].[SALES SUM]), ([CARS].[ALL CARS].[CHEVY], [MEASURES].[SALES N]), ([CARS].[ALL CARS].[FORD], [MEASURES].[SALES SUM]), ([CARS].[ALL CARS].[FORD], [MEASURES].[SALES N]) } ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS 26 / 37

Multidimensional expressions (MDX) MDX SELECT {([CARS].[ALL CARS].[CHEVY], [MEASURES].[SALES SUM]), ([CARS].[ALL CARS].[CHEVY], [MEASURES].[SALES N]), ([CARS].[ALL CARS].[FORD], [MEASURES].[SALES SUM]), ([CARS].[ALL CARS].[FORD], [MEASURES].[SALES N]) } ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS Chevy Ford Sales Sum Sales N Sales Sum Sales N 1998 $566 000.00 450 $ 479 000.00 450 1999 $545 000.00 475 $ 672 000.00 670 2000 $745 000.00 750 $ 527 000.00 490 2001 $345 000.00 325 $ 622 000.00 640 26 / 37

Multidimensional expressions (MDX) MDX SELECT {CROSSJOIN({[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]}, {[MEASURES].[SALES SUM], [MEASURES].[SALES N]}) } ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS 27 / 37

Multidimensional expressions (MDX) MDX SELECT {CROSSJOIN({[CARS].[ALL CARS].[CHEVY], [CARS].[ALL CARS].[FORD]}, {[MEASURES].[SALES SUM], [MEASURES].[SALES N]}) } ON COLUMNS, {[DATE].[ALL DATE].[YEAR].MEMBERS} ON ROWS FROM MDDBCARS Chevy Ford Sales Sum Sales N Sales Sum Sales N 1998 $566 000.00 450 $ 479 000.00 450 1999 $545 000.00 475 $ 672 000.00 670 2000 $745 000.00 750 $ 527 000.00 490 2001 $345 000.00 325 $ 622 000.00 640 27 / 37

Multidimensional expressions (MDX) MDX SELECT NON EMPTY [Store Type].[Store Type].MEMBERS ON COLUMNS, FILTER([Store].[Store City].MEMBERS, (Measures.[Profit], [Time].[1997]) > 250000) ON ROWS FROM [Sales] WHERE (Measures.[Profit], [Time].[Year].[1997]) 28 / 37

Multidimensional expressions (MDX) MDX SELECT NON EMPTY [Store Type].[Store Type].MEMBERS ON COLUMNS, FILTER([Store].[Store City].MEMBERS, (Measures.[Profit], [Time].[1997]) > 250000) ON ROWS FROM [Sales] WHERE (Measures.[Profit], [Time].[Year].[1997]) Profit Normal 24 Hours Toronto $66 000.00 $196 000.00 Vancouver $111 000.00 $156 000.00 New York $59 000.00 $196 000.00 Chicago $75 000.00 $211 000.00 28 / 37

Multidimensional expressions (MDX) MDX SELECT Measures.MEMBERS ON COLUMNS, ORDER({[Store].[Store City].MEMBERS}, Measures.[Sales Count], DESC) ON ROWS FROM [Sales] 29 / 37

Multidimensional expressions (MDX) MDX SELECT Measures.MEMBERS ON COLUMNS, ORDER({[Store].[Store City].MEMBERS}, Measures.[Sales Count], DESC) ON ROWS FROM [Sales] Profit Sales Count... New York $747 000.00 2 196 000 Chicago $785 000.00 1 956 000 Toronto $666 000.00 1 916 000 Vancouver $711 000.00 1 596 000 29 / 37

Multidimensional expressions (MDX) MDX WITH MEMBER [Time].[Year Difference] AS [Time].[2nd half] - [Time].[1st half] SELECT { [Account].[Income], [Account].[Expenses] } ON COLUMNS, { [Time].[1st half], [Time].[2nd half], [Time].[Year Difference] } ON ROWS FROM [Financials] 30 / 37

Multidimensional expressions (MDX) MDX WITH MEMBER [Time].[Year Difference] AS [Time].[2nd half] - [Time].[1st half] SELECT { [Account].[Income], [Account].[Expenses] } ON COLUMNS, { [Time].[1st half], [Time].[2nd half], [Time].[Year Difference] } ON ROWS FROM [Financials] Income Expenses 1st Half 5 000 4 200 2st Half 8 000 7 000 Year Difference 3 000 2 800 30 / 37

Multidimensional expressions (MDX) MDX WITH MEMBER [Account].[Net Income] AS ([Account].[Income] - [Account].[Expenses]) / [Account].[Income] SELECT { [Account].[Income], [Account].[Expenses], [Account].[Net Income] } ON COLUMNS, { [Time].[1st half], [Time].[2nd half] } ON ROWS FROM [Financials] 31 / 37

Multidimensional expressions (MDX) MDX WITH MEMBER [Account].[Net Income] AS ([Account].[Income] - [Account].[Expenses]) / [Account].[Income] SELECT { [Account].[Income], [Account].[Expenses], [Account].[Net Income] } ON COLUMNS, { [Time].[1st half], [Time].[2nd half] } ON ROWS FROM [Financials] Income Expenses Net Income 1st Half 5 000 4 200 0.16 2st Half 8 000 7 000 0.125 31 / 37

Multidimensional expressions (MDX) MDX WITH MEMBER [Time].[Year Difference] AS [Time].[2nd half] - [Time].[1st half], SOLVE ORDER = 1 MEMBER [Account].[Net Income] AS ([Account].[Income] - [Account].[Expenses]) / [Account].[Income], SOLVE ORDER = 2 SELECT { [Account].[Income], [Account].[Expenses], [Account].[Net Income] } ON COLUMNS, { [Time].[1st half], [Time].[2nd half], [Time].[Year Difference] } ON ROWS FROM [Financials] 32 / 37

Multidimensional expressions (MDX) Income Expenses Net Income 1st Half 5 000 4 200 0.16 2st Half 8 000 7 000 0.125 Year Difference 3 000 2 800 0.066 32 / 37

Multidimensional expressions (MDX) MDX WITH MEMBER [Time].[Year Difference] AS [Time].[2nd half] - [Time].[1st half], SOLVE ORDER = 2 MEMBER [Account].[Net Income] AS ([Account].[Income] - [Account].[Expenses]) / [Account].[Income], SOLVE ORDER = 1 SELECT { [Account].[Income], [Account].[Expenses], [Account].[Net Income] } ON COLUMNS, { [Time].[1st half], [Time].[2nd half], [Time].[Year Difference] } ON ROWS FROM [Financials] 33 / 37

Multidimensional expressions (MDX) Income Expenses Net Income 1st Half 5 000 4 200 0.16 2st Half 8 000 7 000 0.125 Year Difference 3 000 2 800-0.035 33 / 37

Multidimensional expressions (MDX) MDX WITH SET [Quarter1] AS GENERATE([Time].[Year].MEMBERS, {[Time].CURRENTMEMBER.FIRSTCHILD}) SELECT [Quarter1] ON COLUMNS, [Store].[Store Name].MEMBERS ON ROWS FROM [Sales] WHERE (Measures.[Profit]) 34 / 37

Multidimensional expressions (MDX) MDX WITH SET [Quarter1] AS GENERATE([Time].[Year].MEMBERS, {[Time].CURRENTMEMBER.FIRSTCHILD}) SELECT [Quarter1] ON COLUMNS, [Store].[Store Name].MEMBERS ON ROWS FROM [Sales] WHERE (Measures.[Profit]) 1998Q1 1999Q1... Saturn $147 000.00 $196 000.00 Media Markt $185 000.00 $156 000.00 Avans $166 000.00 $116 000.00 34 / 37

Outline 1 Motivation 2 MOLAP 3 MDX 4 Summary 35 / 37

Summary Three types of OLAP servers: ROLAP, MOLAP, and HOLAP. Several approaches for querying data warehouses. ROLAP servers: SQL and its OLAP extensions. MOLAP servers: MDX. 36 / 37

Bibliography Mark Whitehorn, Robert Zare, and Mosha Pasumansky. Fast Track to MDX. Springer, 2002 37 / 37