Hi @Ulrike Pick Conditional Splits in ADF can produce unexpected results when multiple output paths converge on a single sink.
Conditional Split Is Top-Down: ADF processes Conditional Split rules in order, from top to bottom. As soon as a row matches a condition, it gets routed to that stream and is not evaluated against the rest. So, if two of your conditions point to the same sink and one is broader or comes first, it could be intercepting rows meant for the other.
Troubleshooting Steps
- Review Condition Order Carefully: Even small overlaps can cause a higher condition to intercept rows meant for a lower one. Try moving more specific or narrow rules to the top of the list.
- Use Debug Mode + Data Preview: Enable debug mode and preview the data output from each branch of the split. This gives you visibility into where rows are actually going — or not going.
- Add a “Catch-All” Rule: Add a final condition with just
true
as the rule. This captures anything that didn’t match the others and helps identify whether rows are falling through entirely. - Check Data Types and Comparisons: String comparisons may fail due to whitespace, casing, or implicit type mismatches (e.g. string vs. int). Watch out for those subtle issues — they’re easy to overlook.
- When Multiple Conditions Should Share a Sink: Instead of sending both directly to the same sink, route them to separate outputs first, then use a Union transformation to merge them before the sink. This gives you clearer diagnostics and better control.
Hope this helps. If this answers your query, do click Accept Answer
and Yes
for was this answer helpful. And, if you have any further query do let us know.