Wir haben uns das jetzt genauer angesehen. Leider ist das so eine Grenzfall zwischen Bug und Feature.
Lösung ganz am Ende - etwas mehr Hintergrund davor :)
Zum Hintergrund:
Aktuell macht der "passThrough"-Modus folgendes:
- die durchgereichten Spalten sind führend
- gemappte Spalten (also die, die man im Mapper sieht und Funktionen einfügt) werden quasi über die durchgereichten Spalten drübergelegt. Dadurch erscheinen die Spalten im Output so wie in der durchgereichten Quelle, aber Spalten aus dem Mapping überschreiben quasi die entsprechenden Quellspalten.
- Neue Spalten (das sind Spalten, die nicht in den durchgereichten Quellspalten vorkommen) z.B. umbenannte oder Hilfsspalten wie deine Counter-Spalte werden ans Ende ganz nach rechts gepackt. (und das ist der Fehler in den du läufst!!!)
D.h. die gemappten Spalten, tauchen an der gleichen Stelle auf, wie die entsprechende gleichbenannte und durchgeschliffene Quellspalte. Die Reihenfolge der Spalten im Mapping ist nahezu irrelevant.
Evtl. wäre dieser Modus mit "passThrough-Overlay" ggf. besser benannt.
Dadurch dass die neuen Spalten rechts aber ans Ende gepackt werden, schlägt der Zugriff auf die Ergebnisspalte mit ${result['Counter']} fehl, weil Ergebnisspalten immer links von der Spalte stehen müssen, in der sie verwendet werden. Das ist der Bug.
Warum ist das Verhalten so wie es ist?
Wir waren damals der Meinung, dass es einfach "schöner" aussieht, wenn sich die gemappten Spalten beim Durchschleifen einfach über die Originalspalten "drüberlegen" (Overlay).
An den Fall mit den Ergebnisspalten hatten wir nicht gedacht (Bug).
Lösungsansatz:
Wir sind leider einem Dilemma.
Unser Lösungsansatz wäre, dass wir die bisherige Logik anpassen und
- die gemappten Spalten zuerst rausschreiben
- und dannach die durchgeschleiften Quellspalten
Allerdings ändert sich dadurch bei allen Kunden die Reihenfolge der Spalten.
Da wir die Auswirkungen davon aktuell nicht abschätzen können, ob es bei Kunden zu Problemen führt, wählen wir eine defensivere Variante:
- Wir werden einen neuen Mapping-Modus "passThroughMappedColumnsFirst" also "Gemappte Spalten zuerst, dann die durchgeschliffenen Spalten" (oder so ähnlich) erstellen.
- Wir entscheiden dann in den nächsten Wochen ob wir langfristig beide passThrough-Modus aktiv lassen (was zu Verwirrung führen könnte, da der Unterschied schwer erklärbar ist...wie man an diesem Text hier sieht... )
- Den bisherigen Modus werden wir evtl. als "deprecated" markieren und noch bis Ende 2020 erlauben. Einen Hinweis werden wir veröffentlichen, dass sie
- Ab 2021 wird dann der neue Modus automatisch bei allen greifen.
- Sobald unser Fix live ist, kannst du diesen dann verwenden und auf den neuen Modus wechseln.
Vielleicht können sich auch noch ein paar andere Kunden hier äussern, die den "Durchschleifen-Modus" derzeit benutzen.