Definir una relación de hechos
A veces, los usuarios desean poder dimensionar las medidas según los elementos de datos que se encuentran en la tabla de hechos o realizar consultas en la tabla de hechos sobre determinada información relacionada adicional, como números de factura o números de pedidos de compra relacionados con hechos de venta específicos. Cuando se define una dimensión basada en un elemento de tabla de hechos de este tipo, la dimensión se conoce como dimensión de hechos. Las dimensiones de hechos también se denominan dimensiones degeneradas. Las dimensiones de hechos son útiles para agrupar filas de tablas de hechos relacionadas, como todas las filas que están relacionadas con un número de factura determinado. Aunque esta información puede colocarse en una tabla de dimensiones independiente de la base de datos relacional, crear una tabla de dimensiones independiente para la información no supone ninguna ventaja, ya que la tabla de dimensiones crecerá al mismo ritmo que la tabla de hechos, y simplemente crearía datos duplicados y una complejidad innecesaria.
En Microsoft SQL Server 2005 Analysis Services (SSAS), puede determinar si los datos de las dimensiones de hechos deben duplicarse en una estructura de dimensiones MOLAP para incrementar el rendimiento de las consultas, o si es necesario definir una dimensión de hechos como dimensión ROLAP para ahorrar espacio a costa del rendimiento de las consultas. Cuando se almacena una dimensión en modo de almacenamiento MOLAP, todos los miembros de la dimensión se almacenan en la instancia de Analysis Services en una estructura MOLAP muy comprimida, además de almacenarse en las particiones del grupo de medida. Cuando se almacena una dimensión con el modo de almacenamiento ROLAP, en la estructura MOLAP sólo se almacena la definición de la dimensión, y, en el momento de la consulta, los miembros de la dimensión propiamente dichos se consultan desde la tabla de hechos relacionales subyacente. El modo de almacenamiento adecuado se decide en función de la frecuencia con la que se consultan las dimensiones de hechos, el número de filas que devuelve una consulta típica, el rendimiento de la consulta y el costo de procesamiento. Para definir una dimensión como ROLAP, no es necesario almacenar todos los cubos que utilizan la dimensión con el mismo modo de almacenamiento ROLAP. Esto es distinto de SQL Server 2000 Analysis Services.
Cuando define una dimensión de hechos, puede definir la relación entre la dimensión de hechos y el grupo de medida como relación de hechos. Las relaciones de hechos presentan estas limitaciones:
- El atributo de granularidad debe encontrarse en la columna de clave de la dimensión, que crea una relación uno a uno entre la dimensión y los hechos de la tabla de hechos.
- Una dimensión puede tener una relación de hechos con un solo grupo de medida.
[!NOTA] Las dimensiones de hechos deben actualizarse de forma incremental después de cada actualización realizada en el grupo de medida al que hace referencia la relación de hechos.
Para obtener más información, vea Relaciones de dimensión y Definir relaciones de hechos y propiedades de las relaciones de hechos.
En las tareas de este tema, debe agregar una nueva dimensión de cubo basada en la columna CustomerPONumber de la tabla de hechos FactInternetSales. A continuación, debe definir la relación entre esta nueva dimensión de cubo y el grupo de medida Internet Sales como relación de hechos.
Definir la dimensión de hechos de los pedidos de ventas por Internet
Para definir la dimensión de hechos de los pedidos de ventas por Internet
En el Diseñador de cubos del cubo Tutorial de Analysis Services, haga clic en la ficha Estructura de cubo.
Haga clic con el botón secundario en cualquier punto del panel Dimensiones y, a continuación, haga clic en Agregar dimensión de cubo.
En el cuadro de diálogo Agregar dimensión de cubo, haga clic en Nueva dimensión.
Se abre el Asistente para dimensiones.
En la página Asistente para dimensiones, haga clic en Siguiente.
En la página Seleccionar vista de origen de datos, haga clic en Siguiente para seleccionar los datos para la dimensión de la vista de origen de datos Adventure Works DW.
En la página Seleccionar el tipo de dimensión, haga clic en Siguiente para especificar que la dimensión será una dimensión estándar.
En la página Seleccionar la tabla de dimensiones principal, seleccione dbo.FactInternetSales en la lista Tabla principal.
Debe tener en cuenta que una clave compuesta se define sobre la base de las columnas SalesOrderNumber y SalesOrderLineNumber como columnas de clave, y la columna SalesOrderLineNumber se define para la propiedad del nombre de miembro. Observe también que no puede definir una columna para la propiedad de nombre de miembro desde ninguna tabla que no sea la tabla FactInternetSales.
Haga clic en Siguiente.
En la página Seleccionar tablas relacionadas, compruebe que no hay ninguna tabla seleccionada y haga clic en Siguiente.
En la página Seleccionar los atributos de la dimensión, deseleccione todos los atributos de dimensión seleccionados y, a continuación, active la casilla de verificación del atributo de la dimensión Número de orden de compra del cliente.
Observe que no puede seleccionar ninguna de las claves compuestas como atributo desde el Asistente para dimensiones. Esto es así porque las claves compuestas se han definido como claves de columna. Para agregarlas como atributos en su propio derecho, tendrá que definirlas como atributos una vez que haya definido la dimensión.
Haga clic en Finalizar, cambie el nombre de la dimensión por Internet Sales Order Details, haga clic en Finalizar y, a continuación, haga clic Aceptar para agregar la dimensión de base de datos creada recientemente en el cubo Tutorial de Analysis Services como dimensión de cubo.
Abra el Diseñador de dimensiones para la dimensión Internet Sales Order Details.
En el panel Atributos, seleccione Internet Sales y luego cambie la propiedad Nombre en la ventana Propiedades por Descripción del artículo.
En la celda de la propiedad NameColumn, seleccione (nueva), seleccione Producto para la tabla de origen, seleccione EnglishProductName para la columna de origen en el cuadro de diálogo Enlace de objetos y, a continuación, haga clic en Aceptar.
Agregue el atributo Sales Order Number a la dimensión arrastrando la columna SalesOrderNumber de la tabla InternetSales del panel Vista de origen de datos al panel Atributos.
Cambie la propiedad Nombre del nuevo atributo Sales Order Number por Order Number y cambie la propiedad OrderBy por Key.
En el panel Jerarquías y niveles, cree una jerarquía de usuario Internet Sales Orders que contenga los niveles Order Number e Item Description, en este orden.
En el panel Atributos, seleccione Internet Sales Order Details y luego revise el valor de la propiedad StorageMode de la ventana Propiedades.
Observe que, de forma predeterminada, esta dimensión está almacenada como dimensión MOLAP. Aunque cambiar el modo de almacenamiento por ROLAP supondrá un ahorro de tiempo de procesamiento y espacio de almacenamiento, esto es así a costa del rendimiento de las consultas. Para este tutorial, utilizará MOLAP como modo de almacenamiento.
Definir una relación de hechos para la dimensión de hechos
Para definir una relación de hechos para la dimensión de hechos
Cambie al Diseñador de cubos para el cubo Tutorial de Analysis Services y haga clic en la ficha Uso de dimensiones.
Observe que la dimensión de cubo Internet Sales Order Details está configurada automáticamente con una relación de hechos, como indica el icono único.
En la imagen siguiente se muestra la dimensión de cubo Internet Sales Order Details con una relación de hechos.
En la intersección del grupo de medida Internet Sales y la dimensión Internet Sales Order Details, haga clic en el botón de puntos suspensivos (…) de la celda Descripción del artículo para revisar las propiedades de la relación de hechos.
Se abre el cuadro de diálogo Definir relación. Observe que no puede configurar ninguna de las propiedades.
En la imagen siguiente se muestran las propiedades de la relación de hechos en el cuadro de diálogo Definir relación.
Haga clic en Cancelar.
Examinar el cubo utilizando la dimensión de hecho
Para examinar el cubo utilizando la dimensión de hechos
En el menú Generar, haga clic en Implementar Tutorial de Analysis Services para implementar los cambios realizados en la instancia de Analysis Services y procesar la base de datos.
Cuando la implementación haya finalizado correctamente, haga clic en la ficha Examinador del Diseñador de cubos para el cubo Tutorial de Analysis Services y luego haga clic en Volver a conectar.
Borre todas las medidas y las jerarquías del panel Datos y, a continuación, agregue la medida Internet Sales-Sales Amount al área de datos del panel Datos.
En el panel Metadatos, expanda Customer, Location, Customer Geography, Members, All Customers, expanda Australia, Queensland, Brisbane, 4000, haga clic con el botón secundario en Adam Powell y, luego, en Agregar a área de subcubo.
La aplicación de un filtro para limitar los pedidos de venta que se devuelven a un único cliente permite al usuario obtener detalles en una tabla de hechos de gran tamaño sin tener que sufrir una notable pérdida en el rendimiento de las consultas.
Agregue la jerarquía definida por el usuario Internet Sales Orders de la dimensión Internet Sales Order Details al área de filas del panel Datos.
Observe que en el panel Datos aparecen los números de pedidos de venta y los importes correspondientes de ventas por Internet para Adam Powell.
Expanda cada número de pedido de venta del área de filas para ver los detalles de cada artículo de línea de dichos pedidos.
En la imagen siguiente se muestran las dimensiones de los pasos anteriores.
Siguiente tarea de la lección
Definir una relación de varios a varios
Vea también
Otros recursos
Relaciones de dimensión
Definir relaciones de hechos y propiedades de las relaciones de hechos