Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
×

Erweiterte Suche

Suche nach Stichwort
×

Suchoptionen

Finde Beiträge von
Ergebnisse sortieren nach
Suche zu einem bestimmten Zeitpunkt
Zu Resultat springen
Suche in Kategorien
×

Suchergebnisse

Gesucht wurde: filter
12 Okt 2021 17:34
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Das geht leider nicht über eine Definition bzw. Verarbeitungsschritt. Der definierte Filter wirkt sich immer auf den kompletten Verarbeitungsschritt aus.

Ihre erstellte FlowHeater Definition müsste dazu etwas umgestellt werden)
Bevor die Daten in die MS SQL Server Tabellen importiert werden können, müssten diese über vorgelagerten Verarbeitungsschritt aufbereitet werden.

Hierzu am besten die Importdatei (ich gehe mal von Text bzw. CSV aus) im ersten Verarbeitungsschritt in eine FlowHeater interne InMemory Adapter Tabelle einlesen. Während des Einlese Vorgangs können die einzelnen Sätze/Zeilen geprüft und ggf. gefiltert werden. Im zweiten (ggf. dritten, ...) Verarbeitungsschritt können die Daten dann ganz normal in die MS SQL Server Tabellen Importiert werden.

Wie viele unterschiedliche Verarbeitungsschritte Sie benötigen hängt von Ihren Daten und dem Tabellenaufbau ab.

 
Kategorie: SqlServer Adapter
12 Okt 2021 15:05
  • TWerse
  • TWerses Avatar
Hallo,
beim Import aus einer Datei sollen je nachdem, ob gewisse Spalten gefüllt sind, u.U. mehrere Datensätze auf der WRITE-Seite angelegt werden.
D. b., es soll gleichzeitig z.B. in einer Tabelle der Hauptdatensatz und dann in einer weitere Tabelle mehrere Untereinträge gemacht werden.
Dazu benutze aktuell ich den SQLServer-Adapter mehrfach mit der gleichen Tabelle.
Wie kann man jetzt das Schreiben nur in einen der Adapter filtern, wenn auf der READ-Seite in der Spalte nichts, bzw. etwas falsches drin steht?
Es soll damit verhindert werden, dass leere Einträge entstehen.
Mittels Filter Heater wird der komplett eingelesene Datensatz bei mir gefiltert.
 
Kategorie: SqlServer Adapter
07 Jun 2021 15:49
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Schaffer,

um Daten während der Verarbeitung im FlowHeater zu filtern wird eine Kombination aus dem IF-THEN-ELSE Heater zusammen mit dem Filter Heater benötigt.

In der Hilfe zum Filter Heater finden Sie u.a. auch ein Tutorial Video, wo das Zusammenspiel der beiden Heater/Funktionen genauer erklärt wird. Dabei ist es egal welche Eingangsdatenquelle verwendet wird. Das beschriebene Vorgehen funktioniert sowohl mit dem Excel Adapter wie auch mit dem TextFile Adapter für CSV Dateien, etc.

Hier finden Sie weitere Beispiele zur Datenfilterung)
  1. Eingangs Daten Filter setzen
  2. Daten filtern und gruppieren
  3. weitere Beispiele zur Filterung von Datensätzen ...

 
Kategorie: Excel Adapter
29 Apr 2021 13:06
  • Gerhard Samstag
  • Gerhard Samstags Avatar
Hallo Robert,

das ist ja eine super Lösung. Vielen vielen Dank.

Ganz besonders für den extra Service mit der fhd-Datei. Das hat mir sehr geholfen. Die Lösung von Dir ist auch bereits implementiert und funktioniert zu 100%.

Also Danke nochmals und 1000% TOP-JOB
Gerhard
 
Kategorie: TextFile Adapter
29 Apr 2021 06:02
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Gerhard,

am einfachsten geht es über den .NET Script Heater und untenstehenden kleinen C# Skript. Im Anhang findest du ein kleines Beispiel dazu.

Das Skript erwartet das Feld mit dem CSV Feld als Eingang. Dann wird der Inhalt anhand eines Leerzeichen in einzelne Teile zerlegt. Diese Teile werden nun geprüft ob hier „-like-“ vorkommt. Ist dies der Fall wird dieser Teile zurückgeliefert. Falls die Zeichenfolgen „-like-“ nicht vorkommt wird eine Leere Zeichenfolge zurückgeliefert.

C# Skript: Extended String Split
public object DoWork()
{
    if (InValues.Length != 1)
        throw new Exception("Ein Eingangsparameter erwartet!");

    // Ersten Eingangsparameter holen
    string value = (string)InValues[0].GetString();

    // Aufteilen anhand Leerzeichen als Trennzeichen
    string [] parts = value.Split(' ');

