Ancestor (MDX)
Eine Funktion, die den Vorgänger eines angegebenen Elements auf einer angegebenen Ebene oder in einem angegebenen Abstand vom Element zurückgibt.
Syntax
Level syntax
Ancestor(Member_Expression, Level_Expression)
Numeric syntax
Ancestor(Member_Expression, Distance)
Argumente
Member_Expression
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der ein Element zurückgibt.Level_Expression
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Ebene zurückgibt.Distance
Ein gültiger numerischer Ausdruck, der den Abstand vom angegebenen Element angibt.
Hinweise
Zur Verwendung der Ancestor-Funktion stellen Sie der Funktion einen MDX-Elementausdruck bereit und anschließend entweder einen MDX-Ausdruck einer Ebene, bei der es sich um einen Vorgänger des Elements handelt, oder einen numerischen Ausdruck, der die Anzahl der Ebenen oberhalb dieses Elements darstellt. Anhand dieser Informationen gibt die Ancestors-Funktion das Vorgängerelement auf dieser Ebene zurück.
Hinweis |
---|
Verwenden Sie die Ancestors (MDX)-Funktion, um eine Menge zurückzugeben, die das Vorgängerelement enthält, und nicht nur das Vorgängerelement selbst, |
Wenn ein Ebenenausdruck angegeben wird, gibt die Ancestor-Funktion den Vorgänger des angegebenen Elements auf der angegebenen Ebene zurück. Wenn sich das angegebene Element nicht innerhalb der gleichen Hierarchie wie die angegebene Ebene befindet, gibt die Funktion einen Fehler zurück.
Wenn ein Abstand angegeben wird, gibt die Ancestor-Funktion den Vorgänger des angegebenen Elements zurück, der sich die angegebene Anzahl von Stufen über dem Element in der im Elementausdruck angegebenen Hierarchie befindet. Ein Element kann als Element einer Attributhierarchie, einer benutzerdefinierten Hierarchie oder, in einigen Fällen, als Element einer Parent-Child-Hierarchie angegeben werden. 1 gibt das übergeordnete Element eines Elements und 2 das diesem übergeordnete Element (sofern vorhanden) zurück. 0 gibt das Element selbst zurück.
Hinweis |
---|
Verwenden Sie diese Form der Ancestor-Funktion in Fällen, in denen die Ebene des übergeordneten Elements unbekannt ist oder nicht benannt werden kann. |
Beispiele
Im folgenden Beispiel wird ein Ebenenausdruck verwendet und Internet Sales Amount für alle Bundesstaaten in Australien sowie deren prozentualer Anteil an der Summe von Internet Sales Amount für Australien zurückgegeben.
WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /
(
[Measures].[Internet Sales Amount],
Ancestor
(
[Customer].[Customer Geography].CurrentMember,
[Customer].[Customer Geography].[Country]
)
), FORMAT_STRING = '0%'
SELECT {[Measures].[Internet Sales Amount], Measures.x} ON 0,
{
Descendants
(
[Customer].[Customer Geography].[Country].&[Australia],
[Customer].[Customer Geography].[State-Province], SELF
)
} ON 1
FROM [Adventure Works]
Im folgenden Beispiel wird ein numerischer Ausdruck verwendet und Internet Sales Amount für alle Bundesstaaten in Australien sowie dessen prozentualer Anteil an der Summe von Internet Sales Amount für alle Länder zurückgegeben.
WITH MEMBER Measures.x AS [Measures].[Internet Sales Amount] /
(
[Measures].[Internet Sales Amount],
Ancestor
([Customer].[Customer Geography].CurrentMember, 2)
), FORMAT_STRING = '0%'
SELECT {[Measures].[Internet Sales Amount], Measures.x} ON 0,
{
Descendants
(
[Customer].[Customer Geography].[Country].&[Australia],
[Customer].[Customer Geography].[State-Province], SELF
)
} ON 1
FROM [Adventure Works]