Compartir a través de


Instrucción CREATE MEMBER (MDX)

Crea un miembro calculado.

Sintaxis

CREATE [ SESSION ] [HIDDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name 
   AS MDX_Expression
      [,Property_Name = Property_Value, ...n]
......[,SCOPE_ISOLATION = CUBE]

Argumentos

  • Cube_Name
    Expresión de cadena válida que proporciona el nombre del cubo donde se creará el miembro.

  • Member_Name
    Expresión de cadena válida que proporciona un nombre de miembro. Especifique un nombre completo para crear un miembro dentro de una dimensión que no sea la dimensión Measures. Si no proporciona un nombre de miembro completo, el miembro se creará en la dimensión Measures.

  • MDX_Expression
    Expresión MDX (Expresiones multidimensionales) válida.

  • Property_Name
    Cadena válida que proporciona el nombre de una propiedad de miembro calculado.

  • Property_Value
    Expresión escalar válida que define el valor de la propiedad de miembro calculado.

Notas

La instrucción CREATE MEMBER define los miembros calculados disponibles durante la sesión y que, por lo tanto, se pueden utilizar en varias consultas mientras la sesión esté activa. Para obtener más información, vea Crear miembros calculados de ámbito de sesión (MDX).

También puede definir un miembro calculado para su uso en una sola consulta. Para definir un miembro calculado limitado a una sola consulta, utilice la cláusula WITH de la instrucción SELECT. Para obtener más información, vea Crear miembros calculados en el ámbito de consulta (MDX).

Property_Name puede hacer referencia a propiedades de miembro calculado estándar u opcionales. Las propiedades de miembro estándares se indican más adelante, en este mismo tema. Los miembros calculados creados mediante CREATE MEMBER y sin ningún valor SESSION tienen un ámbito de sesión. Además, las cadenas incluidas en las definiciones del miembro calculado se delimitan mediante comillas dobles. Este método es distinto del definido por OLE DB, en el que las cadenas deben delimitarse con comillas simples.

No se puede especificar un cubo distinto al que se está conectado actualmente, porque esta operación provoca un error. Por lo tanto, debe utilizarse CURRENTCUBE en lugar del nombre de un cubo para hacer referencia al cubo actual.

Para obtener más información acerca de las propiedades de miembro definidas por OLE DB, vea la documentación de OLE DB.

Ámbito

Los miembros calculados pueden existir en cualquiera de los ámbitos que se incluyen en la siguiente tabla:

  • Ámbito de consulta
    La visibilidad y la vigencia del miembro calculado se limita a la consulta. El miembro calculado se define en una consulta individual. El ámbito de consulta reemplaza al ámbito de sesión. Para obtener más información, vea Crear miembros calculados en el ámbito de consulta (MDX).

  • Ámbito de sesión
    La visibilidad y vigencia del miembro calculado se limita a la sesión en la que se crea. (La vigencia puede ser inferior a la duración de la sesión si se ejecuta la instrucción DROP MEMBER en el miembro calculado). La instrucción CREATE MEMBER crea un miembro calculado con ámbito de sesión.

Aislamiento de ámbito

Cuando un script MDX (Expresiones multidimensionales) de cubo contiene miembros calculados, éstos se resuelven de forma predeterminada antes de que se resuelva cualquier cálculo de ámbito de sesión y cualquier cálculo definido por la consulta.

[!NOTA]

En determinados escenarios, las funciones Aggregate (MDX) y VisualTotals (MDX) no presentan este comportamiento.

El comportamiento permite a las aplicaciones cliente genéricas trabajar con cubos que contienen cálculos complejos, sin tener en cuenta la implementación específica de los cálculos. Sin embargo, es posible que en algunos escenarios desee ejecutar miembros calculados de ámbito de consulta o sesión antes de realizar determinados cálculos en el cubo y que no pueda aplicarse ni la función Aggregate ni la función VisualTotals. Para lograr esto, utilice la propiedad de cálculo de SCOPE_ISOLATION.

Ejemplo

A continuación, se muestra un ejemplo de script de un escenario donde es necesaria la propiedad de cálculo SCOPE_ISOLATION para generar el resultado correcto.

Script MDX del 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

El resultado deseado de la consulta anterior es el ratio de ventas en USA sin WA, para almacenar el costo de USA sin WA. La consulta anterior no devuelve el resultado deseado, sino la ratio de EE.UU. menos la ratio de WA, que es un resultado que carece de significado. Para obtener el resultado deseado, puede utilizar la propiedad de cálculo SCOPE_ISOLATION.

Consulta MDX con la propiedad 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

Propiedades estándar

Cada miembro calculado tiene un conjunto de propiedades predeterminadas. Cuando se conecta una aplicación cliente a MicrosoftAnalysis Services, se admiten las propiedades predeterminadas, o bien se ponen a disposición para ser admitidas, según lo que decida el administrador.

Puede haber otras propiedades de miembro adicionales disponibles, según la definición del cubo. Las siguientes propiedades representan información relevante para el nivel de dimensión del cubo.

Identificador de la propiedad

Significado

SOLVE_ORDER

Orden de resolución del miembro calculado en aquellos casos en los que un miembro calculado haga referencia a otro miembro calculado (es decir, cuando exista una intersección de miembros calculados).

FORMAT_STRING

Cadena con formato de Microsoft Office que puede utilizar la aplicación cliente para mostrar los valores de las celdas.

VISIBLE

Valor que indica si el miembro calculado es visible en el conjunto de filas del esquema. Los miembros calculados visibles pueden agregarse a un conjunto mediante la función AddCalculatedMembers. Un valor distinto de cero indica que el miembro calculado es visible. El valor predeterminado de esta propiedad es Visible.

Los miembros calculados no visibles (cuando el valor se establece en cero) suelen utilizarse como pasos intermedios en miembros calculados más complejos. También otros tipos de miembro, como las medidas, pueden hacer referencia a estos miembros calculados.

NON_EMPTY_BEHAVIOR

Medida o conjunto utilizados para determinar el comportamiento de los miembros calculados al resolver celdas vacías.

CAPTION

Cadena que utiliza la aplicación cliente como título para el miembro.

DISPLAY_FOLDER

Cadena que identifica la ruta de la carpeta que usa la aplicación cliente para mostrar el miembro. La aplicación cliente define el separador de niveles de carpetas. Para las herramientas y clientes proporcionados por Analysis Services, el separador de niveles es la barra diagonal inversa (\). Si va a asignar varias carpetas para mostrar a un miembro definido, utilice un punto y coma (;) para separar las carpetas.

ASSOCIATED_MEASURE_GROUP

Nombre del grupo de medida al que se asocia el miembro.