Compartir a través de


Lección 5-2: Definir una relación de hechos

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

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.

Dentro de SQL Server Analysis Services, puede determinar si se deben duplicar los datos de dimensión de hechos en una estructura de dimensión MOLAP para aumentar el rendimiento de las consultas, o si se debe definir la dimensión de hechos como una dimensión ROLAP para ahorrar espacio de almacenamiento a costa del rendimiento de las consultas. Al almacenar una dimensión con el modo de almacenamiento MOLAP, todos los miembros de dimensión se almacenan en la instancia de SQL Server 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, solo se almacena la definición de dimensión en la estructura MOLAP, los propios miembros de dimensión se consultan desde la tabla de hechos relacional subyacente en el momento de la consulta. 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. El modo de almacenamiento de cada dimensión se puede configurar independientemente.

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, consulte Relaciones de dimensióny 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 . Después 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

  1. En el Explorador de soluciones, haga clic con el botón derecho en Dimensionesy, después, haga clic en Nueva dimensión.

  2. En la página Asistente para dimensiones , haga clic en Siguiente.

  3. En la página Seleccionar método de creación , compruebe que la opción Usar una tabla existente está seleccionada y, a continuación, haga clic en Siguiente.

  4. En la página Especificar información de origen, compruebe que la vista del origen de datos Adventure Works DW 2019 está seleccionada.

  5. En la lista Tabla principal , seleccione InternetSales.

  6. Compruebe que aparecen SalesOrderNumber y SalesOrderLineNumber en la lista Columnas de clave .

  7. En la lista Columna de nombre , seleccione SalesOrderLineNumber.

  8. Haga clic en Siguiente.

  9. En la página Seleccionar tablas relacionadas , desactive las casillas que aparecen al lado de todas las tablas y, después, haga clic en Siguiente.

  10. En la página Seleccionar los atributos de la dimensión , haga clic dos veces en la casilla del encabezado para desactivar todas las casillas. El atributo Sales Order Number seguirá seleccionado porque es el atributo clave.

  11. Seleccione el atributo Customer PO Number y, después, haga clic en Siguiente.

  12. En la página Finalización del asistente , cambie el nombre por Internet Sales Order Details y, después, haga clic en Finalizar para completar el asistente.

  13. En el menú Archivo, haga clic en Guardar todo.

  14. En el panel Atributos del Diseñador de dimensiones para la dimensión Internet Sales Order Details , seleccione Sales Order Numbery, después, cambie la propiedad Nombre de la ventana Propiedades por Item Description.

  15. En la celda de la propiedad NameColumn , haga clic en el botón Examinar (...). En el cuadro de diálogo Columna de nombre, seleccione Producto en la lista Tabla de origen, seleccione EnglishProductName para la columna Origen y, a continuación, haga clic en Aceptar.

  16. Agregue el atributo Sales Order Number a la dimensión arrastrando la columna SalesOrderNumber de la tabla InternetSales del panel Vista del origen de datos al panel Atributos .

  17. Cambie la propiedad Nombre del nuevo atributo Sales Order Number por Order Numbery cambie la propiedad OrderBy por Key.

  18. En el panel Jerarquías , cree una jerarquía de usuario Internet Sales Orders que contenga los niveles Order Number e Item Description , en este orden.

  19. En el panel Atributos , seleccione Internet Sales Order Detailsy luego revise el valor de la propiedad StorageMode en 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.

  20. Para agregar la dimensión recién creada al cubo de SQL Server Analysis Services Tutorial como dimensión de cubo, cambie a Cubo Designer. En la pestaña Estructura de cubo , haga clic con el botón derecho en el panel Dimensiones y seleccione Agregar dimensión de cubo.

  21. En el cuadro de diálogo Agregar dimensión de cubo, seleccione Internet Sales Order Details y, después, haga clic en Aceptar.

Definir una relación de hechos para la dimensión de hechos

  1. En el Designer Cubo del cubo tutorial de SQL Server Analysis Services, haga clic en la pestaña 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.

  2. Haga clic en el botón Examinar (...) de la celda Descripción del elemento , en la intersección del grupo de medida Internet Sales y la dimensión Internet Sales Order Details , 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 .

    Definir relación , cuadro de

  3. Haga clic en Cancelar.

Examinar el cubo utilizando la dimensión de hecho

  1. En el menú Compilar, haga clic en Implementar Tutorial de Analysis Services para implementar los cambios en la instancia de SQL Server Analysis Services y procesar la base de datos.

  2. Una vez completada correctamente la implementación, haga clic en la pestaña Explorador del cubo Designer del cubo tutorial de SQL Server Analysis Services y, a continuación, haga clic en el botón Volver a conectar.

  3. Borre todas las medidas y las jerarquías del panel de datos y, después, agregue la medida Internet Sales-Sales Amount al área de datos de dicho panel.

  4. En el panel de metadatos, expanda sucesivamente Customer, Location, Customer Geography, Members, All Customers, Australia, Queensland, Brisbane, 4000, haga clic con el botón derecho en Adam Powelly, después, haga clic en Agregar a filtro.

    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.

  5. 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 de datos.

    Observe que en el panel de datos aparecen los números de pedidos de venta y los importes correspondientes de ventas por Internet para Adam Powell.

    En la imagen siguiente se muestra el resultado de los pasos anteriores.

    Dimensionamiento de la cantidad de Internet Sales-Sales Cantidad

Siguiente tarea de la lección

Definir una relación de varios a varios

Consulte también

Relaciones de dimensión
Definir relaciones de hechos y propiedades de las relaciones de hechos