building bi data models with deep see

Post on 30-May-2015

556 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Building BI Data Models with DeepSee

Kenneth Poindexter, Michael BraamMarch 2011

• BI component of Caché and Ensemble

– Embedded Real-Time Business Intelligence

• Available since Caché 2009.1

– New release available with Caché 2011.1

– All academies based on the 2011.1 version

• Integrated User Interface and API

– Light-weight browser-based user interface

– Standardized API for BI data access

DeepSee

Academy Outline

• DeepSee Data Modeling

– Cubes

– Subject Areas

– KPI’s

Accessing DeepSee

• Use Firefox as the browser

– DeepSee can be accessed from different browsers.

• Firefox, Internet Explorer and Chrome

– Within Firefox, click one of the three shortcuts in the browser’s toolbar

• From your Desktop

– Click on one of the shortcuts provided.

Demonstration

• What a cube can do for you?

Exercises (Shortcuts and Hints)

C:\Academy Files\DSMODEL Exercises.pdf

Contains a pdf copy of the exercise guide. For those of us that are visually challenged.

C:\Academy Files\Code.txt

Anyplace in the exercise guide where you find code that you have to type in, you can find that code in this file for easy copying and pasting.

C:\Academy Files\Completed Exercises

When all else fails…..

Cube

A data structure that allows fast analysis of data from different perspectives.

Cube

A data structure that allows fast analysis of data from different perspectives.

Region Product Year Units

Europe Candy 2011 12

Europe Candy 2010 6

Europe Candy 2009 2

Normal Two Dimensional View

Cube

A data structure that allows fast analysis of data from different perspectives.

Region Product Year Units

Europe Candy 2011 12

Europe Candy 2010 6

Europe Candy 2009 2

Normal Two Dimensional View

Fruit

Candy

Chips

2011 2010 2009

AsiaN America

Europe

View using a Cube

12 6 2

Cube

A data structure that allows fast analysis of data from different perspectives.

Fruit

Candy

Chips

2011 2010 2009

AsiaN America

Europe

View using a Cube

12 6 2

Cube: Dimensions and Measures

A data structure that allows fast analysis of data from different perspectives.

Fruit

Candy

Chips

2011 2010 2009

AsiaN America

Europe

View using a Cube

12 6 2

Dimensions

Defines the

perspective

Product

Year Sold

Location

Measures

Defines what we

are analyzing

Units Sold

Sale Amount

Average

Discount

Exercise 1: Create a New Cube

Exercise 1: Create a New Cube

Key Concepts

• Every cube requires a unique name

• The Source Class is where DeepSee will get data for your cube. A cube is based on a single source class or its related data

• DeepSee cubes are stored in Cache classes.

Dimension

A Dimension can be a value from our Source Class which we add to our cube in order to slice and dice, or view our data in different ways or from different perspectives.

Fruit

Candy

Chips

2011 2010 2009

N AmericaEurope

12 6 2Asia

Dimensions

Defines the

perspective

Product

Year Sold

Location

Exercise 2: Dimensions from Properties

Exercise 2: Dimensions from Properties

Key Concepts

• Dimensions must have unique names within the cube

• Dimensions are values used to analyze our data from different perspectives

• A dimension can be based upon a source property

• Any change made to a dimension requires you to compile and rebuild your cube.

Measure

A Measure is a numerical value that defines what we are analyzing. Measures can be aggregated in different ways, such as Sum, Average, Minimum and Maximum

Fruit

Candy

Chips

2011 2010 2009

N AmericaEurope

12 6 2Asia

Measures

Defines what we

are analyzing

Units Sold

Sale Amount

Average

Discount

Exercise 3: Measures from Properties

Exercise 3: Measures from Properties

Key Concepts

• Measures are numerical values associated with the records from our source class that we want to analyze

• It is perfectly normal to use a source property as both a measure and a dimension

• Measures can be aggregated in different ways, such as Sum, Min, Max and Avg.

Null Values

A null is a property within your database that does not have a value. DeepSee indexes null values.

Null Values

A null is a property within the database that does not contain a value. DeepSee indexes null values.

<null> Meaning

Exercise 4: Null Replacement

Exercise 4: Null Replacement

Key Concepts

• Null values are properties within our source class that do not have a value.

• By default, DeepSee displays null values as <null>

• Null Value does not necessarily = no meaning

• A default null replacement string can be set at the cube level

• Null replacement strings on levels override the null replacement string from the cube.

Ranges

What is a range

• A range is a grouping of one or more values into buckets of lesser number.

Ranges

No Discount

• 0%

1-19%

• 5%

• 6.5%

• 8%

• 10%

• 14.5%

• 15%

• 18%

• 18.5%

20-49%

• 21.5%

• 22%

• 25%

• 31%

• 36.5%

• 40%

• 42%

• 45.2%

• 49%

50%+

• 51.2%

• 68%

• 72.1%

• 80%

• 81%

• 82%

• 91%

• 92.5%

Discounts

Grouped Into

Meaningful

Ranges

What is a range

• A range is a grouping of one or more values into buckets of lesser number.

Ranges

Age

Grouped Into

Age Groups

• 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17Pediatric

• 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3018-30

• 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 5031-50

• 51, 52, 53, 54. 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70…51+

What is a range

• A range is a grouping of one or more values into buckets of lesser number.

Exercise 5: Range Expressions

Exercise 5: Range Expressions

Key Concepts

• Range Expressions allow us to group values that would otherwise be difficult to manage into smaller more manageable range sets

• Each Range has a From value, a To value and a Replacement Value

