2 votos

La expresión en la leyenda del compositor de impresión de QGIS sigue volviendo a la expresión en lugar del resultado.

Tengo una serie de expresiones en mi leyenda del tipo siguiente para mostrar proporciones de un total y etiquetarlas como porcentaje de ese total, p. ej:

siglo XIX ([%round(agregado(capa:='Vivienda_Otros',agregado:='recuento', expresión:="Cons_Yr", filtro:=("Localidad" IN ('Archies Creek') AND "Cons_Yr" >= 1801 AND "Cons_Yr" <= 1900))/agregado(capa: ='Vivienda_Otros',aggregate:='count', expression:="Cons_Yr", filter:=("Localidad" IN ('Archies Creek') AND "Cons_Yr" >= 1801))*100)%]%)

Estos resultados y etiquetas se muestran correctamente en la leyenda:

enter image description here

hasta que se hace clic en otro elemento o se abre otro elemento de la leyenda, momento en el que vuelven a mostrar la propia expresión: enter image description here

Si vuelvo a un elemento de leyenda y retrocedo uno o dos caracteres, éste y todos los demás elementos de leyenda vuelven a mostrar el resultado. ¿Hay alguna forma de evitar que esto ocurra?

1voto

Mihai Todor Puntos 73

Creo que podría ser debido a la ( seguido de [ . También hay un segundo % al final de tu fórmula. La expresión debe ir rodeada de [% y %] .

Primero borre el último % .

A continuación, elimine el paréntesis alrededor de su expresión y añada el paréntesis en la fórmula de la expresión. Puede utilizar la fórmula siguiente como ejemplo :

19th century 
[% '(' || 
(
   round(aggregate(layer:='Dwelling_Other',aggregate:='count', expression:="Cons_Yr", filter:=("Locality" IN ('Archies Creek') AND "Cons_Yr" >= 1801 AND "Cons_Yr" <= 1900))
   /
   aggregate(layer:='Dwelling_Other',aggregate:='count', expression:="Cons_Yr", filter:=("Locality" IN ('Archies Creek') AND "Cons_Yr" >= 1801))*100)
) 
|| ')'%] 

_NB : El || funcionará sólo si su número tiene parentesis alrededor o si se convierte a texto con to_string()_

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X