    // über alle Teile gehen und prüfen ob -like- vorkommt
    foreach (string part in parts)
    {
        if (part.IndexOf("-like-", StringComparison.OrdinalIgnoreCase) > 0)
        {
            // wenn gefunden den Teil zurückgeben
            return part;
        }
    }

    // Falls nicht gefunden Leere Zeichenfolge zurückgeben
    return String.Empty;
}


 

Dateianhang:

Dateiname: extented-split.zip
Dateigröße:6 KB
Kategorie: TextFile Adapter
29 Apr 2021 05:16
  • Gerhard Samstag
  • Gerhard Samstags Avatar
Hallo Robert,

ich bräuchte mal Deine Unterstützung. Folgendes Szenario darf ich bewältigen:
1) Lesen einer CSV-Datei und schreiben in einen SQL-Server
2) Diverse Felder werden dabei gemappt.
3) Ein Feld beinhaltet jetzt meine Herausforderung. Das Feld kann z.B. folgenden Inhalt haben (Trennzeichen ist immer ein Leerzeichen):
"aa bb cc-like-dd ee ff"
"dd-like-gg kk jj uu"
"ee uu zz uu-like-vv"
"ii-like-bb"

Das Ergebnis was ich in eine Spalte auf der Write-Seite schreiben muss ist:
"cc-like-dd"
"dd-like-gg"
"uu-like-vv"
"ii-like-bb"
Das Zauberwort-Wort lautet "-like-". Den Text rechts und links von "-like-" muss ich auch unbedingt übertragen.

Als möglich Lösung ist mir eingefallen, dass ich im ersten Verarbeitungsschritt die Datei "normal" und ohne dieses Feld verarbeite. Im zweiten Verarbeitungsschritt lese ich nur die Zeilen-ID und dieses Feld ein, nutze dann einen Splitt-Header auf die erste Spalte und Filtere dann nach "-like-" (wobei ich den Bergriff "contain" im Heater noch finden muss) und schreibe bei einem Treffer den Inhalt per Update in die Tabelle. Das wiederholte ich dann in weiteren Verarbeitungsschritten für alle möglichen weiteren Spalten (max 9).

Hättest Du da eine elegantere Lösung?

Vielen Dank schon jetzt für Deine Unterstützung und viele Grüße
Gerhard
Kategorie: TextFile Adapter
04 Apr 2021 13:37
  • Boris
  • Boriss Avatar
04 Apr 2021 09:19
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Boris,

das Problem in Ihrem Fall ist das Feld ID. Einmal ist das nicht mit der WRITE Seite verbunden und zum anderen ist das Feld vom Typ „Auto Inkrement“, zählt also automatisch hoch.

Ich kenne Ihre Daten jetzt nicht, aber vermutlich ist diese Information (ID) nicht in Ihren CSV Dateien enthalten? Wenn dem so ist, müssen Sie bei diesem Feld den Haken bei „Primary Key“ entfernen, „Auto Inkrement“ aber lassen. So prüft der FlowHeater anhand aller definierten Schlüsselfelder, ob ein Datensatz bereist eingefügt wurde.

Hinweis: Sie sollten nur die Felder als Schlüsselfeld deklarieren, worüber sie auch feststellen möchten ob ein gleicher Datensatz bereits eingefügt wurde. Wenn das alle, außer dem Feld ID sind, dann ist das so  Meistens sollten dafür aber ein paar wenige Felder ausreichen.
 
04 Apr 2021 08:16
  • Boris
  • Boriss Avatar
die Bilder sollten rein ) 
04 Apr 2021 08:11
  • Boris
  • Boriss Avatar
Ich muss es noch mal nachfragen da ich nicht vom Fach bin und noch einiges unklar ist. So wie ich das verstanden habe kann ich alle Felder auf der Write Seite auswählen und zu Primary Key machen. In meiner Datenbank ist aber nur ID als Primary Key definiert. 
Ich habe gerade so laufen lassen und in der Datenbank waren doppelte Einträge drin.
 
03 Apr 2021 08:28
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Boris,

die Prüfung, ob ein Datensatz bereits existiert oder nicht, können Sie dem Datenbank Adapter überlassen. Wenn Sie hier auf der WRITE Seite die Optionen „Daten anfügen (Insert)“ und „Vorhandene Datensätze ignorieren“ auswählen (siehe Screenshot), prüft der Datenbank Adapter das anhand der definierten Schlüsselfelder (Primary Key) automatisch.

Wenn jetzt die ausgelesenen Primary Key Felder nicht zu Ihrer Prüfung passen, können Sie das auf dem Reiter „Felder / Datentypen“ auch noch an Ihre Bedürfnisse anpassen. Hier einfach alle Felder auswählen bzw. abwählen, anhand der Datenbank Adapter die Prüfung vornehmen soll.

