Usando QGIS 3.6.1 tengo una capa con áreas y una tabla con entradas relacionadas con las áreas:
Una relación se define así:
Lo que me gustaría conseguir es etiquetar las áreas con el número de entradas de la tabla relacionadas utilizando relation_aggregate
como se muestra aquí:
relation_aggregate ('my_relation', 'count', 'text') || ' Table entries'
Como puede verse en la captura de pantalla (vista previa de la salida), la expresión de la etiqueta ofrece un resultado válido como se esperaba (por ejemplo, "4 entradas de tabla"), pero las etiquetas no se muestran en el mapa:
Otra cosa que probé usando el aggregate
es la siguiente:
with_variable('my_id', "id", aggregate('table', 'count', 'id', "flaeche_id" = @my_id)) || ' Table Entries'
Lo que da un resultado totalmente extraño dependiendo de la zona que se muestre en la extensión del mapa actual, es decir
1) Ambas áreas etiquetadas con "4 entradas de tabla", pero la inferior sólo tiene una entrada en la tabla relacionada (véase el cuadro anterior):
2) Si el mapa se extiende sólo hasta la zona más meridional, la etiqueta muestra correctamente "1 entradas de la tabla":
Así que en general con mi primer enfoque tengo no etiquetas y con el segundo enfoque tengo equivocada etiquetas.
Creo que estoy un poco atascado con el aggregate...
en QGIS 3, ¿las estoy utilizando de forma incorrecta o hay otros enfoques para el etiquetado que quiero conseguir?
0 votos
¿probó eval(relation_aggregate ('my_relation', 'count', 'text') || ' Table entries')?
0 votos
Acabo de hacerlo, el mismo resultado tampoco. no hay etiquetas.