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 Felder updaten/berechnen aufgrund Eingabetabelle

Mehr
11 Jahre 3 Monate her #1179 von Kraus
Folgende Situation:

Eingabetabelle enthält:
Artikelnummer
Prozentsatz

SQLtabelle Preise enthält u.a
Artikelnummer
Verkaufspreis

Aufgabe:
Aufgrund der Texttabelle/EXCEL soll der Verkaufspreis
entsprechend des hinterlegten Prozentsatzes in der SQL-Datenbank erhöht werden.

Gibt es ein Beispiel oder wie wäre der Lösungsansatz.
Herzlichen Dank

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 3 Monate her #1180 von FlowHeater-Team
Hallo Herr Kraus,

um mit dem alten Preis in der Definition rechnen zu können müssen Sie diesen mittels des SQL Heaters aus der Tabelle lesen (Datenbank Lookup). Damit nur Updates auf der WRITE Seite generiert werden deaktivieren Sie die Option "Daten anfügen (Insert)" und aktivieren dafür die Option "Daten aktualisieren (update)" im Configurator auf der WRITE Seite.
Ziehen Sie nun einen SQL Heater auf den Designer und tragen Sie für das SQL Statement folgendes ein.

select Preis from Ihr-Tabellenname where ArtikelNr = '$ArtNr$'

Hinweis: Falls die Artikelnummer als Zahlenwert (INT, LONG, DECIMAL, ...) im SQL Server gespeichert dürfen Sie die Artikelnummer nicht in Hochkommas einschließen und ggf. über Menü->Bearbeiten->Parameter die Zahlenformatierung auf ohne Tausendertrennzeichen und ggf. ohne Nachkommastellen einstellen.

Hiermit wird die Spalte Preis von der Tabelle "Ihr-Tabellenname" gelesen. Der Parameter $ArtNr$ wird mit dem aktuellen Wert des aktuellen Datensatzes der READ Seite ersetzt. Damit das Funktioniert benötigen Sie noch einen Set Parameter Heater mit dem die aktuelle Artikelnummer der READ Seite dem Parameter $ArtNr$ zugeordnet wird.

Mit dem so ermittelten Wert können Sie ihren Prozentsatz ausrechnen und den neu berechneten Wert der Spalte Preis zuordnen.

Im Anhang finden Sie ein kleines Beispiel dazu. Hier wird anstatt des Excel Adapters eine einfache CSV Datei gelesen sowie wird auf der WRITE Seite eine kleine Access Datenbank verwendet.

Anhang update_preise_berechnung.zip wurde nicht gefunden.


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
11 Jahre 3 Monate her #1181 von Kraus
Hallo H. Stark,
zunächst besten Dank für die schnelle Antwort.

in Ihrem Beispiel gibt es auf der Write Seite zwei Preisfelder (Preis und AlterPreis).
In der DB gibt es nur ein Preisfeld,
welches um den Prozentsatz erhöht werden soll.

Ich möchte vermeiden die DB um zusätzliche Felder zu ergänzen. Ist das möglich?

Danke und viele Grüße

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 3 Monate her #1182 von FlowHeater-Team
Hallo Herr Kraus,

das Feld habe ich nur zur bessren Verständnis eingefügt, damit Sie in dem Beispiel bei mehrmaligen Updates nachvollziehen können was der ursprüngliche alte Preis war.

Sie können natürlich direkt das Preis feld aktuallisieren. Sie benötigen nur das PrimaryKey Feld (ArtikelNr) sowie das eigentliche Preis Feld.

Zum test können Sie das Feld "AlerPreis" aus der Feldauflisting einfach löschen, die Definition wird weiterhin funktionieren.

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.

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 3 Monate her #1183 von Kraus
Hallo Herr Stark,
ich habe das getestet, dabei gibt es noch folendes Problem:
Datenbank:
Artikel ab Menge Preis
1 50,00 100,00
1 100,00 80,00
usw.

Es sind also mehrere gleiche Artikelnummern vorhanden, mit einer Staffel und dementsprechend anderem Preis.
Führt man das Beispiel durch, werden alle Staffeln mit der ersten Preiserhöhung verändert. Das Erbenis ist dann, dass der Artikel in allen Staffeln den gleichen Preis hat.

Bitte Anmelden um der Konversation beizutreten.

Mehr
11 Jahre 3 Monate her #1184 von FlowHeater-Team
Hallo Herr Kraus,

dann ist die Lösung über den SQL Heater nicht brauchbar, da hier der Bezug zu einem eindeutigen Datensatz fehlt.

Wenn Ihre SQL Tabelle einen Primary Key hat (z.B. AutoIncrement) hat können Sie folgendermaßen vorgehen.
Verwenden Sie den benötigten Datenbank Adapter auf der READ sowie auf der WRITE Seite. Geben Sie auf der READ Seite die gleiche Tabelle wie auf der WRITE Seite an. Lesen Sie die Felder ein und verbinden Sie die Primary Key Felder der READ mit der WRITE Seite.

Dann benötigen Sie noch einen String Replace Heater mit dem Sie den Prozentsatz aus einer CSV Textdatei, ähnlich wie mit dem SQL Heater, einlesen können. Die Berechnung ist dann die gleiche wie im vorherigen Beispiel
Sie schreiben, dass die Prozentwerte in einer Excel Datei vorliegen. Diese müssten Sie vorher mit Hilfe einer weiteren Definition in eine CSV Datei umwandeln.

In der Anlage ist dazu wieder ein kleines Beispiel. Im Beispiel werden zusätzlich nicht vorhandene Preiserhöhungen gefiltert.
Ein weiteres Beispiel zum String Replace Heater finden Sie hier CSV Lookup

Hinweis: Damit dieses Beispiel funktioniert müssen Sie auf der WRITE Seite Datenbanktransaktionen deaktivieren, s.Bild.



Anhang update_preise_berechnung2.zip wurde nicht gefunden.


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.359 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.