Mappingset - Probleme mit mehreren identischen Wörtern
hifimikael
hat ein Thema begonnen
über 4 Jahre her
Tag,
ich habe ein Problem mit dem Mappingset, und zwar geht es darum wenn mehrere Wörter in einer Zeile stehen, diese aber wiederum auch teilweise in anderen Mapping Zeilen vorkommen, als Beispiel:
Green=Grün
Bright Green=Knallgrün
Blue=Blau
Dark Blue=Dunkelblau
Das ist mein Mappingset, jetzt mappt er aber aus z.B.: Bright Green -> Bright Grün, obwohl ja Bright Green als Mapping vorhanden ist, oder aus Dark Blue -> Dark Blau, obwohl auch dieses als Mapping komplett vorkommt. Gibt es da eine Lösung, das er mir das korrekt Mappt, oder wie geht man da vor?
Gruß
Michael
Beste Antwort
S
Synesty Support
gesagt
über 4 Jahre her
Hallo Michael,
wir haben mal etwas an der Beschreibung der Mappingsets optimiert und sind auch auf das Thema Prefix bzw. exakter Wert eingegangen.
kannst du mal einen Screenshot deiner Mappingset Konfiguration im Mapper zeigen? Dort ist der Mapping-Modus entscheidend. Es scheint, als hast du den auf "Suchen & Ersetzen" gestellt, was in deinem Fall falsch wäre.
Du müsstest auf einen der anderen Modus stellen, die nicht mit "Suchen & Ersetzen" beginnen.
hifimikael
gesagt
über 4 Jahre her
hmm, hab ich alle durch Problem bleibt bestehen, er soll ja die Werte ersetzen. Was müsste ich den einstellen? Habe es auch mit RegEx probiert, ^Dark Blue$=Dunkelblau sollte dann ja eigentlich genau nach dieser Zeichenkette suchen, ignoriert er aber auch :-)
hifimikael
gesagt
über 4 Jahre her
achso, das Mappingset ist natürlich größer, knapp 140 Zeilen, also diese habe ich nur als Beispiel angegeben um es zu verdeutlichen
Synesty Support
gesagt
über 4 Jahre her
Also folgendes ist wichtig:
- der Key muss eindeutig sein (also das im Mappingset vor dem = (Gleichheitszeichen) steht). Ansonsten gewinnt vermutlich das letzte.
Beispiele
korrekt:
Green=Grün
blue=blau
falsch:
Green=Grün
blue=blau
white=weiss
Green=gruen
Im letzten Fall kommt 2 mal der Key "Green" vor. Vermutlich gewinnt der letzte Eintrag, d.h. in der Ausgabe steht (gruen mit ue).
Kannst du im Zweifel mal deinen Anwendungsfall beschreiben, was du erreichen möchtest?
Kannst du zusätzlich auch mal noch ein paar zu mappende Eingabewerte zeigen und mal dein erwartetes Ergebnis?
Vielleicht verstehen wir ja etwas falsch - wie so oft ;)
Wenn ihr wollt könnt ihr ja mal ins Backend schauen, Projekt LGO, Flow ist Parts2Plenty einen Zugang müsstet ihr noch vom letzten Problem haben :-)
denke das ist einfacher, als hier das gesamte Mapping reinzuschreiben, wäre natürlich doof wenn es so wäre das das letzte gewinnt. Würde es denn mit Suchen & Ersetzen gehen? Im Zweifelsfall müsste ich da halt 145 Bedingungen basteln, geht das überhaupt?
Synesty Support
gesagt
über 4 Jahre her
Ja Support-User war noch vorhanden. Wir haben jetzt mal dein Mappingset komplett in unseren Testaccount übernommen und mal mit den Beispielen von dir oben getestet.
Unserer Meinung nach funktioniert es korrekt und so wie du es willst.
Sieht deine Mapping-Konfiguration genau so aus?
hifimikael
gesagt
über 4 Jahre her
ja, sieht genauso aus, kannst mal reinschauen und dir die Vorschau aus den Daten ziehen, dann sieht man das es teilweise korrekt übernommen wird, teilweise aber bei mehreren nicht wie oben beschrieben. Es funktioniert ja nur nicht wenn im Mappingset mehrere mit dem Wört z.B. Green vorkommen, am besten mal ausprobieren in meinem Account, dann sieht man was gemeint ist. Bei Originalwerte ausgeben, werden ja die englischen und nicht die gemappten ausgegeben, zumindest bei mir
Synesty Support
gesagt
über 4 Jahre her
Originalwerte ausgeben bedeutet, dass er den Wert aus deinem Spreadsheet nimmt, wenn er im Mappingset keinen passenden Eintrag findet. Oft sind auch Leerzeichen im Wert deines Spreadsheets eine Ursache.
Dein Flow ist noch gesperrt :)
Synesty Support
gesagt
über 4 Jahre her
Ok, jetzt haben wir reingeschaut. Bitte schick doch beim nächsten Mal auch einen Screenshot, da wäre das sehr schnell aufgefallen :) Screenshots kannst du einfach rein-copy-pasten...das geht mit Chrome mittlerweile gut.
Folgendes:
Du prefixt deinen Wert noch mit (Lego Farben).
Dadurch findet er natürlich keinen passenden Eintrag im Mappingset.
Lösungsvorschlag:
Arbeite mit einer Hilfsspalte z.B. tempVariationAttributes: dort schreibst du ins Wertfeld nur : ${color_name!}
und wendest das Mappingset an
Dann machst du rechts daneben die Spalte VariationAttributes und verwendest im Wert-Feld die "Ergebnisspalte" tempVariationAttributes:
Mappingsets sind eine exakte Angelegenheit. Die können nicht irgendwelche Teilstrings ersetzen, sondern nur volle Werte.
Ausnahme: Suchen & Ersetzen. Da kommt es drauf an, in welcher Reihenfolge du das Mappingset aufgebaut hast. In deinem Mappingset steht ganz oben "Green=grün" einzeln. D.h. zuerst wird im Wert das Wort "Green" ersetzt. Deshalb wird aus Bright Green auch Bright grün).
1 Person gefällt dies
hifimikael
gesagt
über 4 Jahre her
ah, ok. Stolperstein gefunden, super! Das mit dem prefixen wusste ich nicht.
Danke, habt ihr wieder was für euer Cookbook :-)
Synesty Support
gesagt
über 4 Jahre her
ok, schön dass es jetzt klappt.
Was genau meinst du? mit "prefix wusste ich nicht"? Der Prefix kam ja von dir.
Kannst du noch mal grob beschreiben, was du im Cookbook erwartet hättest? Welcher Hinweis sollte da stehen, der dir geholfen hätte?
Weil, wie Mappingsets funktionieren steht ja hier.
Synesty Support
gesagt
über 4 Jahre her
Antwort
Hallo Michael,
wir haben mal etwas an der Beschreibung der Mappingsets optimiert und sind auch auf das Thema Prefix bzw. exakter Wert eingegangen.
hifimikael
Tag,
ich habe ein Problem mit dem Mappingset, und zwar geht es darum wenn mehrere Wörter in einer Zeile stehen, diese aber wiederum auch teilweise in anderen Mapping Zeilen vorkommen, als Beispiel:
Green=Grün
Bright Green=Knallgrün
Blue=Blau
Dark Blue=Dunkelblau
Das ist mein Mappingset, jetzt mappt er aber aus z.B.:
Bright Green -> Bright Grün, obwohl ja Bright Green als Mapping vorhanden ist, oder aus Dark Blue -> Dark Blau, obwohl auch dieses als Mapping komplett vorkommt. Gibt es da eine Lösung, das er mir das korrekt Mappt, oder wie geht man da vor?
Gruß
Michael
Hallo Michael,
wir haben mal etwas an der Beschreibung der Mappingsets optimiert und sind auch auf das Thema Prefix bzw. exakter Wert eingegangen.
http://docs.synesty.com/display/SSUD/Spreadsheets#Spreadsheets-Mappingset
Kommt das jetzt besser rüber?
- Älteste zuerst
- Beliebt
- Neueste zuerst
Sorted by Älteste zuerstSynesty Support
Hallo Michael,
kannst du mal einen Screenshot deiner Mappingset Konfiguration im Mapper zeigen? Dort ist der Mapping-Modus entscheidend. Es scheint, als hast du den auf "Suchen & Ersetzen" gestellt, was in deinem Fall falsch wäre.
Du müsstest auf einen der anderen Modus stellen, die nicht mit "Suchen & Ersetzen" beginnen.
hifimikael
hmm, hab ich alle durch Problem bleibt bestehen, er soll ja die Werte ersetzen. Was müsste ich den einstellen? Habe es auch mit RegEx probiert, ^Dark Blue$=Dunkelblau sollte dann ja eigentlich genau nach dieser Zeichenkette suchen, ignoriert er aber auch :-)
hifimikael
achso, das Mappingset ist natürlich größer, knapp 140 Zeilen, also diese habe ich nur als Beispiel angegeben um es zu verdeutlichen
Synesty Support
Also folgendes ist wichtig:
- der Key muss eindeutig sein (also das im Mappingset vor dem = (Gleichheitszeichen) steht). Ansonsten gewinnt vermutlich das letzte.
Beispiele
korrekt:
Green=Grün
blue=blau
falsch:
Green=Grün
blue=blau
white=weiss
Green=gruen
Im letzten Fall kommt 2 mal der Key "Green" vor. Vermutlich gewinnt der letzte Eintrag, d.h. in der Ausgabe steht (gruen mit ue).
Kannst du im Zweifel mal deinen Anwendungsfall beschreiben, was du erreichen möchtest?
Kannst du zusätzlich auch mal noch ein paar zu mappende Eingabewerte zeigen und mal dein erwartetes Ergebnis?
Vielleicht verstehen wir ja etwas falsch - wie so oft ;)
Hier auch noch mal der Link zur Doku für die Mapping-Modus:
hifimikael
Wenn ihr wollt könnt ihr ja mal ins Backend schauen, Projekt LGO, Flow ist Parts2Plenty einen Zugang müsstet ihr noch vom letzten Problem haben :-)
denke das ist einfacher, als hier das gesamte Mapping reinzuschreiben, wäre natürlich doof wenn es so wäre das das letzte gewinnt. Würde es denn mit Suchen & Ersetzen gehen? Im Zweifelsfall müsste ich da halt 145 Bedingungen basteln, geht das überhaupt?
Synesty Support
Ja Support-User war noch vorhanden. Wir haben jetzt mal dein Mappingset komplett in unseren Testaccount übernommen und mal mit den Beispielen von dir oben getestet.
Unserer Meinung nach funktioniert es korrekt und so wie du es willst.
Sieht deine Mapping-Konfiguration genau so aus?
hifimikael
ja, sieht genauso aus, kannst mal reinschauen und dir die Vorschau aus den Daten ziehen, dann sieht man das es teilweise korrekt übernommen wird, teilweise aber bei mehreren nicht wie oben beschrieben. Es funktioniert ja nur nicht wenn im Mappingset mehrere mit dem Wört z.B. Green vorkommen, am besten mal ausprobieren in meinem Account, dann sieht man was gemeint ist. Bei Originalwerte ausgeben, werden ja die englischen und nicht die gemappten ausgegeben, zumindest bei mir
Synesty Support
Originalwerte ausgeben bedeutet, dass er den Wert aus deinem Spreadsheet nimmt, wenn er im Mappingset keinen passenden Eintrag findet. Oft sind auch Leerzeichen im Wert deines Spreadsheets eine Ursache.
Dein Flow ist noch gesperrt :)
Synesty Support
Ok, jetzt haben wir reingeschaut. Bitte schick doch beim nächsten Mal auch einen Screenshot, da wäre das sehr schnell aufgefallen :) Screenshots kannst du einfach rein-copy-pasten...das geht mit Chrome mittlerweile gut.
Folgendes:
Du prefixt deinen Wert noch mit (Lego Farben).
Dadurch findet er natürlich keinen passenden Eintrag im Mappingset.
Lösungsvorschlag:
Arbeite mit einer Hilfsspalte z.B. tempVariationAttributes: dort schreibst du ins Wertfeld nur : ${color_name!}
und wendest das Mappingset an
Dann machst du rechts daneben die Spalte VariationAttributes und verwendest im Wert-Feld die "Ergebnisspalte" tempVariationAttributes:
(Lego Farben)${result['tempVariationAttributes']!}
Fazit:
Mappingsets sind eine exakte Angelegenheit. Die können nicht irgendwelche Teilstrings ersetzen, sondern nur volle Werte.
Ausnahme: Suchen & Ersetzen. Da kommt es drauf an, in welcher Reihenfolge du das Mappingset aufgebaut hast. In deinem Mappingset steht ganz oben "Green=grün" einzeln. D.h. zuerst wird im Wert das Wort "Green" ersetzt. Deshalb wird aus Bright Green auch Bright grün).
1 Person gefällt dies
hifimikael
ah, ok. Stolperstein gefunden, super! Das mit dem prefixen wusste ich nicht.
Danke, habt ihr wieder was für euer Cookbook :-)
Synesty Support
ok, schön dass es jetzt klappt.
Was genau meinst du? mit "prefix wusste ich nicht"? Der Prefix kam ja von dir.
Kannst du noch mal grob beschreiben, was du im Cookbook erwartet hättest? Welcher Hinweis sollte da stehen, der dir geholfen hätte?
Weil, wie Mappingsets funktionieren steht ja hier.
Synesty Support
Hallo Michael,
wir haben mal etwas an der Beschreibung der Mappingsets optimiert und sind auch auf das Thema Prefix bzw. exakter Wert eingegangen.
http://docs.synesty.com/display/SSUD/Spreadsheets#Spreadsheets-Mappingset
Kommt das jetzt besser rüber?
hifimikael
Perfekt! Immer vom DAU ausgehen (bin ich gerne behilflich :-) )
-
Komplette Datenzeile löschen
-
Datum für nächsten Run speichern
-
Plenty SOAP 115
-
30 Minuten Demo per TeamViewer
-
CSV mit URLDownload herhunterladen
-
Ebay CSV Warenbestand abgleichen mit Synesty und API Connector Tools
-
Gestriges Datum erzeugen
-
Steuerrelevante Abrechnungen
-
workflow "Auslaufware"
-
Export zu Google Drive - Link geändert, Uploadziel bleibt trotzdem gleich?
Alle 1498 Themen ansehen