Abfrage Zelle aus nächster Zeile enthält, dann Zellwert

Hallo Zusammen, ich habe folgende Problemstellung :

Liste mit Aufträgen. erste Zeile stellt immer die Headzeile je Auftrag dar.
Zweite und folgende Zeile jeweils die Auftragspositionen

Also in etwa so

Auftrags-ID – Zeilentyp – Artikelnummer
123 – Head –
123 – Child – gr-1233
123 – Child – gr-2344
124 – Head –
124 – Child – ff-15555
124 – Child – ff-15566

Ich sollte jetzt Filtern, wenn Artikelnummer beginnt mit gr- dann soll in der korrespondierenden Head-Zeile in Artikelnummer ein Hinweis rein. Zum Beispiel „gr-“

Ich habe es jetzt wie folgt versucht

<#if OrderHeadOrderTypeID == „1 --bzw. in unserem Beispiel Head–“>
<#if OrderItemsVariantExternalItemID?starts_with(„grl-“)>gr-</#if><#else>${parent[„OrderItemsVariantExternalItemID“]!} – ${OrderItemsVariantExternalItemID!}</#if>

Mein Problem - wenn ich OrderItemsVariantExternlItemID abfrage, kommt da ja kein Ergebnis, da die Headzeile logischerweise keine Artikelnummer besitzt. Ich sollte jetzt auf die nächste nicht-Head-Zeile zugreifen können. Es gibt ja die Parent und Child Logik. Gibt es hier nicht sowas wie „NextRow“ oder ähnliches?

Zudem greift auch das parent bei mir nicht.

Ich wäre sehr dankbar für Eure Hilfe.

Gruß Markus

Hallo @werk38,

eine Möglichkeit von den OrderHead Daten direkt auf die OrderItems zuzugreifen gibt es nicht. Aber natürlich gibt es entsprechend Wege.

Zum einen könntest du, wie du schon selbst erwähnt hast, die Aufträge erst einmal in einen Datastore schreiben, mit vorhandener Parent/Variant oder Master/Child Relation und kannst dann anschließend mit einem SearchDatastore und Mapper mit variants() oder children() drauf zugreifen.


Eine andere Lösung ohne Datastore: Du verwendest ein Mappingset was ganz simpel alle Anfänge enthält, die die Artikelnummern enthalten können und mappst die auch auf die selbigen. Also so zum Beispiel:
gr=gr
ff=ff

Als Mappingmodus nimmst du „Mapping, wenn Wert enthält […] (case-sensitiv)“ und gruppierst anschließend an der Auftrags-ID. Als nächsten Step nimmst du ein AddUpdateMappingset („Auftrags-ID“ Spalte als Key, Spalte mit beginnenden Artikelnummern als Value). Das Mappingset kannst du dann in deinem originalen Auftragsspreadsheet verwenden.

Infos zu Mapping Sets

Ähnlich wie bei diesem Beispiel: Varianteneigenschaften zählen und ausgeben - #2 von synesty-Benjamin

Viele Grüße
Lukas

1 Like