Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Building BI Data Models With Deep See
1. Building BI Data Models with DeepSee
Kenneth Poindexter, Michael Braam
March 2011
2. DeepSee
• 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
3. Academy Outline
• DeepSee Data Modeling
– Cubes
– Subject Areas
– KPI’s
4. 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.
6. Exercises (Shortcuts and Hints)
C:Academy FilesDSMODEL Exercises.pdf
Contains a pdf copy of the exercise guide. For those of us
that are visually challenged.
C:Academy FilesCode.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 FilesCompleted Exercises
When all else fails…..
8. Cube
A data structure that allows fast analysis of
data from different perspectives.
Normal Two Dimensional View
Region Product Year Units
Europe Candy 2011 12
Europe Candy 2010 6
Europe Candy 2009 2
9. Cube
A data structure that allows fast analysis of
data from different perspectives.
Normal Two Dimensional View View using a Cube
Region Product Year Units
Europe Candy 2011 12
Fruit
Europe Candy 2010 6
Candy 12 6 2
Europe Candy 2009 2 Asia
N America
Chips Europe
2011 2010 2009
10. Cube
A data structure that allows fast analysis of
data from different perspectives.
View using a Cube
Fruit
Candy 12 6 2 Asia
N America
Chips Europe
2011 2010 2009
11. Cube: Dimensions and Measures
A data structure that allows fast analysis of
data from different perspectives.
View using a Cube
Dimensions Measures
Defines the Defines what we
perspective Fruit are analyzing
Product Candy 12 6 2 Asia Units Sold
Year Sold N America Sale Amount
Chips Europe
Location Average
2011 2010 2009 Discount
13. 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.
14. 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.
Dimensions
Defines the
Fruit perspective
Candy 12 6 2 Asia Product
N America
Chips Europe Year Sold
2011 2010 2009 Location
16. 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.
17. 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
Measures
Defines what we
Fruit are analyzing
Candy 12 6 2 Asia Units Sold
N America
Chips Europe Sale Amount
2011 2010 2009 Average
Discount
19. 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.
20. Null Values
A null is a property within your database that does
not have a value. DeepSee indexes null values.
21. Null Values
A null is a property within the database that does
not contain a value. DeepSee indexes null
values.
<null> Meaning
23. 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.
24. Ranges
What is a range
• A range is a grouping of one or more values into
buckets of lesser number.
25. Ranges
What is a range
• A range is a grouping of one or more values into
buckets of lesser number.
No Discount 1-19% 20-49% 50%+
• 0% • 5% • 21.5% • 51.2%
Discounts • 6.5% • 22% • 68%
• 8% • 25% • 72.1%
• 10% • 31% • 80%
Grouped Into • 14.5% • 36.5% • 81%
• 15% • 40% • 82%
• 18% • 42% • 91%
Meaningful • 18.5% • 45.2% • 92.5%
Ranges • 49%
26. Ranges
What is a range
• A range is a grouping of one or more values into
buckets of lesser number.
Pediatric • 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
Age
18-30 • 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
Grouped Into
31-50 • 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50
Age Groups
51+ • 51, 52, 53, 54. 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70…
28. 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.
29. Dimension Hierarchies and Levels
Multiple levels define their members in order of
detail, with each level becoming more detail than
the level before.
30. Dimension Hierarchies and Levels
Multiple levels define their members in order of
detail, with each level becoming more detail than
the level before.
31. Dimension Hierarchies and Levels
Hierarchy
Outlet Region Country City Each dimension level
contains Members that
are tree-like organized.
Asia China Beijing
Shanghai
India Bangalore
Mumbai
Japan Osaka
Tokyo
Europe Belgium Antwerp
Brussels
England Mancheste
London
France Nice
r
Paris
Germany Berlin
Frankfurt
Netherland Amsterda
Munich
Spain
s Barcelona
m
Madrid
N. America Canada Montreal
Toronto
USA Vancouver
Atlanta
Boston
Chicago
Los
Houston
New York
Angelesde
Seattle
S. America Brazil Rio
Brasilia
Chile Santiago
Janeiro
Sao Paolo
33. 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.
34. Time Dimensions
Time dimensions are dimensions which give us
information from the perspective of time or date.
36. 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.
37. 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.”
• Unit Sold
• Amount of Sale
Measures •
•
Avg Sales Amount
Min Sales Amount
• Max Sales Amount
• Date of Sale
• Channel
Dimensions •
•
Outlet
Product
• Category
• name
38. 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?” • Unit Sold
• Amount of Sale
• Avg Sales Amount
Measures
• Min Sales Amount
• Max Sales Amount
• Avg Unit Amount
• Max Unit Amount
• Min Unit Amount
• Cases sold
• Date of Sale
• Channel
• Outlet
• Product
Dimensions
• Category
• Name
• Comment
• Type
• Comment
• SKU Category
• Sales Person’s Age
41. 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.
42. 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
43. 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
45. 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.
46. Detail List
A Detail List allows us to drill to the detail
information about the records which make up a
given aggregated value.
47. Detail List
A Detail List allows us to drill to the detail
information about the records which make up a
given aggregated value.
49. 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
50. 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 12 6 2 Asia
N America
Chips Europe
2011 2010 2009
51. 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 6 2
Orlando
Chips Los Angeles
2010 2009
53. 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.
55. 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
56. Review: More Information
• Developers Room
• Cache Documentation
– Defining and Building DeepSee II Models
– Getting Started with DeepSee Introduction
– DeepSee II Implementation Guide
Implementation
– Developer Tutorial Step-by-Step
57. Building BI Data Models with DeepSee
Kenneth Poindexter, Michael Braam
March 2011