28 Jan 2020 11:13 AM
I have a request attribute which returns me a value as a long string.
For example :
xxxxxx|PRTL4797897|RHMP8453|442275|6610.00|HMP|428094|03|INR|VDDIRECT|05-NA|NA|00000000.00|24-01-2020 16:36:12|0300|NA|3308031910026362|NA|NA|NA|NA|NA|PAYMODE|NA|PGS10001-Success|1175508963
I only want extract the value which is bold and underlined(6610.00), which indicated the amount paid by end users to customer and finally want to do sum of all the extracted values to show the final premium received by customer in a dashboard in a day. Can anyone help with regex which I can apply here, Further restrict or process captured parameters section of request attribute. The settings of request attribute is attached here which returns me a text data as a return value of some java method.
Solved! Go to Solution.
28 Jan 2020 02:29 PM
Hi Chandni,
you can set this up in the "Further restrict or process captured parameters (optional)" section of the request attribute:
Hope this helps!
Thomas
29 Jan 2020 06:46 AM
And here is some quick and dirty regex you could try.
(\d+?\.\d+?)\|HMP\|
br,
Janne
28 Jan 2020 07:32 PM
Hi Chandni,
I spent some time looking through this and it is quite difficult to only obtain the single value you are looking for without being able to use quantifiers inside of a groups.
Basically I was able to split the string into multiple values using step 2 of the process, but was not able to get it down to the single value. Here it retrieves two separate values. One containing your desired output and another that I cannot find out how to get rid of.
Since I do not know much about the data I am unsure if the |HMP value may change depending on the query. If not you could use:
Hope this at least helps you get started.
Thanks
-Dallas
29 Jan 2020 08:00 AM
Hi,
one more thing - from the data, my assumption is, that this is Bloomberg Format. Be aware that Bloomberg usually sends a header first, that explains what fields are sent (between START-OF-FIELDS and END-OF-FIELDS - see https://docs.informatica.com/data-integration/b2b-data-transformation/10-0/libraries-guide/descripti... )
If you know that the application is always requesting the same set of fields, you can of course just use a regex to select the n-th value, in your case:
[^\|]++\|[^\|]++\|[^\|]++\|[^\|]++\|[^\|]++\|([^\|]++\|)
(I couldn't find a quick simpler solution, as Dynatrace doesn't allow for quantified groups)
Thomas