Compartilhar via


Propriedades intrínsecas do membro (MDX)

O Analysis Services expõe propriedades intrínsecas sobre os membros de dimensão que você pode incluir em uma consulta para retornar dados ou metadados adicionais para uso em um aplicativo personalizado, ou para ajudar na investigação ou na construção de modelos. Se você estiver usando as ferramentas cliente do SQL Server, poderá exibir propriedades intrínsecas no SQL Server Management Studio (SSMS).

As propriedades intrínsecas incluem ID, KEY, KEYx e NAME, que são propriedades expostas por cada membro, em qualquer nível. Você também pode retornar informações posicionais, como LEVEL_NUMBER ou PARENT_UNIQUE_NAME, entre outros.

Dependendo de como você cria a consulta, e do aplicativo cliente que está usando para executar consultas, as propriedades do membro podem ou não ser visíveis no conjunto de resultados. Se você estiver usando o SQL Server Management Studio para testar ou executar consultas, poderá clicar duas vezes em um membro no conjunto de resultados para abrir a caixa de diálogo Propriedades do Membro, mostrando os valores para cada propriedade intrínseca do membro.

Para obter uma introdução ao uso e exibição de propriedades do membro de dimensão, consulte Exibindo propriedades do membro SSAS em uma janela de consulta MDX no SSMS.

ObservaçãoObservação

Como um provedor que é compatível com a seção OLAP da especificação OLE DB datada de março de 1999 (2.6), o Microsoft SQL Server Analysis Services dá suporte a propriedades intrínsecas do membro listadas neste tópico.

Provedores diferentes do SQL ServerAnalysis Services podem dar suporte a outras propriedades intrínsecas do membro. Para obter mais informações sobre as propriedades intrínsecas do membro que têm suporte por outros provedores, consulte a documentação fornecida com esses provedores.

Tipos de propriedades do membro