Wenn die Definition dann soweit angepasst wurde können Sie die 500 CSV Dateien über die Batch Modul Option /ReadFilename und der Angabe von Wildcards auf einen Rutsch verarbeiten.

z.B. FHBatch.exe /ReadFileName C:\Temp\*.csv import.fhd

Insert Optionen
 


Schlüsselfelder (Primary Key) auswählen
 
 
02 Apr 2021 08:22
  • Boris
  • Boriss Avatar
Hallo, Ich habe eine Frage zu Filter und Batch Verarbeitung.

Angenommen gibt es 500 csv Dateien die in eine Datenbank geschrieben werden sollen. Unter diesen Dateien gibt es doppelte mit dem gleichen Inhalt, Datum und die Werte sind gleich. Diese gleichen Dateien sind aber an unterschiedlichen Tagen erstellt worden.
Ist es möglich beim Batch Verarbeitung zu überprüfen ob die Daten schon in der Datenbank vorhanden sind und diese Datei beim Verarbeiten auszulassen?

Unter diesem Video https://www.youtube.com/watch?v=4UAr0FypE_Y&feature=youtu.be  wird erklärt wie Filter innerhalb der Datei funktionieren um Doppelte Werte zu entfernen, wie ist es aber mit kompletter Datenquelle?
27 Feb 2021 09:16
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Guerre,

Master Detail Beziehungen während eines Datenimportes abzubilden ist immer eine Herausforderung und kann nicht pauschal beantwortet werden.

Über folgenden Link finden Sie ein ausführliches Beispiel, das beschreibt wie mit dem MySQL Adapter Daten migriert werden können, es wird hier auch auf Master/Detail bzw. eins zu n (1:n) Beziehungen genauer eingegangen: Beispiel -> Daten nach MySQL migrieren

Wenn Sie anschließend weitere Fragen haben können wir gerne darauf noch detaillierter eingehen. Bitte hier dann etwas ausführlicher beschreiben was genau gemacht werden soll und womit es Probleme gibt.


Zu Ihren weiteren Fragen

Import von Detailsätzen vermeiden falls Master fehlschlägt)
In den Standardeinstellungen wird der komplette Importvorgang abgebrochen bzw. zurückgerollt falls ein Fehler aufgetreten ist. Bedeutet, dass die Datenbank anhand von Transaktionen den Zustand automatisch wieder herstellt, der vor der Ausführung vorgelegen hat.

Testen von bestimmten Verarbeitungsschritten)
Sie können Verarbeitungsschritte ganz einfach deaktivieren und auch wieder aktivieren, siehe Screenshot. Das Problem ist aber meistens, dass die Verarbeitungsschritte aufeinander aufbauen und ein separater Test dann evtl. nur schwer durchführbar ist.

Datensätze während Datenimport Filtern)
Daten können während der Verarbeitung über den Filter Heater und mittels IF-THEN-ELSE Bedingung ausgeschlossen werden. Über folgenden Link gibt es auch ein YouTube Video dazu. YouTube Video -> Daten filtern 


Kategorie: MySQL Adapter
08 Feb 2021 07:15
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Müller,

zu 1) können Sie bitte Ihre erzeugte Definition inkl. Testdaten hier posten. Ich kann jetzt nur raten was evtl. nicht passt. Eine etwas genauere Beschreibung, was genau durchgeführt werden soll, wäre auch hilfreich :-)

zu 2) Datensätze filtern geht mit dem IF-THEN-ELSE Heater in Kombination mit dem Filter Heater . Hier finden Sie ein ausführliches YouTube Video dazu: Daten filtern – Quick Tutorial
Kategorie: Access Adapter
07 Feb 2021 20:02
  • Peter Müller
  • Peter Müllers Avatar
Hallo Herr Stark, alle zusammen,

ich probiere gerade die Flow-Heater Software aus und bin begeistert, wie gut Sie funktioniert.

Allerdings stolpere ich gerade über die folgenden Problem und stelle die Fragen hier mal ins Forum:

1. Ich habe einen IF - Heater eingebaut, der auch wunderbar funktioniert. Nun möchte ich weitere Datensätze mit der dem gleichen Filter entspricht mit dem Append - Heater hinzufügen, aber nun bekomme ich leider keinen Datensatz mehr angezeigt, sondern nur noch den Hash(#).

Was mache ich denn falsch?

2. Ich habe einen neuen Datensatz erstellt, der keine Einträge hat, kann ich diesen irgendwie einfach löschen oder rausfiltern aus der Write-Liste?

Gibt es diese Möglichkeit, und wenn ja wie?

Viele Grüße Peter
Kategorie: Access Adapter
1 - 15 von 323 Ergebnissen angezeigt.
Ladezeit der Seite: 0.440 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en