Databases Reference
In-Depth Information
Subcube 0:
D1.Members,
M1(M1*M2)
*
Subcube 1:
D1.Members,
M1
Subcube 2:
D1.Members,
M2
Member Logical Op
Member Logical Op
Subcube 1:
D1.Members,
M1
Subcube 2:
D1.Members,
M2
Storage Engine Op
Storage Engine Op
FIGURE 29.11
Logical plan for the multiplication operator.
and the system just cannot derive the DefaultValue ; in such cases, the default value will
be a N/A value.
An expression is static when it would yield the same value in any coordinate of the
subcube. For example, the expression [Time].[Time].[Month].Members.Count is static
because the number of months doesn't depend on any other dimension of the cube. On
the other hand, the M1.Value expression is dynamic because its value depends on the
coordinate of the cube in which it evaluated.
Even when an expression is dynamic it can be invariant (static) in the context of some
attributes, but variant for others. For example, the expression [Time].[Time].
PrevMember doesn't depend on either the Product or Store dimension, but it depends on
the Time dimension. Execution of the query in Listing 29.2 (with results shown in Figure
29.12) demonstrates that the results of the PrevMember function depend only on the
Time dimension.
LISTING 29.2
A Simple MDX Query
WITH
MEMBER measures.x AS
[Time].[Time].PrevMember.Name
SELECT
[Product].[Products].[Product Family].MEMBERS ON COLUMNS
,{
[Time].[Time].[Month].[June]
,[Time].[Time].[Month].[July]
,[Time].[Time].[Month].[August]
} ON ROWS
FROM [Warehouse and Sales]
WHERE
measures.x
 
Search WWH ::




Custom Search