• The From and To values can be exclusive or inclusive.

Dimension Hierarchies and Levels

Multiple levels define their members in order of detail, with each level becoming more detail than the level before.

Dimension Hierarchies and Levels

Multiple levels define their members in order of detail, with each level becoming more detail than the level before.

BeijingShanghaiBangaloreMumbaiOsakaTokyo

Hierarchy

Dimension Hierarchies and Levels

Outlet Region Country City

AntwerpBrusselsLondonMancheste

rNiceParisBerlin

Asia

S. America

ChinaIndiaJapan

Europe BelgiumEngland

FranceFrankfurtGermany

MunichAmsterda

m

Netherland

s BarcelonaSpain MadridMontrealTorontoVancouverAtlantaBostonChicagoHoustonLos

AngelesNew YorkSeattle

CanadaUSA

N. America

BrasiliaBrazil Rio de

JaneiroSantiagoSao PaoloChile

Each dimension level contains Members that are tree-like organized.

Exercise 6: Multiple Levels and Hierarchies

Exercise 6: Multiple Levels and Hierarchies

Key Concepts

• DeepSee dimensions can contain multiple hierarchies and multiple levels within each hierarchy

• Levels must be organized into a tree structure where each level contains all of the members of the next lower level.

Time Dimensions

Time dimensions are dimensions which give us information from the perspective of time or date.

Exercise 7: Time Dimensions

Exercise 7: Time Dimensions

Key Concepts

• Time dimensions follow the same rules as other multi-level dimensions. They must be organized in a way that presents a parent-child relationship.

• DeepSee provides Functions which allow us to extract specific portions of date and time fields.

• Time isn’t always on our side.

Changing our Thought Process…

Most of the time when we begin building a data model, it’s habit to look at our source data and say, “What data do I have available to analyze.”

Measures

Dimensions

• Unit Sold

• Amount of Sale

• Avg Sales Amount

• Min Sales Amount

• Max Sales Amount

• Date of Sale

• Channel

• Outlet

• Product

• Category

• name

Changing our Thought Process…

I propose a new way of thinking. Instead of saying, “What do I have to analyze?” Say to yourself, “How do I want to analyze?” And then say, “How can I get it?”

Measures

Dimensions

• Unit Sold

• Amount of Sale

• Avg Sales Amount

• Min Sales Amount

• Max Sales Amount

• Avg Unit Amount

• Max Unit Amount

• Min Unit Amount

• Cases sold

• Date of Sale

• Channel

• Outlet

• Product

• Category

• Name

• Comment

• Type

• Comment

• SKU Category

• Sales Person’s Age

Exercise 8: Measures from Expressions

Exercise 9: Levels from Expressions

Review: Expressions

Key Concepts

• Change the way we think about the elements that will go into our data model.

• We can use source expressions to create new measures and dimensions that are not contained directly in the properties of our source class.

• We can use any Cache ObjectScript expression, which includes basic expressions as well as calls to external class methods which extend our possibilities endlessly.

Level Properties

Are values that are associated with the level to which they belong.

City Possible

Properties

Population

Mayor

Registered Dogs

Or any other

value that might

be associated

with a particular

city

Level Properties

Are values that are associated with the level to which they belong.

Within DeepSee, they can be used in different ways:

• As the name of the members of the level they belong

• To sort the members of the level they belong.

• Much like a measure in the Columns box within Analyzer

Exercise 10: Level Properties

Exercise 10: Level Properties

Key Concepts

• Level properties are used to provide additional information about the member of a level to which it belongs.

• They can be used to sort the members, or as the name of the members of the level to which it belongs.

• Level properties can be both source property and source expression based.

Detail List

A Detail List allows us to drill to the detail information about the records which make up a given aggregated value.

Detail List

A Detail List allows us to drill to the detail information about the records which make up a given aggregated value.

Exercise 11: Detail Lists

Exercise 11: Detail Lists

Key Concepts

• Allows drill-down to the detail records which make up a given aggregated value or set of values

• Is based on a SQL statement, executed at run-time

Subject Area

A subset of a cube.

• Filters the records returned by queries without having to explicitly define the filter within the query

• Filters the cube elements available to the end user

• Allows cube elements to be modified and renamed.

Fruit

Candy

Chips

2011 2010 2009

AsiaN America

Europe

12 6 2

Subject Area

A subset of a cube.

• Filters the records returned by queries without having to explicitly define the filter within the query

• Allows cube elements to be hidden from the end user

• Allows you change the display name.

Candy

Chips

2010 2009

6 2

Los Angeles

Orlando

Exercise 12: Subject Areas

Exercise 12: Subject Areas

Key Concepts

• Provide the ability to filter the records available to the user

• Provider the ability to limit access to measures, dimensions and listings as well as modify their display names.

• Enables us to secure our data by requiring a specific resource to access the subject area.

Academy Review

• Cubes

– Measures

– Dimensions

• Subject Areas

• KPIs

Review: More Information

• Exploring and Presenting Data with DeepSee

– Tuesday 4:00PM

– Wednesday 9:00AM

• Building BI Data Models with DeepSee

– Monday 2:00PM

– Tuesday 1:30PM

• Using MDX in DeepSee

– Tuesday 10:00AM

– Wednesday 11:15AM

Review: More Information

• Developers Room

• Cache Documentation

– Defining and Building DeepSee II Models

– Getting Started with DeepSeeIntroduction

– DeepSee II Implementation GuideImplementation

– Developer Tutorial Step-by-Step

Building BI Data Models with DeepSee

Kenneth Poindexter, Michael BraamMarch 2011

top related