Zum Hauptinhalt springen
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 Chart

Daten aus zwei Tabellen anhand Kriterien aktualisieren

Mehr
5 Jahre 8 Monate her #3662 von Nick
Hallo,

Ich habe zwei Tabellen und es sollen Daten aus Tabelle1 anhand mehrerer Kriterien in der Tabelle2 beim jeweiligen Datensatz angefügt/aktualisiert werden.

Tabelle1 beinhaltet eine Tarifliste mit u.a. den Angaben Kundennummer, Gewicht, Land und Preis. Die
Tabelle2 beinhaltet Angaben zu Sendungen mit u.a. Kundennummer, Paketnummer, Gewicht, Produktcode und Land.
 
Es soll nun der Preis zu einem Paket aus Tabelle1 anhand Kundennummer, Gewicht und Land ermittelt und in Tabelle2 eingefügt/aktualisiert werden. Wie kann ich dieses realisieren?
 
Um es einfach zu Beschreiben:
Nimm Paket aus Tabelle2 und schaue anhand der Kundennummer, Gewicht, Produktcode und Land nach dem
Preis inTabelle1 und schreibe diesen in ein Feld in Tabelle2.

Vielen Dank für Unterstützung.
Nick

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 8 Monate her - 5 Jahre 8 Monate her #3663 von FlowHeater-Team
Hallo Nick,

im Prinzip geht es so wie in folgenden Beispiel beschreiben:  CSV und Excel Daten über SQLite Datenbank zusammenführen

Tipp: Ganz unten finden Sie ein ausführliches Tutorial Video.

Ich habe mal exemplarisch für ein Update über mehrere Felder ein kurzes Beispiel für den InMemory Adapter beigefügt.

Vorgehensweise
  1. Datei input2.txt in die InMemory Tabelle einlesen
  2. Datei input1.txt einlesen und den Preis in der InMemory Tabelle aktualisieren. Achtung: Adapter auf nur Update stellen und mehrere Felder als Schlüsselfeld für Updates konfigurieren!
  3. Ausgabe der InMemory Tabelle
Wenn die Daten in einer SQL Datenbank stehen würde es alternativ auch über den SQL Heater oder Lookup Heater und einem Datenlookup funktionieren.

Dateianhang:

Dateiname: daten-anreichern.zip
Dateigröße:3 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: 5 Jahre 8 Monate her von FlowHeater-Team.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 8 Monate her #3666 von Nick
Hallo Herr Stark, 

ich habe mir die Vorgehensweise angesehen. Besten Dank. Es funktioniert soweit einwandfrei. Alle Daten sind auf einem SQL-Server. Wo ich allerdings nicht weiter komme:

Ich habe noch Daten aus einer Tabelle wo ich allerdings quasi noch suchen muss: In der Tabelle steht z.B. 1-5;Test. Ich habe nun den Wert 2 und wenn dieser vorkommt, muss Test geliefert/geupdated werden.

Eigentlich mache ich das bisher einfach mit <= und >=. Im InMemory weiß aber nun nicht, wie dieses noch unterbringe. Ich habe es u.a. mit dem SQL-Heater und Lookup-Heater versucht was aber nicht wirklich funktioniert.

Viele Grüsse
Nick

P.S. Das Video-Tutorial ist klasse.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 8 Monate her #3668 von FlowHeater-Team
Hallo Nick,

hier müssten Sie die Werte in zwei unterschiedliche Felder (z.B. von und bis) importieren. Das geht mit dem String Split Heater und als Trennzeichen ein Minus verwenden.

Anschließend können Sie über einen SQL Heater auf der vorher eingelesenen InMemory Tabelle über folgenden SQL suchen.

select [WERT] where $CMP$ >= [VON] and $CMP$ <= [BIS]

Der FlowHeater Parameter "$CMP$" muss vorher noch mit dem gerade anliegenden Wert per Set Parameter Heater belegt werden. Im Anhang finden Sie ein kleines Beispiel dazu.

Dateianhang:

Dateiname: von-bis-vergleich.zip
Dateigröße:3 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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 8 Monate her #3672 von Nick
Hallo Herr Stark,

das Vorgehen bzw. der Flow endet mit der Fehlermeldung:

Falscher SQL Syntax für den InMemory Adapter.
SQL = select [MeinWert] from Default where  >= [NummerVonTmp] and  <= [NummerBisTmp

Meine Vorgehensweise hierzu:

Verarbeitungsschritt1
Read > SQL-Adapter mit Tabelle1, Write > InMemory-Adapter

Verarbeitungsschritt2
Read > SQL-Adapter mit Tabelle2, Write > InMemory-Adapter

Verarbeitungsschritt3
Read > InMemory-Adapter, Write > Txt-Adapter
Auf [MeinWert] ein Set-Variable mit CMP ($CMP$)
Dazu den SQL-Heater mit select [MeinWert] from default where $CMP$ >= [NummerVonTmp] and $CMP$ <= [NummerBisTmp]

Es scheint das mit der Variablen nicht zu funktionieren, also der SQL-Heater erkennt diese nicht. Klicke ich im SQL-Heater auf SQL Statement mit ersten Paramter anzeigen verschwindet $CMP$ und es wird lediglich ein Leerzeichen an der Stelle angezeigt.

Freundliche Grüsse
Nick

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 8 Monate her #3673 von Nick
Nachtrag:
Ich habe es auch mit dem Loop-Heater versucht. Wenn ich nur  
select [WERT] where $CMP$ >= [VON] eintrage, erhalte ich, wenn auch nicht korrekte, Daten. Trage ich 
select [WERT] where $CMP$ >= [VON] and $CMP$ <= [BIS] ein, meldet der LoopHeater "LoopHeater Error'.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 8 Monate her #3675 von FlowHeater-Team
Hallo Nick,

ich vermute jetzt, dass der FlowHeater Datentyp für das InMemory Tabellen Feld „BIS“ nicht auf „Integer“ gesetzt wurde, bitte prüfen und
ggf. ändern. Falls dass das Problem nicht löst bitte mal einen Screenshot von der Fehlermeldung zur weiteren Analyse posten.

Die Ersetzung der Parameter funktioniert nur wenn im Parameter auch Werte gespeichert sind. Sie können über Menü->Bearbeiten->Parameter den Parameter auch anlegen und einen Standard Wert dafür setzen. So sollte dieser bei der Ersetzung verwendet werden.


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 oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 8 Monate her - 5 Jahre 8 Monate her #3678 von Nick
Hallo Herr Stark,

bei Verwendung des InMemory-Adapters mit Datenbestand wie zuvor beschreiben sowie der Abfrage select [MeinWert] from default where $CMP$ >= [NummerVonTmp] and $CMP$ <= [NummerBisTmp].und dem Werte-Format  Integer erhalte ich nun eine andere Fehlermeldung:



Viele Grüsse
Nick

Nachtrag
Ich konnte obigen Fehler finden: Falschen Parameter zugeordnet. Es erscheint nun aber diese Meldung:



Es fehlt wie schon erwähnt der Parameter in der angezeigten Meldung: 
SQL = Select [MeinWert] from Default where [HIER FEHLT DER PARAMETER] >= [VON] and <= [BIS]

Dieser wird irgendwie nicht übergeben.Erstellt wird dieser mit einem fix angelegten Parameter sowie Integer und der 1.
Letzte Änderung: 5 Jahre 8 Monate her von Nick.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 7 Monate her #3681 von FlowHeater-Team
Hallo Nick,

ich denke immer noch, dass es an dem falschen Datentyp liegt. Sie müssen beim Einlesen der InMemory Tabelle den Datentyp der Felder [VON]/[BIS] auf „INTEGER“ stellen, siehe Screenshot.

Funktioniert bei Ihnen das obige Beispiel?


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 oder Registrieren um der Konversation beizutreten.

Mehr
5 Jahre 7 Monate her #3685 von Nick
Hallo Herr Stark,

diese Anfrage konnte ich lösen. Ich bin immer davon ausgegangen, dass ich nur beim Parameter Integer wählen muss. Stelle ich auch noch, wie Sie zuvor beschrieben haben, auf der Write-Seite des InMemory-Adapters die besagten Felder auf Integer funktioniert es.

Eine weitere Fehlerursache war die Tabelle mit den Nummern selbst. Aus einer Altlast waren hier noch Nummern welche nicht aus reinen Zahlen bestanden haben.

Vielen Dank für die Unterstützung.

Freundliche Grüsse
Nick

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.342 Sekunden
FlowHeater Logo

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.