Relaciones entre tablas en un modelo de datos

Nota:  Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

Su explorador no admite vídeo. Instale Microsoft Silverlight, Adobe Flash Player o Internet Explorer 9.
Vídeo: Relaciones en Power View y PowerPivot

Vídeo: Relaciones en Power View y PowerPivot

Vídeo: Relaciones en Power View y PowerPivot

Vídeo: Relaciones en Power View y PowerPivot

Agregar más potencia para el análisis de datos creando relaciones amogn diferentes tablas. Una relación es una conexión entre dos tablas que contienen datos: una columna en cada tabla es la base de la relación. Para ver por qué son útiles relaciones, imagine que un seguimiento datos de pedidos de clientes en su negocio. Puede realizar un seguimiento de todos los datos de una sola tabla que tenga una estructura similar a esta:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Producto

Cantidad

1

Tercedor

federico.tercedor@contoso.com

0,05

256

01-07-2010

Compact Digital

11

1

Tercedor

federico.tercedor@contoso.com

0,05

255

01-03-2010

SLR Camera

15

2

Alcalá

jorge.alcala@contoso.com

0,10

254

01-03-2010

Budget Movie-Maker

27

Este enfoque puede funcionar, pero implica almacenar muchos datos redundantes, como la dirección de correo electrónico del cliente para cada pedido. El almacenamiento es barato, pero si la dirección de correo cambia, tiene que asegurarse de que actualiza cada fila para ese cliente. Una solución a este problema es dividir los datos en varias tablas y definir relaciones entre esas tablas. Este es el enfoque usado en las bases de datos relacionales como SQL Server. Por ejemplo, una base de datos que importe podría representar los datos de los pedidos usando tres tablas relacionadas:

Customers

[CustomerID]

Name

Email

1

Tercedor

federico.tercedor@contoso.com

2

Alcalá

jorge.alcala@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

0,05

2

0,10

Orders

[CustomerID]

OrderID

OrderDate

Producto

Cantidad

1

256

01-07-2010

Compact Digital

11

1

255

01-03-2010

SLR Camera

15

2

254

01-03-2010

Budget Movie-Maker

27

Relaciones de un modelo de datos, uno que crear explícitamente o una que Excel automáticamente crea en su nombre cuando simultáneamente importar varias tablas. También puede usar el complemento de Power Pivot para crear o administrar el modelo. Para obtener información detallada, vea crear un modelo de datos en Excel .

Si usa el complemento de Power Pivot para importar tablas desde la misma base de datos, Power Pivot puede detectar las relaciones entre las tablas en función de las columnas que están entre [corchetes] y puede reproducirlas en un modelo de datos que crea en segundo plano. Para obtener más información, vea Detección automática e inferencia de las relaciones en este artículo. Si importa las tablas de varios orígenes, puede crear manualmente las relaciones según se describe en Crear una relación entre dos tablas.

Las relaciones se basan en columnas en cada tabla que contienen los mismos datos. Por ejemplo, podría relacionar de una tabla de clientes con una tabla de pedidos si cada contiene una columna que almacena un Identificador de cliente. En el ejemplo, los nombres de columna son iguales, pero esto no es necesario. Uno podría ser CustomerID y otra CustomerNumber, siempre y cuando todas las filas de la tabla pedidos contengan un identificador que también se almacena en la tabla Customers.

En una base de datos relacional, hay varios tipos de claves. Una clave suele ser la columna con propiedades especiales. Comprender la finalidad de cada clave puede ayudarle a administrar un modelo de datos de varias tablas que proporciona los datos a un informe de tabla dinámica, gráfico dinámico o Power View.

Aunque hay muchos tipos de teclas, estos son los más importantes para nuestro propósito aquí:

  • Clave principal: identifica de forma única una fila de una tabla, por ejemplo, CustomerID en la tabla Customers .

  • Clave alternativa (o clave de candidatos): una columna distinta de la clave principal que sea única. Por ejemplo, una tabla empleados podría almacenar un ID de empleado y un número de seguridad social, que son únicos.

  • Clave externa: una columna que hace referencia a una columna única de otra tabla, por ejemplo, CustomerID en la tabla pedidos , que hace referencia a CustomerID en la tabla Customers.

