Las relaciones se utilizan para unir atributos de dos o más datasets basándose en campos o ubicaciones comunes. El campo común identifica las filas de cada dataset que se unirán entre sí, y el tipo de relación determina las filas que se conservan en el dataset unido.
Las relaciones se pueden utilizar para agregar atributos desde una tabla de búsqueda a otro dataset; para combinar atributos de dos datasets y permitir así diversos tipos de análisis; y para habilitar la ubicación en tablas no espaciales. El dataset unido se muestra como un dataset de resultados en el panel de datos y permite expandir su análisis utilizando los datos de todos los datasets unidos como una sola capa.
Las relaciones se pueden crear como parte del análisis o como parte de un flujo de trabajo de ingeniería de datos.
Ejemplo
Un rastreador de contacto de un servicio de salud público está investigando el brote de una enfermedad infecciosa. El rastreador de contactos tiene acceso a una tabla de búsqueda con datos de casos (incluido el resultado de las pruebas) y un dataset con las actividades y ubicaciones en las que se realizaron los contactos antes de las pruebas. Los dos datasets se unen para que los datos del caso se agreguen a los datos de ubicación. Con el dataset unido, el rastreador de contactos puede crear una tabla de referencia que muestre el caso, la actividad, la fecha de actividad y el resultado de las pruebas, así como un mapa de árbol que presente el resultado de las pruebas y el número de actividades de cada caso.
Consulte la lección Rastrear la propagación del virus con ArcGIS Insights para ver el flujo de trabajo completo.
Crear una relación en un flujo de trabajo de análisis
Las relaciones creadas en un flujo de trabajo de análisis solo existen en el libro de trabajo donde se creó la unión. Si desea que el dataset de resultados esté fuera del libro de trabajo, puede crear una capa de entidades nuevacompartiendo el dataset o usandoingeniería de datos.
Realice estos pasos para crear una relación en un flujo de trabajo de análisis:
- Abra un libro de trabajo y agregue dos o más datasets, si es necesario.
- Haga clic en el botón Crear relaciones que se encuentra sobre el panel de datos.
Aparece la ventana Crear relaciones y muestra una lista de datasets para su página actual.
- Seleccione el primer dataset que desee unir.
Cuando selecciona el primer dataset, la vista se actualiza para mostrar solamente aquellos datasets que son elegibles para una relación.
- Seleccione el segundo dataset que desee unir.
Insights analiza los datasets que ha agregado y sugiere campos para usarlos en la unión, si es posible. Los campos sugeridos se basan en el tipo de datos que contiene el campo y el nombre del campo.
- Haga clic en el botón Editar relación para cambiar las siguientes propiedades de relación:
Nota:
Si no se eligen campos sugeridos, el cuadro de diálogo se abre automáticamente.
- Para cambiar los campos de la unión, haga clic en las flechas de los cuadros correspondientes al parámetro Elegir campos y elija un nuevo campo.
- Para agregar campos (por ejemplo, cuando el dataset utiliza una clave compuesta), haga clic en el botón Agregar campos y elija los nuevos campos en el menú.
- Para cambiar el tipo de unión, seleccione Interna (predeterminado), Completo,Izquierda o Derecha en el parámetro Elegir tipo de relación.
- Cierre la ventana Editar relación.
- Repita los pasos del 4 al 6 para agregar datasets adicionales, si es necesario.
- Haga clic en Finalizar para crear la relación.
El nuevo dataset unido se agrega al panel de datos.
Crear una relación con la ingeniería de datos
Nota:
La ingeniería de datos está disponible en Insights desktop. Todos los usuarios de Insights in ArcGIS Online y Insights in ArcGIS Enterprise tienen acceso a Insights desktop. Para obtener más información, consulte Descripción general de ArcGIS Insights.
La ingeniería de datos está actualmente en Vista previa.
La herramienta Crear relaciones se puede agregar a un modelo de datos y utilizarse para unir dos o más datasets para crear un único dataset de salida.
Siga estos pasos para crear una relación en un flujo de trabajo de ingeniería de datos:
- Abra un libro de trabajo de datos en Insights desktop y agregue datos, si es necesario.
- En la barra de herramientas del libro de trabajo de datos, haga clic en el botón Crear relaciones.
Aparece la ventana Crear relaciones.
- En la barra de herramientas lateral, haga clic en el botón Panel de datos para abrir el panel de datos, si es necesario.
- En el panel de datos, seleccione el primer dataset que desee unir.
- Seleccione el segundo dataset que desee unir.
Insights analiza los datasets que ha agregado y sugiere columnas para usarlas en la unión, si es posible. Las columnas sugeridas se basan en el tipo de datos que contiene la columna y el nombre de la columna.
- Haga clic en el botón Editar relación para cambiar las siguientes propiedades de relación:
Nota:
Si no se eligen columnas sugeridas, el cuadro de diálogo se abre automáticamente.
- Para cambiar las columnas de la unión, haga clic en las flechas de los cuadros correspondientes al parámetro Elegir columnas y elija una nueva columna.
- Para agregar columnas (por ejemplo, cuando el dataset utiliza una clave compuesta), haga clic en el botón Agregar columnas y elija las nuevas columnas en el menú.
- Para cambiar el tipo de unión, seleccione Interna (predeterminado), Completo,Izquierda o Derecha en el parámetro Elegir tipo de relación.
- Cierre la ventana Editar relación.
- Repita los pasos del 5 al 7 para agregar datasets adicionales, si es necesario.
- Opcional: haga clic en Vista previa para crear una vista del dataset de resultados en función de los parámetros de unión actuales.
- Haga clic en Finalizar para crear la relación.
El nuevo dataset unido se agrega al panel de datos y aparece la tabla. La herramienta se agrega al modelo de datos.
Datos compatibles
Puede usar los siguientes tipos de datos para crear relaciones:
- Capas de entidades
- Archivos agregados a su libro de trabajo
- Datasets de una conexión de base de datos (disponibles en Insights in ArcGIS Enterprise e Insights desktop)
- Datasets de resultados del análisis espacial, incluidos los resultados de tipos de datos no compatibles
Al crear relaciones no se admiten consultas de definición en los servicios de entidades. Los datos de su libro de trabajo que no se admitan en las relaciones estarán deshabilitados en la ventana Crear relaciones.
Nota:
Las relaciones no se admiten en flujos de trabajo de análisis para las siguientes fuentes de datos:
- Capas de entidades remotas, como capas de ArcGIS Living Atlas.
- Tablas de base de datos que no proceden de la misma base de datos y de la misma instancia.
- Datasets de data stores diferentes.
Si sus datasets no son compatibles para la unión en un flujo de trabajo de análisis, puede copiar los datasets a su libro de trabajo y utilizar los datasets copiados para crear la relación. Alternativamente, puede unir datasets de diferentes bases de datos o data stores utilizando la ingeniería de datos.
Tipos de relación
El tipo de relación que utilice, junto con el campo común que elija, determina los registros que conserva en el dataset unido. Los tipos de relaciones admitidos en Insights son Interna,Completo,Izquierda y Derecha.
Nota:
Se crean uniones espaciales (uniones con campos de ubicación) utilizando Interseca como relación espacial. Sin embargo, puede seleccionar Interna, Toda, Izquierda o Derecha como el tipo de relación.
Las siguientes subsecciones proporcionan los resultados de unir dos tablas utilizando un campo común para cada tipo de relación.
La primera tabla (pedidos) rastrea las transacciones de diferentes sucursales. La tabla incluye un Id. único para cada transacción, el Id. de sucursal donde se realizó la transacción, el coste de la transacción en dólares y el método de pago.
Órdenes
Id. de pedido | Id. de sucursal | Cantidad total ($) | Método de pago |
---|---|---|---|
1204 | 1 | 91,48 | Crédito |
1295 | 1 | 103,86 | Crédito |
1316 | 3 | 97,81 | Débito |
1406 | 2 | 103,24 | Crédito |
1421 | 2 | 44,95 | Efectivo |
1426 | 2 | 153,71 | Débito |
1454 | 3 | 168,95 | Crédito |
1533 | 7 | 32,99 | Efectivo |
La segunda tabla (sucursales) es una tabla de búsqueda que contiene los números de Id. de sucursal y las ubicaciones de las sucursales.
Sucursales
Id. de sucursal | Ubicación de sucursal |
---|---|
1 | Redlands |
2 | Portland |
3 | Washington, DC |
4 | Arlington |
5 | Charlotte |
6 | Denver |
El campo Id. de sucursal se comparte entre las dos tablas y se utiliza para crear la unión. En cada ejemplo, la tabla Pedidos está en el lado izquierdo de la unión.
Interior
Con Interna solo se conservan los registros que coinciden en ambos datasets. No se agregan registros nulos.
Interna es el tipo de relación predeterminado.
En la siguiente tabla se muestra el resultado de una unión con un tipo de relación Interna entre las tablas Pedidos y Sucursales:
Id. de pedido | Id. de sucursal | Cantidad total ($) | Método de pago | Ubicación de sucursal |
---|---|---|---|---|
1204 | 1 | 91,48 | Crédito | Redlands |
1295 | 1 | 103,86 | Crédito | Redlands |
1316 | 3 | 97,81 | Débito | Washington, DC |
1406 | 2 | 103,24 | Crédito | Portland |
1421 | 2 | 44,95 | Efectivo | Portland |
1426 | 2 | 153,71 | Débito | Portland |
1454 | 3 | 168,95 | Crédito | Washington, DC |
Los registros excluidos son registros correspondientes al Id. de sucursal 7 de la tabla Pedidos y a los Id. de sucursal 4, 5 y 6 de la tabla Sucursales porque esos registros no existían en ambas tablas.
Completo
El tipo de relación Completo (unión externa completa) mantiene todos los registros de ambos datasets y agrega valores nulos donde no existe ninguna coincidencia.
En la siguiente tabla se muestra el resultado de una unión con un tipo de relación Completo entre las tablas Pedidos y Sucursales:
Id. de pedido | Id. de sucursal | Cantidad total ($) | Método de pago | Ubicación de sucursal |
---|---|---|---|---|
<Null> | 4 | <Null> | Arlington | |
<Null> | 5 | <Null> | Charlotte | |
<Null> | 6 | <Null> | Denver | |
1204 | 1 | 91,48 | Crédito | Redlands |
1295 | 1 | 103,86 | Crédito | Redlands |
1316 | 3 | 97,81 | Débito | Washington, DC |
1406 | 2 | 103,24 | Crédito | Portland |
1421 | 2 | 44,95 | Efectivo | Portland |
1426 | 2 | 153,71 | Débito | Portland |
1454 | 3 | 168,95 | Crédito | Washington, DC |
1533 | 7 | 32,99 | Efectivo | <Null> |
El dataset resultante contiene valores nulos para los Id. de sucursal 4, 5, 6 y 7 porque esos Id. de sucursal no están presentes en ambos datasets.
Izquierda
El tipo de relación Izquierda (unión externa izquierda) mantiene todos los registros de la tabla izquierda y registros coincidentes de la tabla derecha. Si no existen valores coincidentes en la tabla derecha, se utilizan valores nulos.
Al utilizar el tipo de relación Izquierda, debe asegurarse de que la tabla de la que desea conservar todos los registros esté en el lado izquierdo de la unión seleccionando primero esa tabla.
En la siguiente tabla se muestra el resultado de una unión con el tipo de relación Izquierda entre las tablas Pedidos y Sucursales:
Id. de pedido | Id. de sucursal | Cantidad total ($) | Método de pago | Ubicación de sucursal |
---|---|---|---|---|
1204 | 1 | 91,48 | Crédito | Redlands |
1295 | 1 | 103,86 | Crédito | Redlands |
1316 | 3 | 97,81 | Débito | Washington, DC |
1406 | 2 | 103,24 | Crédito | Portland |
1421 | 2 | 44,95 | Efectivo | Portland |
1426 | 2 | 153,71 | Débito | Portland |
1454 | 3 | 168,95 | Crédito | Washington, DC |
1533 | 7 | 32,99 | Efectivo | <Null> |
El dataset resultante contiene un valor nulo para el Id. de sucursal 7 porque ese Id. de sucursal no está presente en el dataset Sucursales.
Derecha
El tipo de relación Derecha (unión externa derecha) mantiene todos los registros de la tabla derecha y registros coincidentes de la tabla izquierda. Si no existen valores coincidentes en la tabla izquierda, se utilizan valores nulos.
Al utilizar el tipo de relación Derecha, debe asegurarse de que la tabla de la que desea conservar todos los registros esté en el lado derecho de la unión seleccionando la segunda tabla.
En la siguiente tabla se muestra el resultado de una unión con un tipo de relación Derecha entre las tablas Pedidos y Sucursales:
Id. de pedido | Cantidad total ($) | Método de pago | Id. de sucursal | Ubicación de sucursal |
---|---|---|---|---|
<Null> | <Null> | 4 | Arlington | |
<Null> | <Null> | 5 | Charlotte | |
<Null> | <Null> | 6 | Denver | |
1204 | 91,48 | Crédito | 1 | Redlands |
1295 | 103,86 | Crédito | 1 | Redlands |
1316 | 97,81 | Débito | 3 | Washington, DC |
1406 | 103,24 | Crédito | 2 | Portland |
1421 | 44,95 | Efectivo | 2 | Portland |
1426 | 153,71 | Débito | 2 | Portland |
1454 | 168,95 | Crédito | 3 | Washington, DC |
El dataset resultante contiene un valor nulo para los Id. de sucursal 4, 5 y 6 porque esos Id. de sucursal no están presentes en el dataset Pedidos.
Limitaciones
Se pueden especificar hasta seis pares de campos para uniones de atributos. En el caso de las uniones espaciales, puede especificar un par de campos de ubicación y ningún campo adicional.
Prácticas recomendadas
Se recomienda colocar el dataset más detallado en el lado izquierdo de la unión. En el ejemplo de tipo de relación, la tabla Pedidos está a la izquierda.
Utilice varios campos para crear uniones cuando uno único campo no sea único. Por ejemplo, si va a unir City Name con CityName, debería especificar también el condado, el estado y el país, porque los valores de City Name están duplicados en el dataset.
Tenga en cuenta la cardinalidad (de uno a uno, de uno a muchos o de muchos a muchos) de una unión al decidir qué visualizaciones crear con el dataset unido. La cardinalidad no afecta al tipo de relación (Interna, Completo, Izquierda o Derecha), pero sí tiene implicaciones a la hora de agregar campos en el dataset unido o de mostrar los campos en el mapa. Por ejemplo, si los datasets unidos tienen una relación de uno a muchos o de muchos a muchos, las visualizaciones que agregan los datos, como los gráficos de barras, pueden presentar estadísticas artificialmente altas.