Lección 4: Crear relaciones

Se aplica a: SQL Server 2016 y versiones posteriores de Analysis Services Azure Analysis Services Power BI Premium

En esta lección, comprobará las relaciones que se han creado de forma automática al importar datos y agregará nuevas relaciones entre tablas diferentes. Una relación es una conexión entre dos tablas de datos que establece cómo se deben poner en correlación los datos de esas tablas. Por ejemplo, la tabla DimProduct y la tabla DimProductSubcategory tienen una relación basada en el hecho que cada producto pertenece a una subcategoría. Para obtener más información, consulte el artículo de relaciones.

Tiempo estimado para completar esta lección: 10 minutos

Prerrequisitos

Este tema forma parte de un tutorial de modelado tabular, que se debe completar en orden. Antes de realizar las tareas de esta lección, debe haber completado la lección anterior: Lección 3: Marcado como tabla de fechas.

Examinar las relaciones existentes y agregar nuevas relaciones

Al importar datos mediante el Asistente para importación de tablas, obtuvo siete tablas de la base de datos AdventureWorksDW. Por lo general, al importar datos de un origen relacional, las relaciones existentes se importan automáticamente junto con los datos. Sin embargo, antes de continuar creando el modelo, debe comprobar que las relaciones entre tablas se crearon correctamente. En este tutorial, agregará también tres relaciones nuevas.

Procedimiento para revisar las relaciones existentes

  1. Haga clic en el menú >ModeloVista modeloVista> de diagramas.

    El diseñador de modelos se muestra ahora en la vista de diagrama, un formato gráfico que muestra todas las tablas que importó con líneas entre ellas. Las líneas entre las tablas indican las relaciones que se crearon automáticamente cuando importó los datos.

    Screenshot of the diagram view of the Model.bim file.

    Use los controles de minimapa de la esquina inferior derecha del diseñador de modelos para ajustar la vista e incluir tantas tablas como sea posible. También puede hacer clic y arrastrar tablas a diferentes ubicaciones, acercar tablas o colocarlas en un orden determinado. El movimiento de las tablas no afecta a las relaciones existentes entre ellas. Para ver todas las columnas de una tabla determinada, haga clic y arrastre en un borde de la tabla para expandirla o hacer que sea más pequeña.

  2. Haga clic en la línea sólida entre las tablas DimCustomer y DimGeography. La línea sólida entre estas dos tablas muestra que esta relación está activa, es decir, se utiliza de forma predeterminada al calcular fórmulas DAX.

    Observe la columna GeographyKey de la tabla DimCustomer y la columna GeographyKey de la tabla DimGeography, que ahora aparecen dentro de un cuadro de tabla. Esto muestra que son las columnas que se usan en la relación. Las propiedades de la relación ahora también aparecen en la ventana Propiedades .

    Sugerencia

    Además de utilizar el Diseñador de modelos en la vista de diagrama, también puede usar el cuadro de diálogo Administrar relaciones para mostrar las relaciones entre todas las tablas en un formato de tabla. Haga clic con el botón derecho en Relaciones en el Explorador de modelos tabulares y, a continuación, haga clic en Administrar relaciones. El cuadro de diálogo Administrar relaciones muestra las relaciones que se crearon automáticamente al importar datos.

  3. Use el Diseñador de modelos en la vista de diagrama o el cuadro de diálogo Administrar relaciones para comprobar que se crearon las siguientes relaciones cuando se importaron cada una de las tablas de la base de datos AdventureWorksDW:

    Activo Tabla Tabla de búsqueda relacionada
    DimCustomer [GeographyKey] DimGeography [GeographyKey]
    DimProduct [ProductSubcategoryKey] DimProductSubcategory [ProductSubcategoryKey]
    DimProductSubcategory [ProductCategoryKey] DimProductCategory [ProductCategoryKey]
    FactInternetSales [CustomerKey] DimCustomer [CustomerKey]
    FactInternetSales [ProductKey] DimProduct [ProductKey]

    Si faltan cualquiera de las relaciones en la tabla anterior, compruebe que el modelo incluye las siguientes tablas: DimCustomer, DimDate, DimGeography, DimProduct, DimProductCategory, DimProductSubcategory y FactInternetSales. Si las tablas de la misma conexión de origen de datos se importaron en momentos distintos, las relaciones entre esas tablas no se crearán y tendrá que crearlas manualmente.

Un examen más profundo

En la vista de diagrama, observará una flecha, un asterisco y un número en las líneas que muestran la relación entre las tablas.

Screenshot of the diagram view with the arrows, asterisks, and numbers highlighted.

La flecha muestra la dirección del filtro; el asterisco muestra que esta tabla es el lado Varios en la cardinalidad de la relación, y el 1 indica que esta tabla es el lado Uno de la relación. Si necesita editar una relación; por ejemplo, cambie la dirección del filtro o la cardinalidad de la relación, haga doble clic en la línea de relación de la vista Diagrama para abrir el cuadro de diálogo Editar relación.

Screenshot of the Edit Relationship dialog box with DimCustomer and GeographyKey options highlighted for both Table 1 and Table 2.

Probablemente, nunca necesitará modificar una relación. Estas características están diseñadas para el modelado de datos avanzados y están fuera del ámbito de este tutorial. Para más información, consulte Filtros cruzados bidireccionales para modelos tabulares en SQL Server 2016 Analysis Services.

En algunos casos, debe crear relaciones adicionales entre las tablas del modelo para admitir una determinada lógica de negocios. Para este tutorial, debe crear tres relaciones adicionales entre las tablas FactInternetSales y DimDate.

Para agregar nuevas relaciones entre las tablas

  1. En el diseñador de modelos, en la tabla FactInternetSales , haga clic y mantenga presionada la columna OrderDate , arrastre el cursor a la columna Date de la tabla DimDate y, a continuación, suelte.

    Aparece una línea sólida que indica que ha creado una relación activa entre la columna OrderDate de la tabla Internet Sales y la columna Date de la tabla Date.

    Screenshot of the model designer with OrderDate and Date called out showing the solid line between the tables.

    Nota

    Al crear relaciones, se selecciona automáticamente la dirección del filtro y cardinalidad entre la tabla principal y la tabla de búsqueda relacionada.

  2. En la tabla FactInternetSales , haga clic y mantenga presionada la columna DueDate , arrastre el cursor a la columna Date de la tabla DimDate y, a continuación, suelte.

    Aparece una línea punteada que indica que ha creado una relación inactiva entre la columna DueDate de la tabla FactInternetSales y la columna Date de la tabla DimDate. Puede tener varias relaciones entre tablas, pero solo una relación puede estar activa simultáneamente.

  3. Por último, cree una relación más; en la tabla FactInternetSales , haga clic y mantenga presionada la columna ShipDate , arrastre el cursor a la columna Date de la tabla DimDate y, a continuación, suelte.

    Screenshot of the model designer with ShipDate and Date called out.

¿Qué sigue?

Vaya a la lección siguiente: Lección 5: Crear columnas calculadas.