Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: READ-Zeile vergleichen & in WRITE schreiben

READ-Zeile vergleichen & in WRITE schreiben 2 Jahre 1 Monat her #1752

  • Özel
  • Özels Avatar
  • Offline
  • New Member
  • Beiträge: 18
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
Der Administrator hat öffentliche Schreibrechte deaktiviert.

READ-Zeile vergleichen & in WRITE schreiben 2 Jahre 1 Monat her #1753

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
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


Dateianhang:

Dateiname: excel-expo...eren.zip
Dateigröße:8 KB
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.
Letzte Änderung: 2 Jahre 1 Monat her von FlowHeater-Team.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

READ-Zeile vergleichen & in WRITE schreiben 2 Jahre 1 Monat her #1755

  • Özel
  • Özels Avatar
  • Offline
  • New Member
  • Beiträge: 18
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?
Der Administrator hat öffentliche Schreibrechte deaktiviert.

READ-Zeile vergleichen & in WRITE schreiben 2 Jahre 1 Monat her #1756

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
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.

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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.084 Sekunden