As propriedades intrínsecas do membro suportadas pelo SQL ServerAnalysis Services são de dois tipos:

  • Propriedades do membro sensíveis ao contexto
    Essas propriedades do membro devem ser usadas no contexto de uma hierarquia ou nível específico, e fornecem valores para cada membro de dimensão ou nível especificado.

    Observe como o exemplo a seguir inclui o caminho da propriedade KEY: MEMBER [Measures].[Parent Member Key] AS [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY").

  • Propriedades do membro não sensíveis ao contexto
    Essas propriedades do membro não podem ser usadas no contexto de uma dimensão ou nível específico, e retornam valores para todos os membros em um eixo.

    As propriedades não sensíveis ao contexto são autônomas e não incluem informações do caminho. Observe como não há dimensão ou nível especificado para PARENT_UNIQUE_NAME no seguinte exemplo: DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS

Independentemente da propriedade intrínseca do membro ser sensível ou não ao contexto, as regras de uso a seguir são aplicáveis:

  • Você pode especificar somente as propriedades intrínsecas do membro relacionadas a membros de dimensão projetados no eixo.

  • Você pode combinar solicitações de propriedades do membro sensíveis ao contexto na mesma consulta com propriedades intrínsecas do membro não sensíveis ao contexto.

  • Você usa a palavra-chave PROPERTIES para consultar as propriedades.

As seções a seguir descrevem as duas propriedades intrínsecas do membro sensíveis e não sensíveis ao contexto disponíveis no SQL ServerAnalysis Services, e como usar a palavra-chave PROPERTIES com cada tipo de propriedade.

Propriedades do membro sensíveis ao contexto

Todos os membros de dimensão e membros de nível têm suporte a uma lista de propriedades intrínsecas do membro são sensíveis ao contexto. A tabela a seguir lista essas propriedades sensíveis ao contexto.

Propriedade

Descrição

ID

A ID mantida internamente para o membro.

Key

O valor da chave de membro no tipo de dados original. MEMBER_KEY é para compatibilidade com versões anteriores. MEMBER_KEY tem o mesmo valor que KEY0 para chaves não compostas e a propriedade MEMBER_KEY é nula para chaves compostas.

KEYx

A chave para o membro, onde x é o valor ordinal com base em zero da chave. KEY0 está disponível para chaves compostas e não compostas, mas é usado principalmente em chaves compostas.

Para chaves compostas, KEY0, KEY1, KEY2 e assim por diante formam coletivamente a chave composta. Você pode usar cada uma de forma independente em uma consulta para retornar essa parte da chave composta. Por exemplo, a especificação de KEY0 retorna a primeira parte da chave composta, a especificação de KEY1 retorna a parte seguinte da chave composta e assim por diante.

Se a chave não for composta, KEY0 equivalerá a Key.

Observe que KEYx pode ser usado com ou sem contexto. Por esse motivo, ele aparece em ambas as listas.

Para obter um exemplo de como usar essa propriedade de membro, consulte Notícias de um MDX simples: Key0, Key1, Key2.

Name

O nome do membro.

Sintaxe PROPERTIES para propriedades sensíveis ao contexto

Você usa essas propriedades do membro no contexto de uma dimensão ou nível específico, e fornece valores para cada membro da dimensão ou nível especificado.

Para propriedades de dimensão do membro, você precede o nome da propriedade com o nome da dimensão à qual a propriedade se aplica. O exemplo a seguir mostra a sintaxe apropriada:

DIMENSION PROPERTIES Dimension.Property_name

Para uma propriedade de membro de nível, você pode preceder o nome da propriedade somente com o nome do nível ou, para especificação adicional, o nome da dimensão e do nível. O exemplo a seguir mostra a sintaxe apropriada:

DIMENSION PROPERTIES [Dimension.]Level.Property_name

Para ilustrar, você gostaria de retornar todos os nomes de cada membro referenciado na dimensão [Sales]. Para retornar esses nomes, você usaria a seguinte instrução em uma consulta MDX (Multidimensional Expressions):

DIMENSION PROPERTIES [Sales].Name

Propriedades do membro não sensíveis ao contexto

Todos os membros dão suporte a uma lista de propriedades intrínsecas do membro que são as mesmas, independentemente do contexto. Essas propriedades fornecem informações adicionais que podem ser usadas por aplicativos para aprimorar a experiência do usuário.

A tabela a seguir lista as propriedades intrínsecas não sensíveis ao contexto suportadas pelo SQL ServerAnalysis Services.

ObservaçãoObservação

Colunas no conjunto de linhas de esquema MEMBERS suportam as propriedades intrínsecas do membro listadas na seguinte tabela. Para obter mais informações sobre o conjunto de linhas de esquema MEMBERS, consulte Conjunto de linhas MDSCHEMA_MEMBERS.

Propriedade

Descrição

CATALOG_NAME

O nome do cubo ao qual este membro pertence.

CHILDREN_CARDINALITY

O número de filhos de um membro. Isso pode ser uma estimativa, portanto, você não deve confiar nisso como sendo a contagem exata. Os provedores devem retornar a melhor estimativa possível.

CUSTOM_ROLLUP

A expressão de membro personalizado.

CUSTOM_ROLLUP_PROPERTIES

As propriedades de membro personalizado.

DESCRIPTION

Uma descrição legível do membro.

DIMENSION_UNIQUE_NAME

O nome exclusivo da dimensão à qual este membro pertence. Para provedores que geram nomes exclusivos por qualificação, cada componente desse nome é delimitado.

HIERARCHY_UNIQUE_NAME

O nome exclusivo da hierarquia. Se o membro pertencer a mais de uma hierarquia, haverá uma fila para cada hierarquia à qual o membro pertence. Para provedores que geram nomes exclusivos por qualificação, cada componente desse nome é delimitado.

IS_DATAMEMBER

Um booliano que indica se o membro é ou não um membro de dados.

IS_PLACEHOLDERMEMBER

Um booliano que indica se o membro é ou não um espaço reservado.

KEYx

A chave para o membro, onde x é o valor ordinal com base em zero da chave. KEY0 está disponível para chaves compostas e não compostas.

Se a chave não for composta, KEY0 equivalerá a Key.

Para chaves compostas, KEY0, KEY1, KEY2 e assim por diante formam coletivamente a chave composta. Você pode referenciar cada uma de forma independente em uma consulta para retornar essa parte da chave composta. Por exemplo, a especificação de KEY0 retorna a primeira parte da chave composta, a especificação de KEY1 retorna a parte seguinte da chave composta e assim por diante.

Observe que KEYx pode ser usado com ou sem contexto. Por esse motivo, ele aparece em ambas as listas.

Para obter um exemplo de como usar essa propriedade de membro, consulte Notícias de um MDX simples: Key0, Key1, Key2.

LCIDx

A conversão da legenda do membro no valor hexadecimal da identificação de localidade, onde x é o valor decimal da identificação de localidade (por exemplo, LCID1009 como Inglês - Canadá). Isso somente estará disponível se a conversão tiver a coluna da legenda associada à fonte de dados.

LEVEL_NUMBER

A distância do membro para a raiz da hierarquia. O nível raiz é zero.

LEVEL_UNIQUE_NAME

O nome exclusivo do nível ao qual o membro pertence. Para provedores que geram nomes exclusivos por qualificação, cada componente desse nome é delimitado.

MEMBER_CAPTION

Um rótulo ou legenda associado ao membro. A legenda serve basicamente para fins de exibição. Se uma legenda não existir, a consulta retorna MEMBER_NAME.

MEMBER_KEY

O valor da chave de membro no tipo de dados original. MEMBER_KEY é para compatibilidade com versões anteriores. MEMBER_KEY tem o mesmo valor que KEY0 para chaves não compostas e a propriedade MEMBER_KEY é nula para chaves compostas.

MEMBER_NAME

O nome do membro.

MEMBER_TYPE

O tipo do membro. Essa propriedade pode ter um dos seguintes valores:

  • MDMEMBER_TYPE_REGULAR

  • MDMEMBER_TYPE_ALL

  • MDMEMBER_TYPE_FORMULA

  • MDMEMBER_TYPE_MEASURE

  • MDMEMBER_TYPE_UNKNOWN

MDMEMBER_TYPE_FORMULA tem prioridade sobre MDMEMBER_TYPE_MEASURE. Portanto, se houver um membro de fórmula (calculado) na dimensão Medidas, a propriedade MEMBER_TYPE para o membro calculado será MDMEMBER_TYPE_FORMULA.

MEMBER_UNIQUE_NAME

O nome exclusivo do membro. Para provedores que geram nomes exclusivos por qualificação, cada componente desse nome é delimitado.

MEMBER_VALUE

O valor do membro no tipo original.

PARENT_COUNT

O número de pais deste membro.

PARENT_LEVEL

A distância do pai do membro para o nível raiz da hierarquia. O nível raiz é zero.

PARENT_UNIQUE_NAME

O nome exclusivo do pai do membro. NULL é retornado para qualquer membro no nível raiz. Para provedores que geram nomes exclusivos por qualificação, cada componente desse nome é delimitado.

SKIPPED_LEVELS

O número de níveis ignorados do membro.

UNARY_OPERATOR

O operador unário do membro.

UNIQUE_NAME

O nome totalmente qualificado do membro, neste formato: [dimensão].[nível].[key6].

Sintaxe PROPERTIES para propriedades não sensíveis ao contexto

Use a seguinte sintaxe para especificar uma propriedade do membro intrínseca, não sensível ao contexto, usando a palavra-chave PROPERTIES:

DIMENSION PROPERTIES Property

Note que esta sintaxe não permite qualificar a propriedade por uma dimensão ou nível. A propriedade não pode ser qualificada porque uma propriedade intrínseca do membro não sensível ao contexto se aplica a todos os membros de um eixo.

Por exemplo, uma instrução MDX que especifica a propriedade intrínseca do membro DESCRIPTION teria a seguinte sintaxe:

DIMENSION PROPERTIES DESCRIPTION

Esta instrução retorna a descrição de cada membro na dimensão do eixo. Se você tentar qualificar a propriedade com uma dimensão ou um nível, como em Dimension.DESCRIPTION ou Level.DESCRIPTION, a instrução não será validada.

Exemplo

Os exemplos a seguir mostram consultas MDX que retornam propriedades intrínsecas.

Exemplo 1: Usar propriedades intrínsecas sensíveis ao contexto na consulta

O exemplo a seguir retorna a ID pai, a chave e o nome de cada categoria do produto. Observe como as propriedades são expostas como medidas. Isso permite que você exiba as propriedades em um conjunto de células ao executar a consulta, e não na caixa de diálogo Propriedades do Membro no SSMS. Você pode executar uma consulta como essa para recuperar metadados de membro de um cubo que já foi implantado.

WITH
MEMBER [Measures].[Parent Member ID] AS
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("ID")
MEMBER [Measures].[Parent Member Key] AS
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("KEY")
MEMBER [Measures].[Parent Member Name] AS
 [Product].[Product Categories].CurrentMember.Parent.PROPERTIES("Name")
SELECT
 {[Measures].[Parent Member ID], [Measures].[Parent Member Key], [Measures].[Parent Member Name] } on COLUMNS, 
 [Product].[Product Categories].AllMembers on ROWS
FROM [Adventure Works]

Exemplo 2: Propriedades intrínsecas não sensíveis ao contexto

O exemplo a seguir é a lista completa das propriedades intrínsecas não sensíveis ao contexto. Depois de executar a consulta no SSMS, clique em membros individuais para exibir propriedades na caixa de diálogo Propriedades do Membro.

SELECT [Measures].[Sales Amount Quota] on COLUMNS,
[Employee].[Employees].members
DIMENSION PROPERTIES
 CATALOG_NAME , 
 CHILDREN_CARDINALITY ,
 CUSTOM_ROLLUP , 
 CUSTOM_ROLLUP_PROPERTIES , 
 DESCRIPTION , 
 DIMENSION_UNIQUE_NAME , 
 HIERARCHY_UNIQUE_NAME ,
 IS_DATAMEMBER , 
 IS_PLACEHOLDERMEMBER , 
 KEY0 ,
 LCID ,
 LEVEL_NUMBER ,
 LEVEL_UNIQUE_NAME ,
 MEMBER_CAPTION , 
 MEMBER_KEY , 
 MEMBER_NAME , 
 MEMBER_TYPE ,
 MEMBER_UNIQUE_NAME , 
 MEMBER_VALUE , 
 PARENT_COUNT , 
 PARENT_LEVEL , 
 PARENT_UNIQUE_NAME ,
 SKIPPED_LEVELS , 
 UNARY_OPERATOR , 
 UNIQUE_NAME  
 ON ROWS
FROM [Adventure Works]
WHERE [Employee].[Employee Department].[Department].&[Sales]

Exemplo 3: Retornar propriedades do membro como dados em um conjunto de resultados

O exemplo a seguir retorna a legenda convertida para o membro de categoria de produto na dimensão Produto no cubo Adventure Works para localidades especificadas.

WITH 
MEMBER Measures.CategoryCaption AS Product.Category.CurrentMember.MEMBER_CAPTION
MEMBER Measures.SpanishCategoryCaption AS Product.Category.CurrentMember.Properties("LCID3082")
MEMBER Measures.FrenchCategoryCaption AS Product.Category.CurrentMember.Properties("LCID1036")
SELECT 
{ Measures.CategoryCaption, Measures.SpanishCategoryCaption, Measures.FrenchCategoryCaption } ON 0
,[Product].[Category].MEMBERS ON 1
FROM [Adventure Works]

Consulte também

Referência

PeriodsToDate (MDX)

Children (MDX)

Hierarquize (MDX)

Count (Conjunto) (MDX)

Filter (MDX)

AddCalculatedMembers (MDX)

DrilldownLevel (MDX)

Properties (MDX)

PrevMember (MDX)

Referência de função MDX (MDX)

Conceitos

Usando propriedades do membro (MDX)