I'm having issues with a visual and am stumped. Have spent way more time than I probably should have trying to figure it out. I'm attempting to do a RegexReplace on a very long parameter string to only show a short Name Capture.
The Regex works reliably, however have tried a number of different ways to get this to display properly in a visual.
If I just do a Source: * it displays the entire string from the parameter as expected. In the text of the Shape, I have tried the following:
SOURCE: [regexreplace:^.*\[{"Id":"SOURCE","Name":"Service Source","Value":"(?<SOURCE>[^"]+).*$,*,${SOURCE}]]
SOURCE: [regexreplace:^.*\[{"Id":"SOURCE","Name":"Service Source","Value":"(?<SOURCE>[^"]+).*$,<A>-A|*|Parameter:1007,[tableindex],${SOURCE}]]
SOURCE: [regexreplace:^.*\[{"Id":"SOURCE","Name":"Service Source","Value":"(?<SOURCE>[^"]+).*$,[param:<element>,1007,[tableindex]],${SOURCE}]]
I've also tried doing just Source: * in the shape text, and doing the above iterations and a number of others in the Parameter Shape Data following a 1007:
Any pointers would be greatly appreciated.
Was able to get this resolved with the assistance of Gelber Mahecha from Skyline.
Shape Data must include ForcePropertyFromParent in the Options.
Regex ended up having to be broken apart into 4 Groups, in addition to using a [Sep:,#], and Use the RegexReplace as a placeholder in the shape's text instead of a link with a Parameter shape data
(.*) - First group to handle the part of the string prior to the identifying part of the string.
("Id":"SOURCE","Name":"Service Source","Value":") - Second group to handle the identifying part of the string, used to single out which "Value":" we want to pull our capture from.
(?<CAPTURE>[^"]+) Third group to Capture the value up to the next "
(.*) Fourth group to handle the remainder of the string.
Then using # as our previously configured sep
[param:[this element],1007,[tableindex]] is used to set which parameter to run the RegexReplace on
Then using # as our previously configured sep
Finally ${CAPTURE}] is used to display only the CAPTURE (Third Group) as what to display.
[RegexReplace:[Sep:,#](.*)("Id":"SOURCE","Name":"Service Source","Value":")(?<CAPTURE>[^"]+)(.*)#.#${CAPTURE}]
Thank you to Robin and Sebastiaan for the input and helping getting me pointed in the right direction.