6 Operaciones sobre la tabla de atributos
Una vez mostrada la selección de registros de la tabla de atributos, en este apartado vamos a realizar varias operaciones de modificación de la misma.
6.1 Capas con solo tabla de atributos

Figura 6.1: Capa de tabla de atributos.
Cada capa tiene su propia tabla de atributos pero también podemos tener capas con solo la tabla de atributos, sin elementos geométricos. Si añadimos una de estas capas a la ventana Capas, no cambia nada en la representación que realiza QGIS.
En la figura 6.1, se muestra la tabla de atributos de la capa con los datos del censo de los municipios de Granada para los últimos años.
Como veremos a continuación, podemos trabajar con estos datos para combinarlos con otras capas, por eso necesitamos añadirlos al conjunto de capas. Para este caso en particular, nos interesará combinar los datos del censo actuales con los almacenados en la capa de municipios, que contiene los datos del censo desde 2014 a 2018 asociados a información geográfica de los municipios.
6.2 Añadir un campo a la tabla de atributos
Se puede modificar la tabla de atributos de cualquier capa. Una de las modificaciones más frecuentes es añadir un campo nuevo definido a partir de otros campos. En este ejemplo, vamos a modificar la tabla de atributos de la capa que solo contiene esa tabla. Todas las tablas de atributos se modifican de la misma forma.

Figura 6.2: Conmutar el modo edición.
Para modificar la tabla de atributos de una capa, en primer lugar debemos pulsar sobre el icono Conmutar el modo edición (figura 6.2), así se activan los iconos de las operaciones de modificación no activos previamente8.

Figura 6.3: Abrir calculadora de campos.
Para añadir un nuevo campo a partir de otros, podemos usar la calculadora de campos. Para ello pulsamos sobre el icono Abrir calculadora de campos de la barra de herramientas de la tabla de atributos (figura 6.3).

Figura 6.4: Calculadora de campos.
Mediante la calculadora de campos, definimos el nombre y tipo del nuevo campo, así como la expresión para obtener sus valores. En la definición de esta función podemos usar funciones de varios tipos y los valores de otros campos (figura 6.4). Por ejemplo, si queremos obtener el código de cada municipio, observamos que corresponde a las 5 primeras posiciones del campo Municipio
9, se pueden obtener mediante la función substr
, disponible en el grupo de funciones Cadena
.

Figura 6.5: Resultado de la definición de un campo calculado.
El resultado obtenido se muestra en la figura 6.5: la tabla incluye una nueva columna con el nombre definido (Código
) y los valores devueltos por la función asociada.
Al añadir un campo a la tabla de atributos en una capa de la ventana Capas el campo se añade físicamente al archivo de la capa, es decir, se modifica el archivo original de la capa.
6.3 Unir tablas de atributos
Para unir dos tablas de atributos, estas deben compartir algún campo con valores en común, los nombres de los campos utilizados para definir la unión no es relevante.

Figura 6.6: Operación de unión en la ventana Layer Properties de una capa.
La operación de unión se define desde el apartado Uniones en la ventana Layer Properties de la capa donde queremos que quede el resultado de la operación (figura 6.6). En este caso, vamos a completar los datos de la capa de municipios con los datos actuales obtenidos de censo. Para definir una nueva unión, pulsamos sobre el botón Añadir unión nueva, como resultado se abre la ventana Añadir unión vectorial.

Figura 6.7: Ventana de definición de la unión.
En la ventana Añadir unión vectorial (figura 6.7), seleccionamos la capa con la que vamos a definir la unión y los campos que comparten valores, en este caso, los campos que contienen los códigos de los municipios.
Los campos de la tabla seleccionada se añadirán a la tabla de la capa. Para evitar repeticiones en los nombres y diferenciarlos, se puede definir un prefijo, por defecto, compuesto por el nombre de la tabla. En este caso, no necesitamos ningún prefijo, por lo que marcamos la opción Prefijo de nombre de campo personalizado y eliminamos el prefijo definido por defecto.

Figura 6.8: Resultado de la unión definida.
Al pulsar sobre el botón Aceptar, la unión queda definida. Podemos modificarla o eliminarla, si fuese necesario. También podemos definir más uniones a partir de la misma tabla (figura 6.8).

Figura 6.9: Organizar las columnas de la tabla de atributos.
El resultado de la unión lo podemos ver abriendo la tabla de atributos: añade las columnas de la tabla seleccionada al final de la tabla, con los valores asociados según los campos considerados para definir la operación. Podemos modificar la operación de unión, por ejemplo, para añadir un prefijo personalizado a las nuevas columnas de la tabla (o eliminarlo, si lo añade por defecto). En caso de no necesitar todos los campos añadidos, o bien, considerar más adecuado otro orden en ellos, podemos pulsar sobre el icono Organize columns de la tabla de atributos (figura 6.9).

Figura 6.10: Ventana de organización de columnas de la tabla de atributos.
Como resultado, se abre la ventana Organizar columnas de la tabla, que permite deseleccionar las columnas que no queramos que se muestren o bien cambiar el orden de presentación de estas. Por ejemplo, aunque el orden no sea relevante, podemos querer tenerlas ordenadas según el año (figura 6.10).

