Compartir a través de


CREATE MEMBER (instrucción MDX)

Actualizado: 12 de diciembre de 2006

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

  • 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.

Propiedades estándar

Cada miembro calculado tiene un conjunto de propiedades predeterminadas. Cuando se conecta una aplicación cliente a Microsoft SQL Server 2005 Analysis Services (SSAS), 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

Especifica el 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

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

VISIBLE

Determina 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

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

Á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 duración 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 duración del miembro calculado se limita a la sesión en la que se crea. (La duración 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

En SQL Server 2005 Analysis Services, cuando una secuencia de comandos 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. Este comportamiento es distinto respecto a SQL Server 2000 Analysis Services, donde el orden de resolución puede utilizarse explícitamente para insertar un cálculo de ámbito de sesión o un cálculo definido por la consulta entre dos cálculos de nivel de cubo. Esta diferencia de comportamiento puede hacer que los miembros calculados de ámbito de sesión o consulta no devuelvan los resultados deseados en SQL Server 2005 Analysis Services.

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

El comportamiento en SQL Server 2005 Analysis Services 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. SQL Server 2000 Analysis Services permite este comportamiento mediante una configuración cuidadosa de la propiedad SOLVE_ORDER en el cubo y en los miembros calculados de ámbito de consulta o sesión. Para habilitar este mismo comportamiento en SQL Server 2005 Analysis Services, utilice la propiedad de cálculo SCOPE_ISOLATION.

[!NOTA] La propiedad de cálculo SCOPE_ISOLATION es nueva en el Service Pack 2 (SP2) de SQL Server 2005 Analysis Services.

Ejemplo

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

Secuencia de comandos 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. Aunque la consulta anterior devuelve el resultado deseado en SQL Server 2000 Analysis Services, no devuelve el resultado deseado en SQL Server 2005 Analysis Services. En SQL Server 2005 Analysis Services, devuelve el ratio de USA menos el 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

Vea también

Otros recursos

Instrucciones de definición de datos de MDX (MDX)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido modificado:
  • Se ha actualizado el contenido para reflejar la funcionalidad y el funcionamiento de SQL Server 2005 Analysis Services.

12 de diciembre de 2006

Contenido modificado:
  • Se ha actualizado el contenido para reflejar la nueva propiedad de aislamiento de ámbito agregada al Service Pack 2.