Partilhar via


DrillupMember (MDX)

Retorna os membros em um conjunto especificado não descendentes de membros em um segundo conjunto especificado.

Sintaxe

DrillupMember(Set_Expression1, Set_Expression2) 

Argumentos

  • Set_Expression1
    Uma linguagem MDX válida que retorna um conjunto.

  • Set_Expression2
    Uma linguagem MDX válida que retorna um conjunto.

Comentários

A função DrillupMember retorna um conjunto de membros com base nos membros especificados no primeiro conjunto que são descendentes de membros no segundo conjunto. O primeiro conjunto pode ter qualquer dimensionalidade, mas o segundo deve conter um conjunto unidimensional. A ordem é preservada entre os membros originais no primeiro conjunto. A função constrói o conjunto incluindo apenas aqueles membros do primeiro conjunto que sejam descendentes imediatos de membros do segundo conjunto. Se o ancestral imediato de um membro no primeiro conjunto não estiver presente no segundo conjunto, o membro no primeiro conjunto será incluído no conjunto retornado por essa função. Descendentes no primeiro conjunto que precedem um membro ancestral no segundo conjunto também são incluídos.

O primeiro conjunto pode conter tuplas em vez de membros. A busca detalhada de tupla é uma extensão de OLE DB e retorna um conjunto de tuplas em vez de membros.

Observação importanteImportante

Um membro será buscado somente se for seguido imediatamente por um filho ou um descendente. A ordem de membros no conjunto é importante tanto para as famílias de funções Drilldown * quanto Drillup *. Considere o uso da função Hierarchize para ordenar adequadamente os membros do primeiro conjunto.

Exemplo

O exemplo a seguir faz uma busca detalhada no membro Estados Unidos, o que significa que o membro Colorado não é exibido nas 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].[United States]}

)

ON 0

FROM [Adventure Works]

Entretanto, como DrillupMember faz drill up somente dos membros seguidos imediatamente por descendentes do primeiro conjunto, ele não fará drill up do membro Canadá no exemplo a seguir:

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 exemplo a seguir mostra como o uso de Hierarchize pode evitar esse problema e fazer o drill up do membro 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]

Consulte também

Referência