Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Devolve o conjunto de descendentes de um membro num nível ou distância especificado, incluindo ou excluindo opcionalmente descendentes noutros níveis.
Syntax
Member expression syntax using a level expression
Descendants(Member_Expression [ , Level_Expression [ ,Desc_Flag ] ] )
Member expression syntax using a numeric expression
Descendants(Member_Expression [ , Distance [ ,Desc_Flag ] ] )
Set expression syntax using a level expression
Descendants(Set_Expression [ , Level_Expression [ ,Desc_Flag ] ] )
Member expression syntax using a numeric expression
Descendants(Set_Expression [ , Distance [ ,Desc_Flag ] ] )
Arguments
Member_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um membro.
Set_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um conjunto.
Level_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um nível.
Distância
Uma expressão numérica válida que especifica a distância ao membro especificado.
Desc_Flag
Uma expressão de string válida que especifica um flag de descrição que distingue entre possíveis conjuntos de descendentes.
Observações
Se um nível for especificado, a função Descendentes devolve um conjunto que contém os descendentes do membro especificado ou os membros do conjunto especificado, a um nível especificado, opcionalmente modificado por uma bandeira especificada em Desc_Flag.
Se a Distância for especificada, a função Descendentes devolve um conjunto que contém os descendentes do membro especificado ou os membros do conjunto especificado que estão ao número especificado de níveis de distância na hierarquia do membro especificado, opcionalmente modificado por uma bandeira especificada em Desc_Flag. Normalmente, usas esta função com o argumento da Distância para lidar com hierarquias desordenadas. Se a distância especificada for zero (0), a função devolve um conjunto que consiste apenas no membro especificado ou no conjunto especificado.
Se uma expressão de conjunto for especificada, a função Descendentes é resolvida individualmente para cada membro do conjunto, e o conjunto é criado novamente. Por outras palavras, a sintaxe usada para a função Descendentes é funcionalmente equivalente à função MDX Gerar .
Se não for especificado nível ou distância, o valor padrão para o nível usado pela função é determinado chamando a função Nível (<<Member>>. Level) para o elemento especificado (se um membro for especificado) ou chamando a função Level para cada membro do conjunto especificado (se um conjunto for especificado). Se não forem especificadas expressões de nível, distância ou flags, a função funciona como se a seguinte sintaxe fosse utilizada:
Descendants
(
Member_Expression ,
Member_Expression.Level ,
SELF_BEFORE_AFTER
)
Se um nível for especificado e uma flag de descrição não for especificada, a função executa como se a seguinte sintaxe fosse usada.
Descendants
(
Member_Expression ,
Level_Expression,
SELF
)
Ao alterar o valor do flag de descrição, pode incluir ou excluir descendentes no nível ou distância especificados, os filhos antes ou depois do nível ou distância especificados (até ao nó folha), e os filhos folha independentemente do nível ou distância especificados. A tabela seguinte descreve as bandeiras permitidas no argumento Desc_Flag .
| Flag | Description |
|---|---|
| SELF | Retorna apenas membros descendentes do nível especificado ou da distância especificada. A função inclui o membro especificado, se o nível especificado for o nível do membro especificado. |
| AFTER | Devolve membros descendentes de todos os níveis subordinados ao nível ou distância especificados. |
| ANTES | Devolve membros descendentes de todos os níveis entre o membro especificado e o nível especificado, ou à distância especificada. Inclui o membro especificado, mas não inclui membros do nível ou distância especificados. |
| BEFORE_AND_AFTER | Devolve membros descendentes de todos os níveis subordinados ao nível do membro especificado. Inclui o membro especificado, mas não inclui membros do nível especificado ou da distância especificada. |
| SELF_AND_AFTER | Devolve membros descendentes do nível especificado ou à distância especificada e todos os níveis subordinados ao nível especificado, ou à distância especificada. |
| SELF_AND_BEFORE | Devolve membros descendentes do nível especificado ou à distância especificada, e de todos os níveis entre o membro especificado e o nível especificado, ou à distância especificada, incluindo o membro especificado. |
| SELF_BEFORE_AFTER | Retorna membros descendentes de todos os níveis subordinados ao nível do membro especificado, e inclui o membro especificado. |
| FOLHAS | Devolve membros descendentes da folha entre o membro especificado e o nível especificado, ou à distância especificada. |
Examples
O exemplo seguinte devolve o membro especificado (Estados Unidos), e os membros entre o membro especificado (Estados Unidos) e os membros do nível antes do nível especificado (Cidade). O exemplo devolve o próprio membro especificado (Estados Unidos) e os membros do nível State-Province (o nível antes do nível da Cidade). Este exemplo inclui argumentos comentados para te permitir testar facilmente outros argumentos para esta função.
SELECT Descendants
([Geography].[Geography].[Country].&[United States]
//, [Geography].[Geography].[Country]
, [Geography].[Geography].[City]
//, [Geography].[Geography].Levels (3)
//, SELF
//, AFTER
, BEFORE
// BEFORE_AND_AFTER
//, SELF_AND_AFTER
//, SELF_AND_BEFORE
//,SELF_BEFORE_AFTER
//,LEAVES
) ON 0
FROM [Adventure Works]
O exemplo seguinte devolve a média diária da Measures.[Gross Profit Margin] medida, calculada ao longo dos dias de cada mês do ano fiscal de 2003, a partir do cubo Adventure Works . A função Descendentes devolve um conjunto de dias determinado pelo membro atual da [Date].[Fiscal] hierarquia.
WITH MEMBER Measures.[Avg Gross Profit Margin] AS Avg
(
Descendants( [Date].[Fiscal].CurrentMember,
[Date].[Fiscal].[Date]
),
Measures.[Gross Profit Margin]
)
SELECT
Measures.[Avg Gross Profit Margin] ON COLUMNS,
[Date].[Fiscal].[Month].Members ON ROWS
FROM [Adventure Works]
WHERE ([Date].[Fiscal Year].&[2003])
O exemplo seguinte utiliza uma expressão de nível e devolve o Montante das Vendas na Internet para cada State-Province na Austrália, devolvendo a percentagem do montante total das Vendas da Internet para a Austrália por cada Estado-Província. Este exemplo usa a função Item para extrair a primeira (e única) tupla do conjunto que é devolvida pela função Ancestors .
WITH MEMBER Measures.x AS
[Measures].[Internet Sales Amount] /
( [Measures].[Internet Sales Amount],
Ancestors
( [Customer].[Customer Geography].CurrentMember,
[Customer].[Customer Geography].[Country]
).Item (0)
), 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]