Essbase and Planning have many great reporting options, but so much of the time users still just want to work with their data in Excel. Smart View does a great job of basic zooming and pivoting. However, there are still things you just can’t do with the usual Smart View features, things like top and bottom reports, custom grouping, custom sorting, and filters.
With MDX you can. Users can execute MDX from Smart View. The MDX Library extension makes it user friendly, and there are other advantages. It’s fast, it respects security settings, and you can avoid some of the limits on query size. Most importantly, it dramatically extends what users can do with their Essbase data in Excel.
MDX can be complicated and though you can do more if you know MDX, this session requires no prior MDX knowledge. We will show you the code, give you the script files, and show you a step-by-step approach to customize them.
In this session we will review:
• Top and bottom reports
• Sorting and filtering
• Custom grouping
• Calculated columns
• Custom time-based analytical calculations
• How to customize the queries
• Using variables for customization
This session is for anyone who wants to empower users or themselves with more flexible, more advanced packaged Essbase queries. That includes admins, developers, and power users, but it also includes adventurous end users with no knowledge of MDX.
2. AGENDA
> Advantages
> Execution methods
> Template based approach
> Examples and code samples
> Tips and tricks
> Basic optimization
> Q&A
3. ABOUT THE SPEAKER
Ron Moore
> Principal Architect at Alithya
> Over 20 years Essbase consulting and training experience
> Certified in Essbase, Planning and R programming
> Many webcasts and KScope sessions
> 19 Oracle University Quality Awards
Ron.Moore@Alithya.com
4. COMPANY HISTORY
4
2001
Hyperion
Planning
introduced
to the
market (1st
Essbase
embedded
app)
2007
Enhanced
Consolidation
practice with
world class
capabilities
2009
HPCM
introduced
to the
market –
Ranzal
design
review
2010
Established
Strategic
Finance
practice to
complement
our Planning
expertise
2012
Exalytics &
Performance
Testing Lab
Establish
multi
product
focus &
advisory
Proven business analytics leader with a
history of successful implementations
and continuous growth
1996
Ranzal &
Associates
Founded
2004
Acquired by
Edgewater
2016
Deepened
geographic
footprint
and EPM
Cloud
expertise
2015
Developed
Discovery &
Modern
Data
Architecture
Approach
2014
Introduced
Hosting,
Support &
Managed
Services
Offerings
2018
Ranzal &
Alithya join
forces to
form an EPM/
ERP Cloud
Powerhouse
5. ALITHYA OVERVIEW – EPM & ANALYTICS
5
Comprehensive Business Solutions
Our solutions drive improved business performance
through better decision making, strong customer
engagement, and optimized operations
Deep Partnership Drives Customer Value Adaptable Deployment Models
Diverse Client Portfolio & Industry Expertise
RetailEnergy/
Utilities
Team Highlights
Multiple Oracle
ACEs
Seasoned
delivery team
with avg 8 years
serving clients
Experienced
management team
with avg 15 years in
the company
Certified Cloud
Resources
Enterprise Performance
Management (EPM)
Analytics
Financial Services
Technology CPG and
Manufacturing
Healthcare
Outstanding
Achievement
in Big Data
100 Most Promising
Big Data Solutions
Providers
1,000+ Clients 2,000+ Projects20+ Years
Advisory
Services
Implementation
Services
Technical
Services
Hosting &
Support
Training
Services
Intellectual
Property
6. ADVANTAGES
> Create custom calculated members without affecting the cube
> Create custom sets without affecting the cube
> Fast for many common queries
> More than 6 minutes to render largest Product x Geo form -12 seconds with MDX in Smart View
> Bypasses most of the row limits in Smart View
> Eliminates multiple manual drill down steps
> Puts power into the hands of the users who are closest to the analytical problem and understand it best.
Users can do more sophisticated analytics than without MDX.
"You should have made me do this months ago“
Client Power User
7. WHAT DOES AN MDX QUERY LOOK LIKE
(SMART VIEW EXAMPLE – NEW INTERFACE)
> Smart View Ribbon | Manage & Execute Queries
8. EXECUTION METHODS
> EAS MDX Editor
> MaxL
> Smart View
> Old Interface
> New Interface
> MDX Extension
> Smart Query
> VBA HypExecuteQuery
> Others
9. EAS MDX EDITOR
> From EAS | File | Editors | MDX Script
Editor
> File | Save Script As to save scripts to a
local drive accessible to Smart View
10. SMART VIEW OLD INTERFACE
> Smart View Ribbon | Execute Query
> Type on the fly or paste code
> Code is lost on execution
11. MDX SMART VIEW EXTENSION
> Download and Install Extension
> Create a local folder structure to store
scripts (accessible to EAS)
> Select script folder
> Connect to a database
> Execute and edit from SV MDX
Extension interface
12. SMART VIEW NEW INTERFACE
> New Version Smart View
11.1.2.5.720 intros new MDX
dialog
> Does not require MDX Extension
> New interface and MDX extension
can coexist
13. OLD V NEW COMPARISON
> New doesn’t need MDX extension
> New is a few more clicks to paste in code and execute
> Old shares “library” folder tree easily with EAS editor for script development
14. ROW LIMITS
> Provider Service Limit
> SV returns nonspecific error
message
> EAS returns Max Rows Exceeded
> Solution
> EAS|Providers Servers |Rightclick
|Edit |Properties
Oracle Smart View for Office
Maximum number of rows [5000] exceeded. Contact Analytic
Provider Services administrator.
15. MAXL
> Embed MDX script in MaxL
script
> Terminate MDX with ;
> Set format, header,
delimiter etc.
16. SMART QUERY
> Smart Query supports
custom calculated members
using MDX syntax
> RightClick Database name |
New Smart Query Sheet
> Select Dimension |Right
Click | Select Base Members
| Other
17. PARAMETERIZATION: SUBSTITUTION VARIABLES
> Use Substitution Variables
for common rows, columns,
custom members and
custom sets
> Can be reset in UI or in
MaxL scripts
> Substitution Variables can
be up to 256 bytes
Component Code
Substitution
Variable:
EastRows01
Crossjoin( {[Product].levels(0).members},{[East]})
MDX Script Select {[Net Income],[Total Revenue]} ON COLUMNS,
&EastRows01 ON ROWS
From [rgmTest.test01]
Where ([Forecast],[FY18])
18. PARAMETERIZATION: EAS INCLUDE FILES
> In EAS MDX Editor
> “Include reference to
another file” inserts file link
> “Expand variables and file
references in the script”
expands link to code
fragment
> Delete extra “;” at the end
of the line
> Create “library” folder with
common row, column and
other code fragments
19. TEMPLATE APPROACH TO CUSTOMIZATION
> Objective is to get started quickly, doing new and useful thing,
working with tools you already have
> Focus on reusable structures, not details of syntax
> Learn more complicated syntax while doing
> Identify common row sets, column sets and points of view, and put
them in substitution variables (256 bytes) or include files
19
20. TEMPLATE BASED APPROACH : PART 1
> Specifying columns
> Specifying rows
> Specifying the cube
> Specifying the slicer (POV)
20
Select {….} on columns,
{…} on rows
From [...].[…]
Where ( , , , )
21. TEMPLATE BASED APPROACH : PART 2
> Custom members
> Custom sets
> NOTE: With Section
goes first
21
WITH
Member [DimName].[MbrName] AS ‘ …….’
Set SetName AS ‘ ….. ‘
Select {….} on columns,
{…} on rows
From [...].[…]
Where ( , , , )
23. SIMPLE MDX QUERY
> [] Members
> () tuple – one member from
each dimension
> {} sets– can have multiple
members from each dimension
23
24. ADD AN AXIS
> Add Axes up to 64 axes
> Columns axis = Axis 0
24
25. CROSSJOIN
ANOTHER WAY TO ADD DIMENSIONS
> Crossjoin creates a
set containing the
cross-product of
two sets
> More than two sets
requires additional
nested crossjoins
> Sets must contain
same dimensions in
same order
26. SUPPRESS MISSING AND MISSING BLOCKS
> Non Empty
Suppresses rows
with missing data
> NonEmptyBlock
suppresses entire
missing blocks
(VERY common for
performance)
26
27. WITH SECTION
CUSTOM MEMBERS AND SETS
> Optional WITH section
> Custom sets
> Custom members
> WITH [Dimname].[Membername] AS
‘ expression’
, solve_order= 10 (optional)
> WITH SetName AS
‘ set specification’
28. IIF
> IIF tests a condition and
returns TRUE or FALSE
> Nest IIF statements for
multiple conditions
> Use AND, OR, NOT, XOR to
combine conditions
Syntax Example
IIF (
search_condition,
true_part,
false_part )
WITH
Member [Account].[Profit %] AS
‘IIF(
[Revenue] <> Missing,
[Profit] / [Revenue],
Missing)’
29. TUPLERANGE
> Tuplerange combines two
dimensions into one
continuous range e.g.
Years and Months
> Similar to @XRANGE in
BSO Calc language
Syntax:
TupleRange ( tuple1 , tuple 2 )
30. UDA
> UDA returns members
assigned that UDA text
> IsUDA returns True/False
based on assigned UDA text
31. TOP/BOTTOM FUNCTIONS
Function Description Syntax
TopCount /
BottomCount
Top or bottom N elements,
e.g. Top 10 regions based
on sales
TopCount ( set, index [,numeric_value_expression ] )
TopPercent /
BottomPercent
Elements that total the top
or bottom N percent, e.g.
Regions that comprise top
10% of sales
TopPercent ( set, percentage, numeric_value_expression )
TopSum /BottomSum Elements that total the top
or bottom N amount, e.g.
top Regions that comprise
100,000 in sales
TopSum ( set, numeric_value_expression, numeric_value_expression )
32. GENERATE AND TOPCOUNT
> Generate dynamically
creates set 2 for each
element of set 1. Set
2 can have different
elements for each
element of set 1.
> e.g. Find the top 3
products for each year.
34. GENERATE AND TOPPERCENT:
TOP VARIANCES BY DEPT
> BUs with largest
variances that
make up the
50% of total
variance by Dept
34
35. CROSSTABS:
NONEMPTYCOUNT - 2 D
> Counts Non Empty
descendants on 2
dimensions
> Descendants
function accepts
any generation,
not just
dimensions
35
36. CROSSTABS:
NONEMPTYCOUNT - 3 D
> Continue adding
dimensions to the
Crossjoin , one
dimension at a time
> Add the dimension
to the Crossjoin and
the row specification
36
37. CROSSTABS:
CONDITIONAL COUNTS - 2 D
> In this case the
Threshold member
flags members > 500
as 1.
> Sum the cells that
pass the Threshold
> Substitute any
condition into
Threshold
37
40. DOCUMENT IN SCRIPT SO USERS FULLY UNDERSTAND
DETAILS
> Objective
> Business logic
> How custom members and sets work
> Row, column and slicer
41. SMART VIEW MDX AND EAS EDITOR
> Compose in EAS Editor for
diagnostics
> Save to folder with easy
access from SV
> Execute from Smart View
seamlessly
> Organize folder structure for
easy access
42. SIMPLIFY COMPLEX SMART VIEW TASKS
> Combine multiple Smart View filters into one “custom flag” column
> Classify complicated sets of conditions into groups for debugging/analysis
43. EXAMPLE : FORECAST VALIDATIONS
> Requirements
> Validate forecasts line by line for thousands of lines
> 3 conditions for “in scope” e.g. Revenue > X and Product Category in specific list
> Product Categories had different forecast logic
> Forecasts span multiple years
> Smart View Challenges
> Row limits
> Required 3 columns with different filters to display correct roles
> Required multiple YearTotal and Current Year month columns
> Product Categories in UDAs not members
43
44. EXAMPLE: FORECAST VALIDATIONS
> Solution
> Batch 3 conditions into 1 flag to filter in Excel
> Display calculated UDA ”flag” value for filtering
> Calculate a single column for Total Forecast Revenue
> Calculate variances
44
45. PLAYING NICE WITH SMART VIEW REFRESH
Problem Solution
Slicer dims cause insert row shifting
formulas
move slicer dims to columns
Queries with Excel filters engaged
sometimes don’t work
clear filters before execution
47. BASIC OPTIMIZATION
Directive Description Syntax/Example
Non Empty Suppresses empty rows Select {[Net Income],[Total Revenue]} ON COLUMNS,
Non Empty
&EastRows01 ON ROWS
From [rgmTest.test01]
Where ([Forecast],[FY18])
NonEmptyBlock Suppresses empty blocks Select {[Net Income],[Total Revenue]} ON COLUMNS,
Non Empty NonEmptyBlock
&EastRows01 ON ROWS
From [rgmTest.test01]
Where ([Forecast],[FY18])
NonEmptyMember Suppresses calculation when
data for member is missing
With Member [Account].[Profit %] AS
‘ NonEmptyTuple [Profit]
[Profit] /[Sales] ‘
NonEmptyTuple Suppresses calculation when
tuple is missing
With Member [Account].[Profit %] AS
‘ NonEmptyTuple ([Actual],[Profit])
[Profit] /[Sales] ‘
48. NONEMPTYMEMBER IN ACTION
> 8 ASO Member Formulas to convert Functional and Transactional to
budget rate, prior year rate, forecast rate, etc.
> Complexities included partial agg up the BU dimension. BU Level 1
was same currency while > level 1 was different currencies.
> Adding NonEmptyMember [TRAN] improved each calc from over one
minute each to around 9 seconds.
48
49. Q&A
49
infosolutions@alithya.com
You can email us questions:
Read our blog for insight and
find answers to your questions:
ranzal.blog
Visit our website to find the right
solution and learn how we can
help you:
alithya.com/oracle
50. 16 SPEAKER SESSIONS
50
Visit us at Booth # 113
Monday, 6/24:
• 11:00am – 11:30am (202): Become a RESTful Iron Man with ARC (the Application, Not the Reactor)
• 11:00am - 11:30am (204): Supplemental Data in the Cloud
• 2:15pm - 3:15pm (205): Best Practices for Designing and Building Integrations
• 3:45pm - 4:45pm (611): My Favorite Calc Code
Tuesday, 6/25:
• 8:50am - 9:50am (204): Keys to the Kingdom: Key Concepts to ARCS Application Design
• 10:00am - 11:00am (211): Client Success Story - Oracle FDMEE is the Cloud Data Hub at Legg Mason
• 11:45am - 12:45pm (611): I Can do WHAT with PCMCS? Features and Functions, Business Benefits, and Use Cases
• 2:15pm - 3:15pm (211): EPM Cloud Integration at CareFirst
• 2:15pm - 3:15pm (611): Empowering Users with Analytical MDX
Wednesday, 6/26:
• 10:15am - 11:15am (201): EPRCS: The reporting Swiss Army Knife
• 10:15am - 11:15am (602): Connected Planning Using EPM Cloud at Opus Group
• 11:45am - 12:45pm (211): Case Study: Using EDMCS to Solve Master Data Challenges
• 11:45am - 12:45pm (201): EPM Data Integration Panel
• 11:45am - 12:45pm (6A): Trend-Based Connected Planning at Vitamix
• 3:30pm - 4:30pm (204): A 2020 Vision for EPM Project Management
Thursday, 6/27:
• 9:30am – 11:00am (609): Deep Dive: Financial Close: The Best of Both Worlds - Welcome to the Hybrid Close
51. CONTACT INFORMATION
51
Alithya
1025 Westchester Avenue, Suite 108
White Plains, NY 10604
Tel (914) 253-6600
infosolutions@alithya.com
20 West Kinzie Street
Suite 13046
Chicago, IL 60610
200 Harvard Mill Square
Suite 320
Wakefield, MA 01880
Contact
Title
Mobile
E-mail