Compartir a través de


Espacio de cubo

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

El espacio de cubo es el producto de los miembros de las jerarquías de atributo de un cubo con las medidas de un cubo. Por consiguiente, el espacio del cubo se determina con el producto combinatorio de todos los miembros de jerarquía de atributo en el cubo y las medidas del cubo, y define el tamaño máximo del cubo. Es importante tener en cuenta que este espacio incluye todas las combinaciones posibles de miembros de jerarquía de atributos; incluso combinaciones que podrían considerarse imposibles en el mundo real, es decir, combinaciones en las que la ciudad es París y los países o regiones son Inglaterra o España o Japón o India o en otro lugar.

Espacio de cubo y Autoexist

El concepto de autoexist limita este espacio de cubo a aquellas celdas que realmente existen. Los miembros de una jerarquía de atributo de una dimensión pueden no existir con los miembros de otra jerarquía de atributo de la misma dimensión.

Por ejemplo, si tiene un cubo con una jerarquía de atributo City, una jerarquía de atributo Country y una medida Internet Sales Amount, el espacio de este cubo solamente incluye a los miembros que existen entre sí. Por ejemplo, si la jerarquía de atributos City incluye las ciudades de Nueva York, Londres, París, Tokio y Melbourne; y la jerarquía de atributos Country incluyen los países o regiones Estados Unidos, Reino Unido, Francia, Japón y Australia; a continuación, el espacio del cubo no incluye el espacio (celda) en la intersección de París y Estados Unidos.

Al consultar las celdas que no existen, las celdas no existentes devuelven valores nulos; es decir, no pueden contener cálculos y no se puede definir un cálculo que escriba en este espacio. Por ejemplo, la siguiente instrucción incluye celdas que no existen.

SELECT [Customer].[Gender].[Gender].Members ON COLUMNS,  
{[Customer].[Customer].[Aaron A. Allen]  
   ,[Customer].[Customer].[Abigail Clark]} ON ROWS   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Nota:

Esta consulta usa la función Members (Set) (MDX) para devolver el conjunto de miembros de la jerarquía de atributo Gender en el eje de columnas y cruza este conjunto con el conjunto especificado de miembros de la jerarquía de atributo Customer en el eje de filas.

Cuando se ejecuta la consulta anterior, la celda en la intersección de Aaron A. Allen y Female muestra un valor nulo. De igual manera, la celda en la intersección de Abigail Clark y Male muestra un valor nulo. Estas celdas no existen y no pueden contener un valor, pero las celdas que no existen pueden aparecer en el resultado devuelto por una consulta.

Al usar la función Crossjoin (MDX) para devolver el producto cruzado de los miembros de la jerarquía de atributo de las jerarquías de atributo de la misma dimensión, auto-exists limita las tuplas devueltas al conjunto de tuplas que realmente existen, en lugar de devolver un producto cartesiano completo. Por ejemplo, ejecute y examine los resultados de la ejecución de la siguiente consulta.

SELECT CROSSJOIN  
   (  
      {[Customer].[Country].[United States]},  
         [Customer].[State-Province].Members  
  ) ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

Nota:

Observe que 0 se utiliza para designar al eje de columna, que es una abreviatura para el eje(0), que es el eje de columna.

La consulta anterior solo devuelve celdas para los miembros de cada jerarquía de atributo de la consulta que existen entre sí. La consulta anterior también puede escribirse con la nueva variante * de la función * (Crossjoin) (MDX) .

SELECT   
   [Customer].[Country].[United States] *   
      [Customer].[State-Province].Members  
ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

La consulta anterior también se podría escribir de la siguiente manera:

SELECT [Customer].[State-Province].Members  
ON 0   
FROM [Adventure Works]  
WHERE (Measures.[Internet Sales Amount],  
   [Customer].[Country].[United States])  

Los valores de celda devueltos serán idénticos, aunque los metadatos del conjunto de resultados serán diferentes. Por ejemplo, con la consulta anterior, la jerarquía Country se movió al eje segmentador (en la cláusula WHERE), por lo que no aparece explícitamente en el conjunto de resultados.

