Technical Training
Analysis Services TrainingTable of Contents
MSAS: Creating Custom Rollups
MSAS: Creating Custom Rollups - Page 2
MSAS: Creating Custom Rollups - Page 3MSAS: Creating Custom Rollups
Custom rollups are enabled when the Unary Operators property of the level is set to True. The values of the Custom Rollup are stored in the Define Unary Operator Column dialog box.
Custom Rollup Operators and Custom Member formulas are very similar but the former is much simpler. Where Custom member formulas use Multidimensional Expressions to determine the method of roll up of members, the custom rollup operator uses simple math to determine how the value of the member affects the parent. The aggregation rule consists of a single character code --(+) for addition and (–) for subtraction,( *)asterisk for multiplication and( /) for division. (~) is used to prevent the members from aggregating at all. These codes are called unary operators because each value gets its own operator.
Custom rollup expressions of a previous level are overridden by custom rollup operators. However, custom member formulas of a preceding level can override the custom rollup members of a level.
Custom rollup operators are enabled both for shared and private dimensions. This can be done by setting the Unary Operators property in the properties pane of the Dimension editor or cube editor. Clicking the Edit button beside this property’s value displays the Define Unary Operator Column dialog box. This dialog box can be used to select or create a column to store the formulas. Once this is set, it is possible to select values for Unary_operator member property for a write enabled, shared, parent child dimension in the custom member formula pane of the Dimension Editor or Dimension Browser. If the dimension is not write enabled the Formulas cannot be inserted in Analysis manager. It must be noted that if a cube has a measure whose Aggregate function property is set to Distinct Count, adding a custom rollup operator or expression to a level will cause the structure of the cube to become invalid.
Custom Rollup Formulas and Custom Member Formulas
Custom Rollup formulas and Custom member formulas are Multidimensional Expressions. They determine the cube cell values associated with members. While a custom rollup formula applies to all members (except calculated members) a custom member applies to a single member. Calculated members are not stored in the dimension table and provide additional members to the dimension table unlike Custom rollup formulas and custom member formulas.
Aggregate functions associated with measures are overridden by custom rollup formulas and custom member formulas. For example a measure uses a Sum aggregate function of the following kind.
2001: 2100
First quarter::500
Second quarter :500
Third quarter : 100
Fourth quarter:1000
2002: 900
First quarter: 100
Second quarter: 300
Third quarter: 400
Fourth quarter: 100
If the custom rollup formula specified is Time.CurrentMember.LastChild the result would be
2000:1000
2001: 100
The values for the quarters would remain unchanged.
Custom member formulas perform similar operations but are restricted to single members. The value for the fourth quarter of 2001 member in the Time dimension can be supplied by the formula
Time.[fourth quarter] *1.5
To apply custom rollup formula to only some members of the level, the IIf and RollupChildren functions are used. The RollupChildren function can roll up the children specified, using unary operators specified in the function.
Custom member formulas override custom rollup formulas. Calculated members have to be resolved before custom rollup formulas and custom rollup members are resolved. If a cube has multiple custom rollup formulas and custom rollup members, then the formulas are resolved in the order in which the dimensions have been added to the cube. The order of the dimensions can be viewed and changed using the Cube Editor window.
To specify a custom rollup formula in any level except the All Level, the Custom Rollup Formula property of the level has to be used. To specify it for the All Level the All Member Formula property of the dimension has to be used.
Custom rollup formulas can be specified both in a shared and a private dimension. If a cube contains both a shared and private dimension with custom rollup formulas, then the custom rollup formula of a private dimension takes precedence over a shared dimension’s formula.
Custom member formulas in a level can be enabled using the Custom Members property in the properties pane of the Dimension Editor(shared dimension) or Cube Editor(private dimension). Clicking the ellipsis button beside this property value displays the Define Custom Member Column dialog box in which the formulas can be defined. It must be noted that the formulas can only be created in the custom member formula pane of the Dimension editor or browser only if the dimension is write enabled.
Analysis Services Training
- MSAS - Browsing the Dependency Network
- MSAS - Building a Relational Decision Tree Model
- MSAS - Introduction to Data Mining
- MSAS - Applying security to a Dimension
- Tutorial 65: MSAS - Managing Cube Roles
- MSAS - Understanding Database Roles
- MSAS - Securing User Authentication
- MSAS - Introducing Analysis Services Security
- MSAS - Writebacks
- MSAS - Defining and Creating Drillthrough
- MSAS - Defining and Creating Auctions
- MSAS - Creating and Maintaining Calculated Members in Virtual Cubes
- MSAS - Building a Virtual Cube
- MSAS - Understanding Virtual Cubes
- MSAS - Introducing Solve Order
- MSAS - Implementing Calculations Using MDX Part 2
- MSAS - Implementing Calculations Using MDX Part 1
- MSAS - Merging Partitions
- MSAS - Introduction and Managing Partitions
- MSAS - Troubleshooting Cube Processing
- MSAS - Optimizing Cube Processing
- MSAS - Processing Dimensions and Cubes
- MSAS - Introducing Dimension and Cube Processing
- MSAS: Optimization Tuning Part 2
- MSAS: Optimization Tuning Part 1
- MSAS: Usage-Based Optimization
- MSAS: Analysis Services Aggregations
- MSAS: The Storage Design Wizard
- MSAS: Analysis Server Cube Storage
- MSAS: Defining Cube Properties
- MSAS: Introduction and Working with Measures
- MSAS: Introduction and Working with Cubes
- MSAS: Virtual Dimensions
- MSAS: Introducing Member Properties
- MSAS: Creating Custom Rollups
- MSAS: Creating a Time Dimension
- MSAS: Understanding Hierarchies
- MSAS: Dimension Storage Modes and Levels
- MSAS: Working with Levels and Hierarchies
- MSAS: Working with Parent-Child Dimensions
- MSAS : Basics of Levels
- MSAS : Working with Standard Dimensions
- MSAS : Shared vs Private Dimensions
- Understanding Dimension Basics
- MSAS : Office 2000 OLAP Components
- MSAS : Client Architecture
- MSAS : Cube Storage options
- MSAS : Meta data Repository
- MSAS : Analysis services Tools for Extended Functionality
- MSAS : The Wizards
- MSAS : The Analysis Manager and Analysis Server
- MSAS : The Data warehousing framework of SQL Server 2000 - Part 2
- MSAS : The Data warehousing framework of SQL Server 2000 - Part 1
- MSAS : Microsoft Data Warehousing Overview
- MSAS : Browsing the Cube
- MSAS : Designing Storage and Processing the Cube
- MSAS : Building the Cube Part #3
- MSAS : Building the Cube Part #2
- MSAS : Building the Cube Part #1
- MSAS : Setting up the Database in Analysis Server
- MSAS : Preparing to Create the Cube
- MSAS : Introducing Analysis Manager Wizards
- Microsoft Analysis Services Installation
- MSAS - Applying OLAP Cubes
- Understanding OLAP Models
- Designing the Dimensional Model and Preparing the data for OLAP
- Design of the data warehouse: Kimball Vs Inmon
- Defining OLAP Solutions and Data Warehouse design
- Microsoft Analysis Services Training
- Data Warehouse database and OLTP database
- Introduction to Data Warehousing