En un modelo de datos, la clave principal o clave alternativa se conoce como la columna relacionada. Si una tabla tiene tanto una clave principal y alternativa, puede usar uno como base de una relación de tabla. La clave externa se conoce como la columna de origen o de la columna simplemente. En nuestro ejemplo, se definirá una relación entre CustomerID en la tabla pedidos (columna) y CustomerID en la tabla compradores (la columna de búsqueda). Si importa los datos desde una base de datos relacional, de forma predeterminada Excel elige la clave externa de una tabla y la clave principal correspondiente de la otra tabla. Sin embargo, puede usar cualquier columna que contenga valores únicos de la columna de búsqueda.

La relación entre un cliente y un pedido es una relación uno a varios. Cada cliente puede tener varios pedidos, pero un pedido no puede tener varios clientes. Otra relación de tabla importante es uno a uno. En nuestro ejemplo, la tabla CustomerDiscounts , que define una tasa de descuento único para cada cliente, tiene una relación uno a uno con la tabla Customers.

Esta tabla muestra las relaciones entre las tres tablas (clientes CustomerDiscountsy pedidos):

Relación

Tipo

Columna de búsqueda

Columna

Clientes-Descuentos de cliente

uno a uno

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

uno a varios

Customers.CustomerID

Orders.CustomerID

Nota:  Las relaciones de varios a varios no se admiten en un modelo de datos. Un ejemplo de relación de varios a varios es una relación directa entre Products y Customers, en la que un cliente puede comprar varios productos y el mismo producto puede ser comprado por varios clientes.

Después de crear una relación, Excel normalmente debe volver a calcular las fórmulas que usan las columnas de tablas en la relación recién creada. Procesamiento puede tardar algún tiempo, según la cantidad de datos y la complejidad de las relaciones. Para obtener más detalles, consulte Recalcular fórmulas.

Un modelo de datos puede tener varias relaciones entre dos tablas. Para crear cálculos exactos, Excel necesita una ruta de una tabla a la siguiente. Por lo tanto, solo una relación entre cada par de tablas está activa en un momento. Aunque las demás están inactivas, puede especificar una relación inactiva en las fórmulas y las consultas.

En la vista de diagrama, la relación activa es una línea sólida y los inactivos son las líneas de guiones. Por ejemplo, de Adventure Works DW 2012, la tabla DimDate contiene una columna, Clavefecha, relacionada con tres columnas distintas de la tabla FactInternetSales: FechaPedido, DueDatey ShipDate. Si la relación activa está entre Clavefecha y FechaPedido, que es la relación de forma predeterminada en las fórmulas a menos que se especifique lo contrario.

Una relación puede crearse cuando se cumplen los requisitos siguientes:

Criterios

Descripción

Identificador único para cada tabla

Cada tabla debe tener una única columna que identifique de forma única cada fila de esa tabla. A menudo se hace referencia a esta columna como la clave principal.

Columnas de búsqueda única

Los valores de datos de la columna de búsqueda deben ser únicos. En otras palabras, la columna no puede contener duplicados. En un modelo de datos, las cadenas NULL y vacías equivalen a un valor en blanco, que es un valor de datos distinto. Esto significa que no puede tener varios valores NULL en la columna de búsqueda.

Tipos de datos compatibles

Los tipos de datos en la columna de origen y una columna de búsqueda deben ser compatibles. Para obtener más información acerca de los tipos de datos, vea tipos de datos admitidos en los modelos de datos.

En un modelo de datos, no se puede crear una relación entre tablas si la clave es una clave compuesta. También está limitado a crear relaciones uno a uno y uno a varios. No se admiten otros tipos de relaciones.

Claves compuestas y columnas de búsqueda

Una clave compuesta se compone de más de una columna. Modelos de datos no pueden usar claves compuestas: una tabla siempre debe tener una columna que identifica inequívocamente cada fila de la tabla. Si importa tablas que tienen una relación existente en función de una clave compuesta, el Asistente para importación de tablas en PowerPivot omitirá esta relación porque no se puede crear en el modelo.

Para crear una relación entre dos tablas que tienen varias columnas definir las claves principales y externas, combinar los valores para crear una sola columna de clave antes de crear la relación. Puede hacer esto antes de importar los datos, o mediante la creación de una columna calculada en el modelo de datos con Power Pivot complemento.

Relaciones varios a varios

Un modelo de datos no puede tener relaciones varios a varios. No basta con agregar tablas de unión en el modelo. Sin embargo, puede usar funciones DAX para relaciones del modelo de muchos a muchos.

Autocombinaciones y bucles

