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

mehrfache Einträge filtern

Mehr
9 Jahre 3 Monate her #1796 von Niels
mehrfache Einträge filtern wurde erstellt von Niels
Hallo zusammen,

Ich habe eine Read-Tabelle mit 3 Spalten (ID, Kundennummer und Mailadresse).
In der Zieltabelle ist das eigentlich gleich, nur darf hier die Mailadresse nicht mehrfach vorhanden sein, was in der Quelltabelle der Fall sein kann. Dann soll nur ein Datensatz übernommen werden. Alle Versuche auf SQL-Basis das Thema zu lösen sind mir bislang nicht gelungen, daher frage ich mich, ob ich das im FlowHeater erschlagen kann.
Zudem kann es sein, dass in der Zieltabelle die Mailadresse schon unter einem ganz anderen Record zu finden ist - dann soll nichts kopiert werden.
Ich müsste also für jede Zeile lesen, ob die Mailadresse schon in der Zieltabelle ist. Wenn ja muss ich prüfen ob die ID's übereinstimmen und könnte den Datensatz aktualisieren. Das kann ja nur die Kundennummer sein und eine Änderung dieser ist ja eher auch mehr als unwahrscheinlich, aber im 2. Schritt muss ich noch eine 2. Zieltabelle mit weiteren Informationen füllen, wobei die Aktion interessant wird.
Sind Quell- und Ziel-ID bei gleicher Mailadresse ungleich, soll der Quelldatensatz nicht übernommen werden.
Kann ich das mit FlowHeater bewerkstelligen?

mehrfache Grüße
Niels

Bitte Anmelden um der Konversation beizutreten.

Mehr
9 Jahre 3 Monate her #1797 von FlowHeater-Team
FlowHeater-Team antwortete auf mehrfache Einträge filtern
Da gibt es mehrere Möglichkeiten. Ich zeige hier mal die einfachste davon auf. Ein Beispiel dazu finden Sie im Anhang.

Im Beispiel verwende ich die FlowHeater Datenbank Adapter Eigenschaften „Daten anfügen (Insert)“ und „Daten aktualisieren (Update)“, siehe Screenshot.



Dann habe ich hier auch noch die PrimaryKey Feld im FlowHeater auf die Kundennummer sowie Email Adresse umgebogen. So kümmert sich der FlowHeater automatisch darum anhand dieser Feld entweder einen Insert oder ein Update zu fahren.

Um jetzt noch auf der READ Seite doppelte Email Adressen zu filtern verwende ich den Filter Heater mit der „Duplikate filtern“ Option.
Es können noch wesentlich komplexere Filtermöglichkeiten umgesetzt werden, das hängt allerdings von Ihren Daten ab.

Das Beispiel im Anhang verwendet als Eingang eine CSV Testdatei und schreibt die Daten in eine Access Datenbank.

Dateianhang:

Dateiname: csv-insert-update.zip
Dateigröße:12 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
9 Jahre 3 Monate her - 9 Jahre 3 Monate her #1798 von Niels
Niels antwortete auf mehrfache Einträge filtern
Hey super, Danke - das ist war zu einfach für mich :whistle:
Kann man jetzt auch noch erreichen, dass kein Update ausgeführt wird, wenn ein Feld in den Zieldaten einen gewissen Wert aufweist?
Hintergrund: Evtl. könnten die Daten auch in der Zielanwendung korrigiert werden, dann wäre es schön, wenn diese nicht mehr vom Heat erfasst werden. Dazu gibt es bei jedem Datensatz ein Timestamp, was ich nun im FlowHeater mit dem Wert 'now' fülle. Wenn nun der Heat täglich um 23:45 läuft, wäre es das Einfachste zu sagen, dass Änderungen mit einer kleineren Uhrzeit in der Zielanwendung vorgenommen wurden und nicht von der Quelle überschrieben werden sollen (also autark werden).

beidseitig änderbare Grüße
Niels
Letzte Änderung: 9 Jahre 3 Monate her von Niels.

Bitte Anmelden um der Konversation beizutreten.

Mehr
9 Jahre 3 Monate her #1800 von FlowHeater-Team
FlowHeater-Team antwortete auf mehrfache Einträge filtern
Auch das ist möglich, allerdings denke ich dass das mit dem Timestamp so nicht ganz abbildbar ist. Der Timestamp wird immer kleiner als der vom aktuellen Datenabgleich sein, oder verstehe ich das falsch? Ich habe das Beispiel um ein Feld „gesperrt“ erweitert, wenn dieses Feld „True bzw. Wahr“ ist, wird der Datensatz ebenfalls gefiltert. Das Feld müsste dann bei manuellen Änderungen auf TRUE/WAHR gesetzt werden.

Damit das funktioniert, benötigen Sie 3 weitere Heater .

1x einen Set Parameter Heater zum Setzen der Kundennummer ($KundenNr$) die benötigt wird um eine dynamische SQL Abfrage bilden zu können

1x den SQL Heater , der den aktuellen Wert aus der Tabelle „t_kunden“ vom Feld „gesperrt“ holt
select [gesperrt] from t_kunden where [kundennummer] = '$KundenNr$'

1x einen weiteren Filter Heater , der anhand des Inhaltes den Datensatz vor der Verarbeitung filtert.

So können Sie jedes beliebige Feld der WRITE Datenbank abrufen und ggf. Filterbedingungen damit bilden.

Achtung: Beim Anlegen des Beispiels wurde ein kleiner Fehler festgestellt. Damit der Filter mit dem Parameter zusammen funktioniert ist es erforderlich die Definition im „Memory“ Modus auszuführen . Das Problem wird mit der nächsten Version bereinigt.

Dateianhang:

Dateiname: csv-insert...ate2.zip
Dateigröße:13 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
9 Jahre 3 Monate her #1803 von Niels
Niels antwortete auf mehrfache Einträge filtern
Genial!
Leider unterstützt der Memory-Modus keine Write-Multi-Adapter-Konfiguration.
Aber das ist nicht dramatisch - da warte ich auf das Update.

Danke
Niels

Bitte Anmelden um der Konversation beizutreten.

Mehr
9 Jahre 3 Monate her - 8 Jahre 2 Monate her #1804 von FlowHeater-Team
FlowHeater-Team antwortete auf mehrfache Einträge filtern
über folgenden Link können Sie sich eine erste Preview der demnächst erscheinenden Version 3.5.2 herunterladen.

FlowHeaterBeta.zip

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: 8 Jahre 2 Monate her von FlowHeater-Team.

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.446 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.