Definição de dados MDX – CREATE MEMBER
Cria um membro calculado.
Sintaxe
CREATE [ SESSION ] [HIDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name
AS MDX_Expression
[,Property_Name = Property_Value, ...n]
......[,SCOPE_ISOLATION = CUBE]
Argumentos
Cube_name
Uma expressão de cadeia de caracteres válida que fornece o nome do cubo onde o membro será criado.
Member_name
Uma expressão de cadeia de caracteres válida que fornece um nome de membro. Especifica um nome completamente qualificado para criar um membro dentro de uma dimensão diferente da dimensão de Medidas. Se um nome de membro completamente qualificado não for fornecido, o membro será criado na dimensão de Medidas.
MDX_Expression
Uma expressão MDX (Multidimensional Expressions) válida.
Property_name
Uma cadeia de caracteres válida que fornece o nome de uma propriedade de membro calculado.
Property_Value
Uma expressão escalar válida que define o valor de propriedade do membro calculado.
Comentários
A instrução CREATE MEMBRO define membros calculados disponíveis ao longo da sessão e que, então, podem ser usados em várias consultas durante a sessão. Para obter mais informações, consulte Criando membros calculados Session-Scoped (MDX).
Também é possível definir um membro calculado para ser usado por uma consulta única. Para definir um membro calculado limitado a uma consulta única, use a cláusula WITH na instrução SELECT. Para obter mais informações, consulte Criando membros calculados Query-Scoped (MDX).
Property_Name pode se referir a propriedades de membro calculadas padrão ou opcional. Propriedades do membro padrão são listadas neste tópico. Os membros calculados criados com CREATE MEMBER sem um valor SESSION têm escopo de sessão. Além disso, cadeias de caracteres dentro de definições de membros calculados são delimitadas entre aspas duplas. Isso é diferente do método definido por OLE DB que especifica quais cadeias de caracteres devem ser delimitadas por aspas simples.
A especificação de um cubo diferente daquele conectado no momento causa um erro. Portanto, deve-se usar CURRENTCUBE no lugar de um nome de cubo para indicar o cubo atual.
Para obter mais informações sobre propriedades do membro definidas por OLE DB, consulte a documentação OLE DB.
Escopo
Um membro calculado pode acontecer dentro de um dos escopos listados na tabela a seguir.
Escopo da consulta
A visibilidade e o tempo de vida do membro calculado estão limitados à consulta. O membro calculado é definido em uma consulta individual. Escopo de consulta substitui escopo de sessão. Para obter mais informações, consulte Criando membros calculados Query-Scoped (MDX).
Escopo de sessão
A visibilidade e o tempo de vida do membro calculado estão limitados à sessão em que são criados. (O tempo de vida será menor que a duração da sessão se uma instrução DROP MEMBER for emitida no membro calculado.) A instrução CREATE MEMBER cria um membro calculado com escopo de sessão.
Isolamento de escopo
Quando um script de cubo de linguagem MDX contém membros calculados, por padrão os membros calculados são resolvidos antes que quaisquer cálculos no escopo da sessão sejam resolvidos e antes que quaisquer cálculos definidos em consulta sejam resolvidos.
Observação
Em determinados cenários, a função Agregação (MDX) e a função VisualTotals (MDX) não exibem esse comportamento.
O comportamento permite aos aplicativos cliente genéricos trabalhar com cubos que contenham cálculos complexos, sem ter de levar em conta a implementação específica dos cálculos. No entanto, em determinados cenários, talvez você queira executar membros calculados com escopo de sessão ou consulta antes de determinados cálculos no cubo, e nem a função Aggregate nem a função VisualTotals são aplicáveis. Para isso, use a propriedade de cálculo SCOPE_ISOLATION.
Exemplo
O script a seguir é um exemplo de um cenário em que a propriedade de cálculo SCOPE_ISOLATION é exigida para produzir o resultado correto.
Script MDX do cubo:
CREATE MEMBER CURRENTCUBE.Measures.ProfitRatio AS 'Measures.[Store Sales]/Measures.[Store Cost]', SOLVE_ORDER = 10
Consulta MDX:
WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio
O resultado desejado da consulta anterior é a razão de vendas para os EUA sem WA, para armazenar custo para os EUA sem WA. A consulta anterior não retorna o resultado desejado; retorna a razão dos EUA menos a razão de WA que é um resultado sem-sentido. Para alcançar o resultado desejado, é possível usar a propriedade de cálculo SCOPE_ISOLATION.
Consulta MDX usando a propriedade de cálculo SCOPE_ISOLATION:
WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
,SCOPE_ISOLATION=CUBE
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio
Propriedades padrão
Cada membro calculado tem um conjunto de propriedades padrão. Quando um aplicativo cliente está conectado ao Analysis Services, as propriedades padrão têm suporte ou estão disponíveis para suporte, conforme o administrador escolhe.
Propriedades de membro adicionais podem estar disponíveis, dependendo da definição de cubo. As propriedades a seguir representam informações pertinentes ao nível de dimensão no cubo.
Identificador de propriedade | Significado |
---|---|
SOLVE_ORDER | A ordem na qual o membro calculado será resolvido quando um membro calculado fizer referência a outro membro calculado (ou seja, quando membros calculados se cruzarem). |
FORMAT_STRING | Uma cadeia de caracteres de formato de estilo do Office que o aplicativo cliente pode usar ao exibir valores de célula. |
VISIBLE | Um valor que indica se o membro calculado é visível em um conjunto de linhas de esquema. Membros calculados visíveis podem ser adicionados a um conjunto com a função AddCalculatedMembers . Um valor diferente de zero indica que o membro calculado é visível. O valor padrão dessa propriedade é Visible. Membros calculados que não são visíveis (em que o valor é definido como zero) são em geral usados como etapas intermediárias em membros calculados mais complexos. Esses membros calculados também podem ser consultados por outros tipos de membros, como medidas. |
NON_EMPTY_BEHAVIOR | A medida ou o conjunto usado para determinar o comportamento de membros calculados ao resolver células vazias. **Aviso** Essa propriedade foi preterida. Evite configurá-la. Consulte Recursos preteridos do Analysis Services no SQL Server 2014 para obter detalhes. |
CAPTION | Uma cadeia de caracteres que o aplicativo cliente usa como legenda para o membro. |
DISPLAY_FOLDER | Uma cadeia de caracteres que identifica o caminho da pasta de exibição que o aplicativo cliente usa para mostrar o membro. O separador de nível de pasta é definido pelo aplicativo cliente. Para as ferramentas e clientes fornecidos pelo Analysis Services, a barra invertida (\) é o separador de nível. Para fornecer várias pastas de exibição para um membro definido, use um ponto-e-vírgula (;) para separar as pastas. |
ASSOCIATED_MEASURE_GROUP | O nome do grupo de medidas ao qual esse membro está associado. |
Consulte Também
Instrução DROP MEMBER (MDX)
Instrução UPDATE MEMBER (MDX)
Instruções de definição de dados MDX (MDX)