Las autocombinaciones no se permiten en un modelo de datos. Una autocombinación es una relación recursiva entre una tabla y ella misma. Las autocombinaciones se usan a menudo para definir las jerarquías de elementos primarios y secundarios. Por ejemplo, podría unir una tabla de empleados a sí misma para generar una jerarquía que muestre la cadena de dirección en un negocio.

Excel no permite crear bucles entre relaciones en un libro. En otras palabras, se prohíbe el conjunto siguiente de relaciones.

Tabla 1, columna a   a   Tabla 2, columna f

Tabla 2, columna f   a   Tabla 3, columna n

Tabla 3, columna n   a   Table 1, columna a

Si intenta crear una relación que crearía un bucle, se generará un error.

Una de las ventajas de importar los datos mediante el complemento Power Pivot consiste en que Power Pivot puede detectar relaciones y crear relaciones nuevas en el modelo de datos que crea en Excel.

Al importar varias tablas, Power Pivot detecta automáticamente las relaciones existentes entre ellas. Además, al crear una tabla dinámica, Power Pivot analiza los datos de las tablas. Detecta posibles relaciones que no se han definido y sugiere columnas adecuadas para incluirlas en esas relaciones.

El algoritmo de detección usa datos estadísticos de los valores y metadatos de las columnas para deducir la probabilidad de las relaciones.

  • Los tipos de datos de todas las columnas relacionadas deberían ser compatibles. Para la detección automática, solo se admiten los tipos de datos de texto y números enteros. Para obtener más información acerca de los tipos de datos PowerPivot, vea Tipos de datos admitidos enmodelos de datos.

  • Para que la relación se detecte correctamente, el número de claves únicas de la columna de búsqueda debe ser mayor que los valores de la tabla del lado de "varios". Dicho de otro modo, la columna de clave del lado de "varios" de la relación no debe contener ningún valor que no esté en la columna de clave de la tabla de búsqueda. Por ejemplo, suponga que tiene una tabla de productos con sus identificadores (la tabla de búsqueda) y una tabla de ventas con las ventas de cada producto (el lado de "varios" de la relación). Si los registros de ventas contienen el identificador de un producto que no tiene un identificador correspondiente en la tabla de productos, la relación no se puede crear automáticamente, pero quizás pueda crearla de modo manual. Para que Excel detecte la relación, primero debe actualizar la tabla de búsqueda, la tabla de productos, con los identificadores de producto que falten.

  • Asegúrese de que el nombre de la columna de clave en el lado varios es similar al nombre de la columna de clave en la tabla de búsqueda. Los nombres no es necesario ser exactamente igual. Por ejemplo, en un entorno corporativo, a menudo tiene variaciones en los nombres de las columnas que contienen esencialmente los mismos datos: ID de empleado, IdEmpleado, ID de empleado, EMP_IDy así sucesivamente. El algoritmo detecta nombres similares y asigna una probabilidad superior a las columnas que tienen nombres similares o que coincide exactamente. Por lo tanto, para aumentar la probabilidad de crear una relación, puede intentar cambiar el nombre de las columnas de los datos que se importan en algo similar a las columnas de las tablas existentes. Si Excel encuentra varias relaciones posibles, no crea una relación.

Esta información podría ayudar a entender por qué no se detectan todas las relaciones, o cómo los cambios realizados en los metadatos (por ejemplo, el nombre de campo y los tipos de datos) podrían mejorar los resultados de la detección automática de relaciones. Para obtener más información, vea Solucionar problemas de relaciones.

Detección automática de conjuntos con nombre

Las relaciones no se detectan automáticamente entre los campos relacionados y conjuntos con nombre en una tabla dinámica. Puede crear estas relaciones manualmente. Si desea usar la detección automática de relaciones, quite cada conjunto con nombre y agregue directamente los campos individuales del conjunto con nombre a la tabla dinámica.

Inferencia de relaciones

En algunos casos, las relaciones entre las tablas se encadenan automáticamente. Por ejemplo, si crea una relación entre los dos primeros conjuntos de tablas del ejemplo siguiente, se deduce que existe una relación entre las otras dos tablas y se establece una relación automáticamente.

Productos y categorías: creadas manualmente

Categoría y subcategoría: creadas manualmente

Productos y subcategoría: se deduce la relación

Para que las relaciones se encadenen automáticamente, las relaciones deben ir en una dirección, como se mostró antes. Si las relaciones iniciales fueran entre, por ejemplo, ventas y productos, y ventas y clientes, no se deduciría una relación. Esto se debe a que la relación entre los productos y los clientes es una relación de varios a varios.

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×