Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma função que retorna o ancestral de um membro especificado em um nível especificado ou a uma distância determinada do membro.
Sintaxe
Level syntax
Ancestor(Member_Expression, Level_Expression)
Numeric syntax
Ancestor(Member_Expression, Distance)
Argumentos
Member_Expression
Uma expressão MDX (Expressões Multidimensionais) válida que retorna um membro.
Level_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna um nível.
Distância
Uma expressão numérica válida que especifica a distância do membro especificado.
Remarks
Com a função Ancestral , você fornece à função uma expressão de membro MDX e então fornece uma expressão MDX de um nível que é ancestral do membro ou uma expressão numérica que representa o número de níveis acima desse membro. Com essa informação, a função Ancestral retorna o membro ancestral naquele nível.
Note
Para retornar um conjunto contendo o membro ancestral, em vez de apenas o membro ancestral, use a função Ancestrais (MDX ).
Se uma expressão de nível for especificada, a função Ancestral retorna o ancestral do membro especificado no nível especificado. Se o membro especificado não estiver dentro da mesma hierarquia do nível especificado, a função retorna um erro.
Se uma distância for especificada, a função Ancestral retorna o ancestral do membro especificado, que é o número de passos especificados na hierarquia especificada pela expressão do membro. Um membro pode ser especificado como membro de uma hierarquia de atributos, uma hierarquia definida pelo usuário ou, em alguns casos, uma hierarquia pai-filho. Um número 1 retorna o pai ou mãe do membro e um número 2 retorna o avô do membro (se existir). Um número 0 retorna o próprio membro.
Note
Use esta forma da função Ancestral para casos em que o nível do pai é desconhecido ou não pode ser nomeado.
Exemplos
O exemplo a seguir utiliza uma expressão de nível e retorna o Valor das Vendas pela Internet para cada State-Province na Austrália e sua porcentagem do Total das Vendas pela Internet para a Austrália.
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]
O exemplo a seguir utiliza uma expressão numérica e retorna o Valor das Vendas pela Internet para cada State-Province na Austrália e sua porcentagem do Valor Total das Vendas pela Internet para todos os países/regiões.
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]