Global - (+34) 91 414 89 50 | N. America - (800) 757 6543 contact@solidq.com

COURSE: Advanced MDX – Performance, Optimization, and the MDX Script

Enhance your knowledge of MDX functions and sets and learn effective use of the MDX Script. Explore strategies to monitor and optimize MDX.

During this course you will learn how to analyze and optimize the performance of MDX calculations, you will understand the situations where MDX can be modified to improve performance and those situations where other strategies must be used, you will learn how to re-write MDX calculations so that they will work with specific client applications, how to use all the MDX functions, the MDX Script to create complex business logic and how to create complex Date Calculation Hierarchies.

COURSE DELIVERY OPTIONS

2-DAYS CLASSROOM

The course will take place in a classroom with no more than 20 students in order to maintain a good level of interactivity.

PRIVATE ONSITE

The course will take place in your company’s facilities. We limit attendance to no more than 20 students in order to maintain a good level of interactivity. Request quote here.

Course Benefits

What does this course cover?

Developed in-house by SolidQ, this is an Advanced MDX course. Half of the first day is devoted to advanced MDX functions and sets. The second half of the day is focused on effectively using the MDX Script. The second day is devoted completely to examining strategies for monitoring and optimizing MDX. The Advanced MDX course uses Analysis Services in SQL Server 2012, but almost all of the content is also applicable to Analysis Services in SQL Server 2008.

Who is this course designed for?

  • Individuals that are developing or supporting Analysis Services multidimensional cubes.

Pre-requisites: What do you need to know?

  • Ability to create and understand MDX calculations
  • Thorough understanding of sets and tuples
  • Ability to use all the basic MDX functions
  • It is recommended that the students have taken the SolidQ course MDX for Business Logic

NOTE: This is an Advanced MDX course. If a student is unfamiliar with MDX before they take this course, they are unlikely to receive much benefit from it.

Expert Mentors

Our instructors have faced in previous real case projects, the same problems you are facing now. Learn from experience professionals.

t

Interaction and Q&A

In all of our trainings, you will have the chance to ask individual questions and be capable of solving certain issues.

Course Coverage

 

Analyze and optimize the performance of MDX calculations

e

Use all the MDX functions

Understand the situations where MDX can be modified to improve performance

Use the MDX Script to create complex business logic

j

Re-write MDX calculations so that they will work with specific client applications

Use the MDX Script to create complex Date Calculation Hierarchies

”Very knowledgeable and good energy. Kept the class moving and engaged”

COURSE OUTLINE

Module 01: Advanced Functions

  • Using VBA and Excel Functions in MDX
  • Using the String Functions
    • StrToMember, StrToSet, StrToTuple, MemberToStr, SetToStr, TupleToStr
  • Using the Statistical Functions
    • StdDev, StdDevP, Var, VarP, Covariance, CovarianceN
    • LinRegIntercept, LinRegPoint, LinRegSlope, LinRegR2, LinRegVariance
  • Using the Drilldown (UI) Functions
    • DrilldownLevel, DrilldownMember, DrilldownLevelBottom, etc.
  • Using the KPI Functions
    • KPIGoal, KPIStatus, KPITrend, KPIValue, etc.
  • Using the LinkMember Function
  • Using the Generate Function to Create a Set
  • Using the Generate Function to Create a String
  • Using Recursion in MDX

LAB: Using LinkMember and recursion

Module 02: Advanced Set Topics

  • The Autoexists Functionality
  • The Existing Keyword
  • The Exists Function
  • Dynamic and Static Sets
  • Referencing the Sets on the Axes

LAB: Referencing the Set on the Rows

Module 03: The MDX Scripting

  • The MDX Script
  • The Calculate Command
  • Setting the Default Member
  • Creating a Calculation Hierarchy
  • Scoping and Assignments
  • Debugging the MDX Script
  • The Freeze Command
  • Assigning Formatting in the MDX Script
  • Using IF in MDX Scripting
  • Adding Values Not Directly in Source Data
  • Removing Inaccurate Values
  • Replacing IIF with MDX Scripting
  • Replacing Unary Operators with MDX Script Assignments

LAB: Writing MDX Script Code

 

Module 04: Building a Time Calculation Hierarchy

  • Understanding Time Calculation Hierarchies
  • The Business Intelligence (BI) Wizard
  • Customizing Time Calculation Hierarchies
  • Current Period Calculations
  • Relative Date Period Calculations
  • Period To Date and Rolling Average Calculations
  • Comparison, Ratio, and Forecasting Calculations
  • Assigning Formatting
  • Creating a Second Hierarchy to Choose the Type of Date

LAB: Adding New Time Calculations

Module 05: MDX Performance Analysis

  • Optimization Strategy
  • SSAS Cache, Windows Cache, and MDX Script Cache
  • Using SQL Server Profiler with SSAS
  • Determining Storage Engine Time and Formula Engine Time
  • Cache Warming Strategies

LAB: Examining Cache Behavior

Module 06: Enabling Block Computation

  • Understanding Block Computation
  • Situations that Prevent Block Computation
  • Monitoring for Block Computation
  • Rewriting Calculations to Use Block Computation
    • Removing Named Sets from Aggregation Functions
    • Replacing Filter with Crossjoin or Exists
    • Replacing Count(Filter) with Sum(IIF)
    • Removing Late Binding
    • Replacing User-Defined Functions
    • Replacing LinkMember
  • When Block Computation is Slower

LAB: Fixing Calculations to Use Block Computation

 

Module 07: Other Calculation Performance Strategies

  • Simplifying Complex Calculations
  • Making Sets as Small as Possible
  • Ordering in Set Multiplication
  • Using Query-Created Cache
  • Fixing Non-Varying Expressions
  • Other Best Practices
  • IIF Function Hints
  • Adding Attributes for Specialized Grouping
  • Adding Attributes to Avoid Calculations
  • Consolidating Attributes into Same Dimension
  • Adding Measures to Avoid Querying the Leaf Level
  • Creating Dummy Objects in the Cube
  • Replacing Calculations with Cube Features
  • Removing the Non_Empty_Behavior Property
  • Aggregation and Partition Strategy

LAB: Using MDX Calculation Performance Enhancement Strategies

Module 08: Using Subselects and Subcubes

  • Simplifying Complex Calculations
  • Making Sets as Small as Possible
  • Ordering in Set Multiplication
  • Using Query-Created Cache
  • Fixing Non-Varying Expressions
  • Other Best Practices
  • IIF Function Hints
  • Adding Attributes for Specialized Grouping
  • Adding Attributes to Avoid Calculations
  • Consolidating Attributes into Same Dimension
  • Adding Measures to Avoid Querying the Leaf Level
  • Creating Dummy Objects in the Cube
  • Replacing Calculations with Cube Features
  • Removing the Non_Empty_Behavior Property
  • Aggregation and Partition Strategy

LAB: Using MDX Calculation Performance Enhancement Strategies

Would you like to register for this course?

Fill out the form at the top of this page