Cada una de estas tres consultas anteriores muestra el efecto del comportamiento existente automáticamente en SQL Server SQL Server Analysis Services.

Jerarquías definidas por el usuario y espacio de cubo

Los ejemplos anteriores de este tema definen posiciones en el espacio de cubo mediante jerarquías de atributo. Sin embargo, también se puede definir una posición en un espacio de cubo mediante jerarquías definidas por el usuario que se han definido en base a las jerarquías de atributo de una dimensión. Una jerarquía definida por el usuario es una jerarquía de jerarquías de atributo diseñadas para facilitar la exploración del cubo por parte de los usuarios.

Por ejemplo, la consulta CROSSJOIN de la sección anterior también pudo haber sido escrita de la siguiente manera:

SELECT CROSSJOIN  
   (  
      {[Customer].[Country].[United States]},  
         [Customer].[Customer Geography].[State-Province].Members  
   )   
ON 0   
FROM [Adventure Works]  
WHERE Measures.[Internet Sales Amount]  

En la consulta anterior, la jerarquía definida por el usuario Customer Geography de la dimensión Customer se utiliza para definir la posición en el espacio de cubo que se definió anteriormente mediante una jerarquía de atributo. La posición idéntica en el espacio de cubo puede definirse mediante jerarquías de atributo o jerarquías definidas por el usuario.

Relaciones de atributo y espacio de cubo

El definir relaciones de atributo entre atributos relacionados mejora el rendimiento de las consultas (al facilitar la creación de agregaciones apropiadas) y afecta al miembro de una jerarquía de atributo relacionada que aparece con un miembro de jerarquía de atributo. Por ejemplo, cuando define una tupla que incluye a un miembro de la jerarquía de atributo City y la tupla no define explícitamente al miembro de la jerarquía de atributo Country, se puede esperar que el miembro de la jerarquía de atributo predeterminada Country sea el miembro relacionado de la jerarquía de atributo Country. Sin embargo, esto es cierto solo si se define una relación de atributo entre la jerarquía de atributo City y la jerarquía de atributo Country.

El ejemplo siguiente devuelve el miembro de una jerarquía de atributo relacionada que no está incluida explícitamente en la consulta.

WITH MEMBER Measures.x AS   
   Customer.Country.CurrentMember.Name  
SELECT Measures.x ON 0,  
Customer.City.Members ON 1  
FROM [Adventure Works]  

Nota:

Observe que la palabra clave WITH se usa con las funciones CurrentMember (MDX) y Name (MDX) para crear un miembro calculado para su uso en la consulta. Para obtener más información, vea La consulta MDX básica (MDX).

En la consulta anterior, se devuelve el nombre del miembro de la jerarquía de atributo Country asociado con cada miembro de la jerarquía de atributo State. Aparece el miembro Country esperado (debido a que hay una relación de atributo definida entre los atributos City y Country). Sin embargo, si no se define una relación de atributo entre las jerarquías de atributo de la misma dimensión, se devuelve el miembro (All), como se muestra en la consulta siguiente.

WITH MEMBER Measures.x AS   
   Customer.Education.Currentmember.Name  
SELECT Measures.x  ON 0,   
Customer.City.Members ON 1  
FROM [Adventure Works]  

En la consulta anterior, se devuelve el miembro (All) ("All Customers"), debido a que no hay una relación entre Education y City. Por lo tanto, el miembro (All) de la jerarquía de atributo Education sería el miembro predeterminado de la jerarquía de atributo Education utilizada en cualquier tupla en la que interviniera la jerarquía de atributo City y no se proporcionara explícitamente un miembro Education.

Contexto de cálculo

Consulte también

Conceptos clave de MDX (Analysis Services)
Tuplas
autoexist
Trabajar con miembros, tuplas y conjuntos (MDX)
Totales visuales y totales no visuales
Referencia del lenguaje MDX (MDX)
Referencia de expresiones multidimensionales (MDX)