When using string builder attributes to dynamically generate specific values, additional attributes need to be created whenever concatenation of multiple attribute values is part the the logic.
For example when using a string builder to generate a tag name to be used in a parent attribute. If the tagname attribute uses any string builder function, other concatenated attributes that should be part of the arguments referenced as a single attribute which means an attribute is needed to perform the concatenation part.
For example consider the following parent attribute (PI Point DR) with the children attributes used to build the tag name.
Current_Phase: (PI Point DR attribute)
tagname: String builder -> Replace(Replace('.tagfound',"False", "Not Applicable"),'.|tagbuilder');
tagbuilder: String builder attribute only needed to perform a concat -> '|tagprefix';".";'tagEnding';
tagEnding: Table Lookup attribute
tagfound: String builder: Replace(....)
The tagbuilder attribute is only necessary because the concat() function for string builder does not exist, it it did then it could be nested in the parent tagname attribute.