Figura 6.11: Tabla de atributos resultado de la unión.
En la figura 6.11, se muestra la tabla de atributos de la capa de municipios resultado de la unión, después de haber reorganizado las columnas. En ella tenemos los datos del censo actualizados.
Sería de esperar que la tabla de atributos tal y como está definida en la figura 6.11 fuese la tabla de atributos de la capa en todas las operaciones. Como veremos a continuación, en algunas situaciones no es así:
- se distingue entre los atributos propios y los definidos como resultado de la unión y no permite trabajar con ellos,
- no se mantiene el orden definido en la reorganización de los atributos.
6.4 Consultas sobre la tabla de atributos
Supongamos que queremos seleccionar los municipios cuya población haya aumentado durante el último año. Podemos definir consultas de filtrado de filas sobre la tabla de atributos de una capa mediante el Constructor de consultas.

Figura 6.12: Acceso al Constructor de consultas.
Para definir una consulta sobre una capa, abrimos la ventana Layer Properties de la capa y, en el apartado Fuente, en la esquina inferior derecha, pulsamos sobre el botón Constructor de consultas (figura 6.12).

Figura 6.13: Ventana del Constructor de consultas.
En la ventana del Constructor de consultas (figura 6.13), podemos ver que, en el apartado Campos, solo aparecen los campos originales de la tabla de atributos, no aparecen los campos obtenidos mediante la unión con la tabla de datos actuales del censo.
Una posibilidad para definir la consulta deseada (municipios cuya población haya aumentado durante el último año) es añadir un campo Incremento
a la tabla de atributos, definido como la diferencia de población entre los dos últimos años, y definir la consulta sobre él.

Figura 6.14: Ventana del Constructor de consultas con un nuevo campo añadido.
Una vez realizada esta operación, ahora podemos ver en la ventana del Constructor de consultas (figura 6.14) que aparece el nuevo campo Incremento
añadido. Aunque está definido a partir campos de la tabla obtenidos mediante la operación de unión, este campo se añade a la tabla y es accesible desde el Constructor de consultas.
Podemos consultar los valores de un campo seleccionándolo en la ventana Campos y pulsando sobre los botones Muestra o Todos. Pulsando doble-clic sobre un campo, se añade a la ventana Provider Specific Filter Expression para definir la expresión de filtro. Completamos la expresión pulsando sobre los botones de los operadores y/o sobre los valores de la ventana Valores o tecleando los operadores y valores necesarios.
Si pulsamos sobre el botón Probar, nos muestra en una ventana el número de filas que cumplen la condición, resultado de la consulta.

Figura 6.15: Resultado del Constructor de consultas.
En la figura 6.15, se muestra el resultado de la definición de la consulta: en la ventana Filtro de objeto del proveedor se muestra el filtro definido.

Figura 6.16: Resultado del Constructor de consultas en la ventana Capas.
Una vez aceptamos las modificaciones y cerramos esta ventana, en la ventana Capas, a la derecha del nombre de la capa, se muestra el símbolo de un filtro y, al situar el ratón sobre él, se muestra la definición del filtro (figura 6.16).
Si abrimos la tabla de atributos de la capa, podemos comprobar que solo contiene las filas que cumplen la condición definida.
6.5 Guardar una capa

Figura 6.17: Guardar una capa en un archivo.
Para guardar una capa en un archivo, seleccionamos la capa y pulsamos sobre la opción Capa > Guardar como… (figura 6.17).

Figura 6.18: Datos para guardar una capa en un archivo.
En la ventana que se abre (figura 6.18), en el campo Formato, seleccionamos el formato de la nueva capa; en el campo Nombre de archivo, seleccionamos la ubicación y definimos el nombre del archivo; podemos cambiar el CRS de la capa en el campo SRC, en este caso se recalculan las coordenadas de acuerdo con el CRS seleccionado; en el campo Codificación podemos definir la codificación de los datos almacenados; asimismo, podemos seleccionar los campos que queremos almacenar10. Si seleccionamos la opción Añadir archivo guardado al mapa, la nueva capa se añade automáticamente a la ventana Capas.
Aspectos importantes a tener en cuenta al guardar una capa son los siguientes:
Esta es la manera de obtener una capa con un CRS distinto del original recalculando las coordenadas (si se cambia en las propiedades de la capa, se asigna el nuevo CRS a las coordenadas almacenadas).
Solo se almacenarán los registros seleccionados en ese momento. Es decir, si mediante la definición de un filtro hemos realizado una selección de registros de la tabla de atributos, la nueva capa guardada solo incluirá esos registros.
La tabla de atributos de la nueva capa incluirá todas las columnas de la tabla actual, también las procedentes de la operación de unión con otras tablas, aunque en la organización de columnas las hayamos definido como no visibles, sin tener en cuenta tampoco el orden definido.
En este caso, nos puede interesar guardar una nueva versión de la capa original que contenga todos los campos y todas las filas, y otra versión que contenga solo las filas filtradas. Es decir, deberíamos eliminar el filtro definido. Para no tener que deshacer y repetir el trabajo ya realizado, podemos usar la operación Capa > Duplicar capa(s) (también disponible en el menú contextual de la capa), para añadir una copia de la capa a la ventana Capas. Podemos modificar una de las copias de la capa eliminando el filtro definido (abriendo el Constructor de consultas de la capa y pulsando sobre el botón Limpiar) y guardar cada una de las capas así obtenidas en un archivo.
Algunas operaciones conmutan el modo edición automáticamente.↩︎
El resultado será válido para cada municipio, aunque no para la provincia que tiene dos posiciones, cuyos datos no necesitamos.↩︎
Por ejemplo, en este caso sí se guardan los campos procedentes de la operación de unión, pero no se ha tenido en cuenta la selección de campos que hicimos ni la reordenación de estos.↩︎