Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En funktion som returnerar förfadern till en specificerad medlem på en angiven nivå eller på ett angivet avstånd från medlemmen.
Syntax
Level syntax
Ancestor(Member_Expression, Level_Expression)
Numeric syntax
Ancestor(Member_Expression, Distance)
Arguments
Member_Expression
Ett giltigt Multidimensional Expressions (MDX)-uttryck som returnerar en medlem.
Level_Expression
Ett giltigt Multidimensional Expressions (MDX)-uttryck som returnerar en nivå.
Avstånd
Ett giltigt numeriskt uttryck som specificerar avståndet från den angivna medlemmen.
Remarks
Med Ancestor-funktionen ger du funktionen ett MDX-medlemsuttryck och sedan antingen ett MDX-uttryck på en nivå som är en förfader till medlemmen eller ett numeriskt uttryck som representerar antalet nivåer ovanför medlemmen. Med denna information returnerar förfädersfunktionen förfädersmedlemmen på den nivån.
Note
För att returnera en mängd som innehåller förfadermedlemmen, istället för bara förfadermedlemmen, använd funktionen Ancestors (MDX).
Om ett nivåuttryck specificeras, returnerar Ancestor-funktionen förfadern till den angivna medlemmen på den angivna nivån. Om den specificerade medlemmen inte befinner sig inom samma hierarki som den angivna nivån, returnerar funktionen ett fel.
Om ett avstånd anges returnerar Ancestor-funktionen förfadern för den angivna medlemmen som är antalet steg som anges uppåt i hierarkin som anges av medlemuttrycket. En medlem kan specificeras som medlem i en attributhierarki, en användardefinierad hierarki eller i vissa fall en förälder-barn-hierarki. Ett nummer 1 returnerar en medlems förälder och ett nummer 2 returnerar en medlems mor- eller farförälder (om en sådan finns). Ett tal 0 returnerar själva medlemmen.
Note
Använd denna form av Ancestor-funktionen för fall där förälderns nivå är okänd eller inte kan namnges.
Examples
Följande exempel använder ett nivåuttryck och returnerar internetförsäljningsbeloppet för varje State-Province i Australien och dess procentandel av det totala internetförsäljningsbeloppet för Australien.
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]
Följande exempel använder ett numeriskt uttryck och returnerar Internetförsäljningsbeloppet för varje State-Province i Australien och dess procentandel av det totala Internetförsäljningsbeloppet för alla länder/regioner.
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]