The first thing you need to understand is that despite the similarity between how they look, FME is not ModelBuilder. In FME, you don't select features they way you do in ArcGIS. The way to achieve what you want is by using a Tester to filter out the features you want to update. Then follow that with an ExpressionEvaluator transformer.
In the tester, you can set the expression that you want to test. In this case, I tested for when the PROPERTY_A field had a space for a value.
Note, in the operator drop down, you can test for other types of empty strings or null strings, etc.
In the ExpressionEvaluator, you can set the value for the attribute that passed the test. In this case, I set it to the value of the PROPERTY_N field.
I noticed that you have a FeatureWriter transformer which means you're using FME 2016. You can do all of the above in one transformer which is available in 2016, the AttributeManager. That is, replace the tester and expression evaluator with just the single AttributeManager.
Notice how I have "two possible values" for PROPERTY_A? In the drop down, there is an option for Conditional Value:
You'll be presented with an If/Else window for the condition statement. Click the If field.
This looks identical to the Tester transformer! Use the same test that you used before but this time, at the bottom, set your output value to PROPERTY_N.
Your final condition statement will look something like this:
So, what this will do is test if the PROPERTY_A field has a space for a value and set it to PROPERTY_N. Otherwise, it'll leave it as it was (Do Nothing).
Hope this helps.
First possibility: use concat and replace double commas where you have empty entries:
replace( concat (field_a,', ',field_b,', ',field_c), ', ,', ',')
Second possibility: use arrays to concatenate, they concatenate NULL
values as empty strings that you can then remove. Use one of this expressions:
replace( array_to_string (array (field_a,field_b,field_c)),',,',',')
Or, alternatively:
array_to_string (array_remove_all (array (field_a,field_b,field_c),''))
Best Answer
My recommendation is to build your string as you are, then go back and replace any multiple spaces with a single space.
Do that by using StringReplacer with:
The logic to coalesce and concatenate in the same step gets convoluted.