Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Zusätzliche Zeile erstellen + Beträge Summieren - InMemory Tabellen

Mehr
5 Jahre 3 Monate her #3579 von Frank Rösler
Hallo,

ich habe folgendes Problem und komme leider nicht weiter.

Wir haben eine csv / Tab getrennte Datei
Kundennummer Artikelnummer Preis Transportkosten
302458 123456 2,95 2,32
302458 564877 3,65 1,45

Es handelt sich um die gleiche Kundennummer.
Er soll jetzt wenn die Kundennummer immer gleich ist eine neue Zeile drunter machen wo die Transportkosten addiert sind und wenn er dann wie jetzt 3,77 erhält soll er die Artikelnummer 0 schreiben. Wenn er bei den Transportkosten auf 4,95 kommt soll er bei der Artikelnummer die 06 schreiben usw. Aber auch immer die Kundennummer mit schreiben

So soll es aussehen

Kundennummer Artikelnummer Preis Transportkosten
302458 123456 2,95 2,32
302458 564877 3,65 1,45
302458 0 3,77


Schöne Grüße
Frank

Bitte Anmelden um der Konversation beizutreten.

Mehr
5 Jahre 3 Monate her #3580 von FlowHeater-Team
Hallo Herr Rösler,

mit der aktuellen Version geht das leider nur schwer bis gar nicht. Allerdings wäre es mit der aktuellen Beta Version, Download Links siehe unten, relativ einfach möglich. Die aktuelle Beta Version bietet die Möglichkeit über einen neuen InMemory Adapter Daten im Hauptspeicher anzureichern und anschließend wieder auszugeben.

Für Ihren Fall müssen die Daten im erstenVerarbeitungsschritt erst einmal in eine InMemory Tabelle eingelesen werden. Hier wird ein zusätzliches Feld „Sort“ über einen  AutoID Heater gefüllt. Dieses Feld wird zum Schluss dazu verwendet die Daten anhand der gleichen Reihenfolge wieder auszugeben. Bitte beachten Sie, dass der AutoID Heater mit der Schrittweite 10 konfiguriert wurde!

Im zweiten Verarbeitungsschritt wird die Summen derTransportkosten anhand der Kundennummer berechnet. Hier wird ein weiteres Feld „Anzahl“ in der InMemory Tabelle gefüllt. In diesem Feld wird die Anzahl der Datensätze festgehalten die pro Gruppierung vorhanden sind. Das Feld wird benötigt um die Vorgabe zu erfüllen, dass die Summenzeile nur bei mehreren gleichen ausgegeben werden soll. Zusätzlich werden in dem Schritt die Transportkosten berechnet. Hierzu wird der GroupBy Heater sowie Additons Heater mit eingeschalteter Gruppierung verwendet. In diesem Schritt wird im Prinzip pro Kundennummer ein weiterer Datensatz an die InMemory Tabelle hinzugefügt. Damit dieser Datensatz bei der Ausgabe dann auch an der richtigen Stelle steht wird das Feld „Sort“ mit dem letzten Wert der Gruppe + 1 belegt.

Bitte beachten
, dieser Schritt bzw. Berechnung greift auchauf die Ursprüngliche CSV Datei zu. Nicht von der gleichen InMemory Tabelle lesen und auf der anderen Seite in die gleiche Tabelle schreiben!

Im letzten Schritt wird die InMemory Tabelle über das Feld „Sort“sortiert ausgegeben. Hier wurde zusätzliche ein Filter eingebaut, der anhand des Feldes Anzahl die Summenzeile nur ausgibt falls mehr als eine Datensatz pro Gruppe vorhanden ist.

Schauen Sie sich das beiliegende Beispiel mal. Benötigt dieaktuelle Beta Version, siehe Download Links.
 
Hinweis: Die Anzeige der InMemory Tabelle nach jedem Schritt zeigt derzeit nur die aktuell verarbeiteten Datensätze an und nicht den
kompletten Inhalt! Daran wird noch gearbeitet :-)

Sortierte Ausgabe über den InMemory Adapter

BetaVersion Download FlowHeaterBeta 32 Bit FlowHeaterBeta 64 Bit FlowHeaterServer Beta

Dateianhang:

Dateiname: summenzeilen.zip
Dateigröße:4 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.
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

Mehr
5 Jahre 3 Monate her #3581 von Frank Rösler
Hallo Herr Stark,

Wenn er jetzt wie in der Datei 3,77 findet soll er 06 in dem Feld Artikelnummer schreiben. Wir haben mehrere Versandarten. Und immer wenn er den richtigen Betrag finden soll er auch die richtige Artikelnummer schreiben.

3,77 = 06
4,68 = 0
12,95 = 04
1,45 = 02
usw.

Und
Er soll auch wenn die Kundennummer nur einmal vor kommt eine zusätzliche Zeile schreiben genau so wie bei den anderen. Summieren müßte er ja die Transportkosten nicht mehr nur noch die 1,45 in der Zeile mit der Artikelnummer 02 ausgeben.

Bitte Anmelden um der Konversation beizutreten.

Mehr
5 Jahre 3 Monate her #3582 von FlowHeater-Team
Hallo Herr Rösler,

ich habe die Definition ein wenig angepasst. Einmal unterstützt nun die neu Beta 4.1.3.2 Beta7 das gleichzeitige lesen und schreiben von der gleichen InMemory Tabelle. Hier wird nun im zweiten Schritt nicht mehr von der CSV Datei gelesen, sondern direkt von der bereits eingelesenen InMemory Tabelle.

Die Artikelnummer für die Transportkosten wird ebenfalls im zweiten Schritt über einen CSV Lookup mittels des String Replace Heater realisiert, siehe Screenshot. Hier wird im Prinzip nach dem ersten Wert in der Liste gesucht und falls gefunden der zweite Wert verwendet. Falls kein passender Wert gefunden wird, wird der definierte Standardwert zurückgegeben.

Zum Schluss wurde im letzten Verarbeitungsschritt der Filter entfernt, so dass auch die Summenzeile ausgegeben wird wenn die Kundennummer nur einmal vorkommt.



Dateianhang:

Dateiname: summenzeilen-2.zip
Dateigröße:4 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.
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.398 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.