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 os membros de um conjunto especificado que não são descendentes de membros de um segundo conjunto especificado.
Syntax
DrillupMember(Set_Expression1, Set_Expression2)
Arguments
Set_Expression1
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um conjunto.
Set_Expression2
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um conjunto.
Observações
A função DrillupMember devolve um conjunto de membros com base nos elementos especificados no primeiro conjunto que são descendentes de membros do segundo conjunto. O primeiro conjunto pode ter qualquer dimensionalidade, mas o segundo conjunto deve conter um conjunto unidimensional. A ordem é preservada entre os membros originais no primeiro conjunto. A função constrói o conjunto incluindo apenas os membros do primeiro conjunto que são descendentes imediatos dos membros do segundo conjunto. Se o antepassado imediato de um membro no primeiro conjunto não estiver presente no segundo conjunto, o elemento do primeiro conjunto é incluído no conjunto devolvido por esta função. Os descendentes do primeiro conjunto que precedem um membro ancestral do segundo conjunto também são incluídos.
O primeiro conjunto pode conter tuplas em vez de membros. O drilldown das tuplas é uma extensão do OLE DB e devolve um conjunto de tuplas em vez de membros.
Importante
Um membro só será perfurado se for imediatamente seguido por uma criança ou um descendente. A ordem dos membros no conjunto é importante tanto para as famílias de funções Drilldown* como Drillup*. Considere usar a função Hierarquizar para ordenar adequadamente os membros do primeiro conjunto.
Example
Os três exemplos seguintes são idênticos, exceto pelo segundo conjunto. No primeiro exemplo, o segundo conjunto é os Estados Unidos. Como resultado, o Colorado é excluído do conjunto de resultados. É um descendente dos Estados Unidos.
SELECT DrillUpMember (
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
, {[Geography].[Geography].[Country].[United States]}
) ON 0
FROM [Adventure Works]
O segundo exemplo mostra-nos a importância da ordem dos membros. Como o DrillupMember apenas aprofunda os membros que são imediatamente seguidos por descendentes no primeiro conjunto, não aprofunda o membro Canadá. O Canadá está separado dos seus descendentes pelos Estados Unidos e Colorado. Se reordenares os membros para que o Canadá fique diretamente acima de Alberta, então tanto Alberta como Brunswick ficam excluídos do conjunto de linhas.
SELECT DrillUpMember (
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
, {[Geography].[Geography].[Country].[Canada]}
)
ON 0
FROM [Adventure Works]
O terceiro exemplo mostra como o uso da hierarquia pode mitigar os efeitos da ordem de membros e aprofunda o membro do Canadá.
SELECT DrillUpMember (
Hierarchize
(
{ [Geography].[Geography].[Country].[Canada]
,[Geography].[Geography].[Country].[United States]
,[Geography].[Geography].[State-Province].[Colorado]
,[Geography].[Geography].[State-Province].[Alberta]
,[Geography].[Geography].[State-Province].[Brunswick]
}
), {[Geography].[Geography].[Country].[Canada]}
)
ON 0
FROM [Adventure Works]