New answers tagged


I think you need a CASE statement, which will allow you to have different conditions. Something like: CASE WHEN Veg_codon <> '' AND Veg_ondeg <> '' THEN Veg_dom + Veg_codom + '('+Veg_onderg+')' WHEN Veg_codon <> '' AND Veg_ondeg = '' THEN Veg_dom + Veg_codom + '(some default value)' WHEN Veg_codon = '' AND Veg_ondeg <> '' ...


substr("location",16,(length("location")-1)) or substr(substr("location",17,14),1,6) that will return "W48535"


The filter expression requests a true/false output. The function array_distinct() gives you an array with distinct values as an output, plus you need to use array_agg first, as @etrimaille pointed out. To get a true/false you can try something like: "id" = array_first( array_agg( "id", group_by:= "cab_no.")) For id you have to ...


You must use array_agg: array_distinct(array_agg( "cab_no" )) This will return an array with distinct values found in your layer with the field cab_no.


You have to aggregate the values of the other column first. For example like this: array_contains( array_agg( "CountyFACILITYID" ), "Name" )


What about just "Name" = "CountyFacilityID"


Great thing about data defined override is that you may not only use a column, but also any valid expression producing valid values for the thing you like to override (this is either or, if you add an expression, you needn't add a column, and vice versa). Simply click the override button, go to edit and enter the following: CASE WHEN "override column&...


Yes, you can do this is Pro. Right click the layer you want to add an expression to and choose 'Configure Popup'. There is an expression button down the bottom.


This can be achieved using an agregate function. In this case the expression is: aggregate( layer:= 'land_use', aggregate:='concatenate', expression:= land_use, concatenator:=' ', filter:=intersects($geometry, @atlas_geometry) ) Two notes on this. (1) Most of the credit goes to Ujaval Gandhi thanks to this blog entry. (2) I find it a bit counter-...


If you're working with "font markers" for your text, set the following for data defined override of the rotation: if(line_interpolate_angle($geometry,0)>180,180,0) This checks, whether the line is "flipped" and if it is, tells the symbology to rotate the text by 180 degrees, otherwise it stays, as it is. I did some additional testing, ...

Top 50 recent answers are included