We're drilling down the first child of Europe children; i.e., the children of that first child are inserted within the Europe children set whose hierarchical order is preserved.
Query
DrilldownMember(
[Geography].[Geo].[Europe].Children,
{ [Geography].[Geo].[Europe].FirstChild }
)
Result
{
[Geography].[Geo].[Country].[France],
[Geography].[Geo].[City].[Paris],
[Geography].[Geo].[Country].[Spain],
[Geography].[Geo].[Country].[Switzerland]
}
Assertion : MDX Equals
Union(
[Geography].[Geo].[Europe].FirstChild,
[Geography].[Geo].[Europe].FirstChild.Children,
SubSet( [Geography].[Geo].[Europe].Children, 1 )
)
We are expanding the whole Geo hierarchy.
Query
DrilldownMember (
[Geography].[Geo].[All Regions],
[Geography].[Geo].Members,
RECURSIVE
)
Result
{
[Geography].[Geo].[All Regions],
[Geography].[Geo].[Continent].[America],
[Geography].[Geo].[Country].[Canada],
[Geography].[Geo].[City].[Quebec],
[Geography].[Geo].[City].[Toronto],
[Geography].[Geo].[Country].[Mexico],
[Geography].[Geo].[City].[Mexico],
[Geography].[Geo].[Country].[United States],
[Geography].[Geo].[City].[Los Angeles],
[Geography].[Geo].[City].[New York],
[Geography].[Geo].[City].[San Francisco],
[Geography].[Geo].[Country].[Venezuela],
[Geography].[Geo].[City].[Caracas],
[Geography].[Geo].[Continent].[Europe],
[Geography].[Geo].[Country].[France],
[Geography].[Geo].[City].[Paris],
[Geography].[Geo].[Country].[Spain],
[Geography].[Geo].[City].[Barcelona],
[Geography].[Geo].[City].[Madrid],
[Geography].[Geo].[City].[Valencia],
[Geography].[Geo].[Country].[Switzerland],
[Geography].[Geo].[City].[Geneva],
[Geography].[Geo].[City].[Lausanne],
[Geography].[Geo].[City].[Zurich]
}
Assertion : Cell Equals
[Geography].[Geo].Members
DrilldownMember is not limited to member sets.
We're drilling down the first child of Europe (i.e., the children of that first child are inserted within the Europe children set whose hierarchical order is preserved). The [2010] member of the tuples remains unchanged.
Query
DrilldownMember(
Crossjoin( [Time].[Calendar].[2010], [Geography].[Geo].[Europe].Children ),
[Geography].[Geo].[Europe].FirstChild
)
Result
{
( [Time].[Calendar].[Year].[2010], [Geography].[Geo].[Country].[France] ),
( [Time].[Calendar].[Year].[2010], [Geography].[Geo].[City].[Paris] ),
( [Time].[Calendar].[Year].[2010], [Geography].[Geo].[Country].[Spain] ),
( [Time].[Calendar].[Year].[2010], [Geography].[Geo].[Country].[Switzerland] )
}
Assertion : MDX Equals
Crossjoin( [Time].[Calendar].[2010],
Union(
[Geography].[Geo].[Europe].FirstChild,
[Geography].[Geo].[Europe].FirstChild.Children,
SubSet( [Geography].[Geo].[Europe].Children, 1 )
)
)
A member will not get drilled down into if it is immediately followed by one of its children.
In this example, quarters of the year 2010 are not added because [Q2 2010] (as a child of 2010) is already present.
Query
DrilldownMember(
{ [Time].[2010], [Time].[Q2 2010] },
[Time].[2010]
)
Result
{
[Time].[Calendar].[Year].[2010],
[Time].[Calendar].[Quarter].[Q2 2010]
}
Assertion : MDX Equals
{ [Time].[2010], [Time].[Q2 2010] }