FlowHeater Demo Video
 
FlowHeater - The Data Import / Export Specialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Daten aus zwei Tabellen anhand Kriterien aktualisieren

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 2 Wochen her #3662

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.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 2 Wochen her #3663

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1401
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 Bespiel 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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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: von FlowHeater-Team.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 1 Woche her #3666

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

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 1 Woche her #3668

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1401
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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 1 Woche her #3672

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.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 1 Woche her #3673

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.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 1 Woche her #3675

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1401
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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 6 Tage her #3678

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:



[/i]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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Nick.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 6 Tage her #3681

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1401
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.
Anhänge:
Folgende Benutzer bedankten sich: Nick

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

Daten aus zwei Tabellen anhand Kriterien aktualisieren 2 Monate 5 Tage her #3685

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.

  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en