Compartir a través de


Crear relaciones

Se aplica a: SQL Server 2019 y versiones posteriores analysis Services Azure Analysis Services Fabric/Power BI Premium

En esta lección, comprobará las relaciones que se crearon automáticamente cuando importó los 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 de que cada producto de la tabla DimProduct pertenece a una subcategoría de la tabla DimProductSubcategory. Para obtener más información, consulte el artículo de relaciones.

Importante

En este momento, la base de datos predeterminada de ejemplo AdventureWorksDW instalada con Azure Synapse Analytics (SQL Data Warehouse) no tiene relaciones entre las tablas descritas en este tutorial. Tendrá que crear manualmente todas las relaciones. La creación manual de relaciones se describe más adelante en esta lección.

Tiempo estimado para completar esta lección: 10 minutos

Requisitos previos

Este artículo 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

Cuando importó datos mediante Get Data, 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. A fin de obtener datos para crear automáticamente relaciones en el modelo de datos, debe haber relaciones entre tablas en el origen de datos.

Antes de continuar creando el modelo, debe comprobar que las relaciones entre tablas se crearon correctamente. En este tutorial, también agrega tres relaciones nuevas.

Procedimiento para revisar las relaciones existentes

  1. Haga clic en el menú >Modelo Vistadiagrama devista> modelo.

    El diseñador de modelos aparece 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.

    Captura de pantalla de la vista de diagrama del archivo Model.bim.

    Nota:

    Si no ve las relaciones entre tablas, probablemente significa que no hay ninguna relación entre esas tablas en el origen de datos.

    Incluya todas las tablas posibles utilizando los controles de minimapa de la esquina inferior derecha del diseñador de modelos. También puede hacer clic y arrastrar las tablas a ubicaciones diferentes, aunando las tablas o colocándolas en un orden determinado. Mover las tablas no afecta a las relaciones existentes entre ellas. Para ver todas las columnas de una tabla determinada, haga clic y arrastre un borde de la tabla para expandir o reducir el tamaño.

  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 las 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. Estas columnas se utilizan en la relación. Las propiedades de la relación ahora también aparecen en la ventana Propiedades .

    Sugerencia

    También puede usar el cuadro de diálogo Administrar relaciones para mostrar las relaciones entre todas las tablas en un formato de tabla. En el Explorador de modelos tabulares, haga clic con el botón derecho en Relaciones>Administrar relaciones.

  3. Compruebe que se crearon las siguientes relaciones cuando se importó 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 falta alguna de las relaciones, 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 importan en momentos independientes, no se crean relaciones entre esas tablas y se deben crear manualmente. Si no aparece ninguna relación, significa que no la hay en el origen de datos. Puede crearlas manualmente en el modelo de datos.

Un examen más profundo

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

Captura de pantalla de la vista de diagrama con las flechas, los asteriscos y los números resaltados.

La flecha muestra la dirección del filtro. El asterisco muestra esta tabla es el lado muchos de la cardinalidad de la relación y el que muestra esta tabla es el lado de la relación. Si tiene que modificar una relación; por ejemplo, cambie la dirección del filtro de la relación y cardinalidad, y haga doble clic en la línea de relación para abrir el cuadro de diálogo Editar relación.

Captura de pantalla del cuadro de diálogo Editar relación con las opciones DimCustomer y GeographyKey resaltadas para la tabla 1 y la tabla 2.

Estas características están diseñadas para el modelado de datos avanzados y están fuera del ámbito de este tutorial. Para obtener más información, consulte el artículo sobre los filtros cruzados bidireccionales para modelos tabulares de 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 muestra que ha creado una relación activa entre la columna OrderDate de la tabla Internet Sales y la columna Date de la tabla Date .

    Captura de pantalla del diseñador de modelos con OrderDate y Date resaltado que muestra la línea sólida entre las tablas.

    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 en la columna DueDate y mantenga presionado el botón izquierdo del mouse; luego, arrastre el cursor hasta la columna Date de la tabla DimDate. Finalmente, suelte el botón.

    Aparece una línea de puntos que muestra 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. Las relaciones inactivas pueden hacerse activas para realizar agregaciones especiales en expresiones de DAX personalizadas.

  3. Finalmente, cree una relación más. En la tabla FactInternetSales, haga clic en la columna ShipDate y mantenga presionado el botón; luego, arrastre el cursor hasta la columna Date de la tabla DimDate. Finalmente, suelte el botón.

    Captura de pantalla del diseñador de modelos con ShipDate y Date resaltado.

Paso siguiente

Lección 5: Creación de columnas calculadas