hi, i need to group only some records of an excel input file, and only if some conditions are met.
i've tried using the group by and "if" functions but with no luck, please see below for an example, any suggestion would be very well accepted. thankx in advance.
That's a really nice challenge Yes, FlowHeater can handle it, but it’s a bit tricky. I have made an example to demonstrate this. Please have a look to the attachment "grouping_and_summing_with_condition.zip"
In the example I'm used the
for READ (import.csv) and WRITE (output.csv). You can it simple to port to use it with the
. The TextFile Adapter is just a bit faster.
How it's works:
First the If-Then-Else Heater checks the field "type" with the criteria "in". If the value match (=in) the string append heater appended the fields “code” and "type" and pass it to the GroupBy Heater. If the criteria don’t match the AutoID Heater generates a new number (+1) and passes it to the GroupBy Heater. The GroupBy Heater only grouping rows together if the same consecutive equally value are passed! In the else case there are never the same value because the AutoID Heater, that’s the trick. The Additions Heater just summing the incoming values by the group.
Attachment grouping_and_summing_with_condition.zip not found
Did this answer your question? We would be grateful if you provide a brief comment as feedback. It may also help others who may have encountered a similar problem.
Please find attached the converted example, this works now with the current version 22.214.171.124. In the ZIP archive you´ll find also a short example how to split just the first three words of a string. For this you need three
String Split Heater
String Append Heater
to append the first three words to one string again.