- Beiträge: 21
READ-Zeile vergleichen & in WRITE schreiben
- Özel
- Autor
- Offline
- Benutzer
Weniger
Mehr
10 Jahre 2 Wochen her #1752
von Özel
READ-Zeile vergleichen & in WRITE schreiben wurde erstellt von Özel
Guten Abend liebe Supporter,
wir haben uns kürzlich für den FlowHeater entschieden und da hätte ich schon meine erste Frage, die hoffentlich verstanden und beantwortet werden kann.
Ich besitze eine Exceldatei von einem Lieferanten bezüglich den Maßangaben von Artikeln.
Bsp.
LF ArtNr Massangabe Masswert Masseinheit
BWT 10091 LN 300,0 MMT
BWT 10091 WD 60,0 MMT
BWT 10091 HT 60,0 MMT
BWT 10091 BW 2,2 KGM
BWT 10092 LN 300,0 MMT
BWT 10092 WD 60,0 MMT
BWT 10092 HT 60,0 MMT
BWT 10092 BW 2,15 KGM
BWT 10093 LN 300,0 MMT
Die Export-Datei enthält wesentlich mehr Spaltenköpfe. Es sollen aber vorerst lediglich die Werte aus dieser Datei (mit diesen Werten) gelesen werden.
Wie zu sehen ist, kommt der Artikel "10091" 4 mal vor. Das liegt daran dass in der einen Zeile die Länge in der nächsten die Breite, in der nächsten die Höhe und in der anderen das Gewicht angegeben wird.
Zieldatei sieht bspw. folgenderweise aus
ArtNr Bez Länge Breite Höhe Gewicht ... (weitere Spaltenköpfe)
10091 lala 300,0 60,0 60,0 2,2
10092 lolo 300,0 60,0 60,0 2,15
10093 lili ....
Als Screenshot lade ich mal mein Mapping hoch um mein Problem und meine Frage zu schildern.
Mein Script soll in der READ-Zeile "Massangabe" prüfen, welcher Wert darin steht. Bei dem Wert "LN" soll er den Wert aus der READ-Zeile "Masswert" nehmen und es in die WRITE-Zeile "Laenge" schreiben.
Wird in der READ-Zeile "Massangabe" der Wert "WD" gelesen, so soll der Wert aus der READ-Zeile "Masswert" genommen und in die WRITE-Zeile "Breite" geschrieben werden usw...
Ich konnte mit Hilfe des Forums herausfinden, dass ich Objektvariablen mit den Werten aus einer READ-Zeile folgendermaßen füllen kann:
object massangabe = InValues[0].GetValue();
Jedoch konnte ich nicht herausfinden, wie ich meine Werte in die WRITE-Zeilen bekomme.
Folgendermaßen habe ich ein Code versucht zu generieren, bräuchte jedoch an dieser Stelle Hilfe
// Diese Funktion ist zwingend erforderlich!
public object DoWork()
{
object massangabe = InValues[0].GetValue();
object masswert = InValues[1].GetValue();
object masseinheit = InValues[2].GetValue();
if (massangabe == LN){
breite = masswert ; // "breite" aus der WRITE-Seite
}
else if (massangabe== WD){
hoehe = masswert ; // hoehe aus der WRITE-Seite
}
else if (massangabe== HT){
laenge = masswert ; // laenge aus der WRITE-Seite
}
else {massangabe== BW){
gewicht == masswert ; // gewicht aus der WRITE-Seite
}
}
Mit freundlichen Grüßen
E. Özel
wir haben uns kürzlich für den FlowHeater entschieden und da hätte ich schon meine erste Frage, die hoffentlich verstanden und beantwortet werden kann.
Ich besitze eine Exceldatei von einem Lieferanten bezüglich den Maßangaben von Artikeln.
Bsp.
LF ArtNr Massangabe Masswert Masseinheit
BWT 10091 LN 300,0 MMT
BWT 10091 WD 60,0 MMT
BWT 10091 HT 60,0 MMT
BWT 10091 BW 2,2 KGM
BWT 10092 LN 300,0 MMT
BWT 10092 WD 60,0 MMT
BWT 10092 HT 60,0 MMT
BWT 10092 BW 2,15 KGM
BWT 10093 LN 300,0 MMT
Die Export-Datei enthält wesentlich mehr Spaltenköpfe. Es sollen aber vorerst lediglich die Werte aus dieser Datei (mit diesen Werten) gelesen werden.
Wie zu sehen ist, kommt der Artikel "10091" 4 mal vor. Das liegt daran dass in der einen Zeile die Länge in der nächsten die Breite, in der nächsten die Höhe und in der anderen das Gewicht angegeben wird.
Zieldatei sieht bspw. folgenderweise aus
ArtNr Bez Länge Breite Höhe Gewicht ... (weitere Spaltenköpfe)
10091 lala 300,0 60,0 60,0 2,2
10092 lolo 300,0 60,0 60,0 2,15
10093 lili ....
Als Screenshot lade ich mal mein Mapping hoch um mein Problem und meine Frage zu schildern.
Mein Script soll in der READ-Zeile "Massangabe" prüfen, welcher Wert darin steht. Bei dem Wert "LN" soll er den Wert aus der READ-Zeile "Masswert" nehmen und es in die WRITE-Zeile "Laenge" schreiben.
Wird in der READ-Zeile "Massangabe" der Wert "WD" gelesen, so soll der Wert aus der READ-Zeile "Masswert" genommen und in die WRITE-Zeile "Breite" geschrieben werden usw...
Ich konnte mit Hilfe des Forums herausfinden, dass ich Objektvariablen mit den Werten aus einer READ-Zeile folgendermaßen füllen kann:
object massangabe = InValues[0].GetValue();
Jedoch konnte ich nicht herausfinden, wie ich meine Werte in die WRITE-Zeilen bekomme.
Folgendermaßen habe ich ein Code versucht zu generieren, bräuchte jedoch an dieser Stelle Hilfe
// Diese Funktion ist zwingend erforderlich!
public object DoWork()
{
object massangabe = InValues[0].GetValue();
object masswert = InValues[1].GetValue();
object masseinheit = InValues[2].GetValue();
if (massangabe == LN){
breite = masswert ; // "breite" aus der WRITE-Seite
}
else if (massangabe== WD){
hoehe = masswert ; // hoehe aus der WRITE-Seite
}
else if (massangabe== HT){
laenge = masswert ; // laenge aus der WRITE-Seite
}
else {massangabe== BW){
gewicht == masswert ; // gewicht aus der WRITE-Seite
}
}
Mit freundlichen Grüßen
E. Özel
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
10 Jahre 2 Wochen her - 10 Jahre 2 Wochen her #1753
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf READ-Zeile vergleichen & in WRITE schreiben
Hallo Herr Özel,
Sie benötigen dazu einmal den GroupBy Heater , dieser gruppiert die gleichen Artikelnummern der Excel Arbeitsmappe zu einer Zeile.
Um nun zu entscheiden welcher Wert in welche Spalte geschrieben werden soll, benötigen Sie für jede Spalte noch eine IF-THEN-ELSE Bedingung . Das von Ihnen eingesetzte Script ist nicht notwendig.
Im Anhang finden Sie ein Beispiel dazu.
Weitere Informationen zum Gruppieren von Daten finden Sie hier: Excel CSV Export mit Gruppierung
Sie benötigen dazu einmal den GroupBy Heater , dieser gruppiert die gleichen Artikelnummern der Excel Arbeitsmappe zu einer Zeile.
Um nun zu entscheiden welcher Wert in welche Spalte geschrieben werden soll, benötigen Sie für jede Spalte noch eine IF-THEN-ELSE Bedingung . Das von Ihnen eingesetzte Script ist nicht notwendig.
Im Anhang finden Sie ein Beispiel dazu.
Weitere Informationen zum Gruppieren von Daten finden Sie hier: Excel CSV Export mit Gruppierung
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Letzte Änderung: 10 Jahre 2 Wochen her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Özel
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 21
10 Jahre 2 Wochen her #1755
von Özel
Özel antwortete auf READ-Zeile vergleichen & in WRITE schreiben
Vielen Dank Herr Stark
Die Lösung funktioniert wie gewünscht
Wird das komplette Dokument an sich nach einheitlichen (in diesem Fall) Artikelnummern gesucht, wird Zeilenweise oder Spaltenweise nach einem Schlüssel gesucht um diesen anschließend gruppieren zu können?
Die Lösung funktioniert wie gewünscht
Wird das komplette Dokument an sich nach einheitlichen (in diesem Fall) Artikelnummern gesucht, wird Zeilenweise oder Spaltenweise nach einem Schlüssel gesucht um diesen anschließend gruppieren zu können?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
10 Jahre 2 Wochen her #1756
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf READ-Zeile vergleichen & in WRITE schreiben
Hallo Herr Özel,
nein, damit das Gruppieren von Datensätzen funktioniert muss die Datenquelle auf der READ Seite sortiert anhand der Gruppierung vorliegen. Bei SQL basierenden Datenquellen brauchen Sie nur einen „ORDER BY“ im SQL Select angeben. Bei CSV bzw. Excel Datenquellen können Sie den Sort Heater verwenden um die Datenquelle vor der Verarbeitung zu sortieren.
Wichtig: Damit der Sort Heater funktioniert müssen Sie den Verarbeitungsmodus auf „Memory“ umstellen, siehe Screenshot.
nein, damit das Gruppieren von Datensätzen funktioniert muss die Datenquelle auf der READ Seite sortiert anhand der Gruppierung vorliegen. Bei SQL basierenden Datenquellen brauchen Sie nur einen „ORDER BY“ im SQL Select angeben. Bei CSV bzw. Excel Datenquellen können Sie den Sort Heater verwenden um die Datenquelle vor der Verarbeitung zu sortieren.
Wichtig: Damit der Sort Heater funktioniert müssen Sie den Verarbeitungsmodus auf „Memory“ umstellen, siehe Screenshot.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.281 Sekunden