Provides classes used to define OLAP expressions usable within a business model for defining portions of an OLAP business query.

These classes are used to model expressions, which are used to compose data items and filters. Data items can use simple expressions that refer to simple, straightforward pieces of data such as measures in OLAP cubes. Data items can also use complex expressions that are modeled a filter expression.

Filters can be applied to a OLAP based map at three levels. In the cases described, below we will cover the outter most type of filter or the "parent" filter.

Parent Filter Example 1:

> > Filter applied in IMS filter dialog (where State is the lowest level).

> > > SOUTHEAST.NC

> > > SOUTHEAST.SC

> > > SOUTHWEST.AZ

> > > SOUTHWEST.CA

Initial view.

Because State is the lowest level, there is no navigation available.

If subtotal and total is applied, only axis total will be shown.

Parent Filter Example 2:

> Given the above cube, if we apply a filter of:

> SOUTHEAST

> SOUTHWEST

Initial view.

We should see the following as the initial view. Both elements should be drillable and expandable to their associated descendents.

If subtotal and total is applied, only axis total is shown until either SouthEast or Southwest is expanded. When these levels are expanded, subtotal is shown.

Parent Filter Example 3:

> Given the above cube, if we apply a filter:

> SOUTHEAST

> SOUTHWEST

> SOUTHWEST.AZ

> SOUTHWEST.C A

Initial view.

Southeast is drillable and expandable to its descendents. Southwest is only drillable and expandable to the children that have been selected. The SouthWest aggregation only contains the value of AZ and CA.

If subtotal and totals is applied, subtotal is shown when either SouthEast or SouthWest is expanded and total is shown for the axis.

If you expand just SouthWest, you will see:

If subtotal and totals is applied at this point, subtotal is only shown for SouthWest and total is shown for the axis.

> Parent Filter Example 4:

Filter Selected

> > SOUTHEAST

> > SOUTHWEST.AZ

> > SOUTHWEST.CA

This is considered an invalid operation. IQ will correct the selection by inserting SOUTHWEST into the member list of this expression.

MemberFilterExpression

> Member Filter Expression filters a dataItem based on member such as [GEOGRAPHIC].[REGION].[SOUTH].

> For a definition of filtering can be applied and how it will appear, see Use Cases.

TimeFilterExpression, TimeFilterFirstLastPeriodExpression, TimeFilterNParallelPeriodsExpression, TimeFilterNPeriodsExpression, and TimeFilterRangeExpression

> Time Filter Expressions filters a data item based on Time members and Time function arguments submitted. It is the super class for all Time-based filtering operations. The following types of Time Filter Expression are:

> > TimeFilterFirstLastPeriodExpression filters a data item to reflect requests for first or last N members at a level. For example, by applying last period and the value 3 to the variable of N to [TIME].[1987].[Quarter 2] would return the three periods starting with Quarter 4 of 21986 through Quarter 2of 1987. By applying first period to [TIME].[QUARTER].[1986] would return the preceding expression because it is the first period at the Quarter level below 1986.

> > TimeFilterNParallelPeriodsExpression filters a data item to reflect N periods parallel to a given date member. For example, by applying 3 to parallel periods of [QUARTER] starting at [TIME].[1987].[QUARTER 4].[OCTOBER] would locate the sibling of the quarter-level ancestor of October in Quarter 4 of 1987, move three quarters back, and return the cousin of October 1987 in that quarter. The quarter three quarters back is Quarter 1, 1987 and the month returned is January.

> > TimeFilterNPeriodsExpression filters a data item to reflect requests for N members at a level. For example, by applying 1 to the [TIME].[YEAR] level, will result in a time dimension filter where the year level is the first one down from the root level.

> > TimeFilterRangeExpression filters a DataItem to model a set containing a defined range of members, including periods to date. This filter will return the number of periods with <level> up to and including <member>. For example, by applying [TIME].[1987].[QUARTER 1]:[TIME].[1987].[QUARTER 4], your set will contain member from the Time dimension beginning with Quarter 1 in 1987 and ending with Quarter 4 inclusive.

> > For a definition of date filtering for a data item can be applied and how it will appear, see Use Cases.

TimeExpressionMeasure

Models an expression to create a relative time-based calculated measure representing one of the following:

1. Difference between a selected measure from a previous period to the current period -

> Example:
> COST_N (current period) - COST_N (prev period)

2. Percentage of change in the difference between a selected measure from a previous period to the current period

> Example:
> (COST_N (current period)- COST_N (prev period) ) / COST_N (prev period)

3. Difference between a selected measure from a previous year to the current year -

> Example:
> COST_N (current year)- COST_N (prev year)

4. Percentage of change in the difference between a selected measure from a previous year to the current year -

> Example:
> ( COST_N (current year) - COST_N (prev year) ) / COST_N (prev year)

5. Cumulative values at each level for a selected measure starting at any Level in a Time Hierarchy
6. Cumulative values at each level for a selected measure starting at an associated starting period

> Example:

> [2001].[2001Q3].[Aug 2001]

> For a definition of time measure expression can be applied and how it will appear, see Use Cases.