Willkommen,
Gast
|
×
Erweiterte Suche
×
Suchergebnisse
Gesucht wurde: csv lookup
27 Jun 2016 18:22 | |
---|---|
|
Hallo Herr Elsner,
es gibt derzeit zwei Möglichkeiten sowas durchzuführen.
Kategorie: TextFile Adapter
|
12 Apr 2016 06:17 | |
---|---|
|
Hallo Herr Brandt,
um mehrere READ Quellen miteinander zu verknüpfen gibt es mehrere Möglichkeiten. In Ihre Fall die einfachste wird es sein einfach die zwei Tabellen bereits beim Lesen mit dem Datenbank Adapter auf der READ Seite über einen SQL JOIN miteinander zu verknüpfen. z.B.
SELECT * FROM tabelleA LEFT JOIN tabelleB on tabelleA.Artikelnummer = tabelleB.Artikelnummer
Der LEFT JOIN wird in Ihrem Fall benötigt da in Tabelle B nicht alle Datensätze vorhanden sind. Andere Möglichkeiten mehrere READ Quellen miteinander zu verknüpfen wären.
Dazu benötigen Sie den IF-THEN-ELSE Heater , über den Sie die Bedingung definieren „Wenn Lager größer gleich 9995 und kleiner gleich 9999“ dann subtrahiere von dem Wert den Bestand aus Tabelle B. Der IF-THEN-ELSE Heater leitet den Wert der Tabelle B nur an den Subtraction Heater weiter wenn die Bedingung zutrifft, im Anhang finden Sie ein kleines Beispiel dazu.
Kategorie: TextFile Adapter
|
29 Mär 2016 05:42 | |
---|---|
|
Hallo Herr Birk,
der String Replace Heater Funktioniert so wie er es soll ![]() Hier mal ein Beispiel Ihrer Konfiguration mit Zeichen. Nehmen wir als Input die Zeichenkettte „abc“. Wenn sie nun in Ihrer Liste a;A b;B c;C stehen haben würde der String Replace Heater aus klein „abc“ -> groß „ABC“ machen. Die Funktionalität ist für einen CSV Lookup (das ist denke ich was Sie möchten) nicht sinnvoll. Hierzu müssen Sie den String Replace Heater so konfigurieren, dass die Eingangszeichenfolge als Ganzes verglichen wird, im Screenshot sehen Sie die komplette Konfiguration. So ist sichergestellt dass eine „1“ im Wert „1000“ nicht bereits durch „eins000“ ersetzt wird bevor der eigentliche Wert „1000“ in der CSV Ersetzungsliste drankommt, der dann natürlich nicht mehr greift.
Kategorie: Allgemein
|
08 Mär 2016 06:35 | |
---|---|
|
Hallo Herr Hesse,
mehrere Adapter werden derzeit nur auf der WRITE Seite unterstützt, für die READ Seite ist es in Planung. Der FlowHeater unterstützt aber zwei andere Leistungsfähige varianten um mehrere CSV Dateien miteinander zusammenzuführen.
Kategorie: TextFile Adapter
|
11 Nov 2015 20:25 | |
---|---|
|
Hallo Herr Rabe,
hierzu gibt es zwei mögliche Varianten.
Kategorie: Excel Adapter
|
03 Okt 2015 08:17 | |
---|---|
|
Hallo Herr Brandt,
das können Sie über einen CSV Lookup mit dem String Replace Heater durchführen. Sie benötigen dazu eine CSV Textdatei , die mindestens eine Spalte mit den zu verarbeitenden Kundennummern enthält. Diese CSV Datei tragen Sie im String Replace Heater als Ersetzungsdatei ein die für den CSV Lookup verwendet werden soll. Der String Replace Heater prüft nun anhand dieser Liste ob die Eingegebene Kundennummer vorhanden ist und liefert die angegebene Spalte zurück, in Ihrem Fall ist das die gleiche Spalte. Nun müssen Sie noch angeben, dass der String Replace Heater einen definierten Standardwert zurückliefern soll wenn der Eintrag nicht gefunden wurde. Auf diesen Rückgabewert können Sie nun eine IF-THEN-ELSE Bedingung anwenden um die nicht gewollten Datensätze zu filtern . Im Anhang habe ich Ihnen ein kleines Beispiel beigefügt.
Kategorie: TextFile Adapter
|
19 Jun 2015 07:10 | |
---|---|
|
Hallo Herr Wende,
das geht über einen CSV Lookup mit Hilfe des String Replace Heaters . Vorgehen Auf der READ Seite lesen Sie Ihre zweite CSV Datei und verbinden die Felder mit der CSV Datei der WRITE Seite des TextFile Adapters . Dann benötigen Sie einen String Replace Heater um in der ersten CSV Datei nachzusehen ob ein passender Datensatz vorhanden ist. Falls nicht wird der Heater so konfiguriert, dass der Wert „Nicht gefunden“ zurückgeliefert wird. Mittels dieser Rückgabe wird eine Filterbedingung gebildet um die die nicht benötigten CSV Sätze zu filtern . Im Anhang finden Sie ein kleines Beispiel dazu. Der String Append Heater wird benötigt um die Textbegrenzungszeichen („Hochkommas“) wieder an den Inhalt anzufügen, damit kann der String Replace Heater noch nicht umgehen. Das hier beschriebene Vorgehen kann auch mit CSV Dateien mit 60.000 Zeilen verwendet werden. Um noch größere Datenmengen verarbeiten zu können kann auch der Umweg über eine Temporäre Datenbank gemacht werden. Hier finden Sie ein kleines Beispiel dazu: CSV und Excel Daten über SQLite Datenbank zusammenführen
Kategorie: TextFile Adapter
|
09 Jan 2015 06:27 | |
---|---|
|
Hallo Marcus,
um zwei CSV Textdateien zusammenzuführen gibt es mehrere Möglichkeiten. Wenn wie in Ihrem Fall nur wenige Daten aus einer zweiten CSV benötigt werden können Sie das über den String Replace Heater im erweiterten Modus mit Hilfe eines CSV Lookups durchführen. Ein Beispiel wie so ein CSV Lookup funktioniert finden Sie hier: CSV Lookup Beispiel Hinweis: Pro Wert den Sie so aus der zweiten CSV Datei holen möchten benötigen Sie einen separaten String Replace Heater. Etwas komplizierter aber dafür wesentlich leistungsfähiger geht es über eine temporäre Datenbank. Wie das geht ist in einem ausführlichen Beispiel hier beschrieben: CSV und Excel Daten über SQLite Datenbank zusammenführen Hier wird das zwar anhand einer CSV und einer Excel Datei beschrieben, die Logik kann aber auch auf zwei CSV Dateien angepasst werden.
Kategorie: TextFile Adapter
|
29 Dez 2014 06:44 | |
---|---|
|
Hallo Herr Brenz,
der Export von mehreren SQL Server Tabellen in eine CSV Textdatei ist relativ einfach. Hierzu müssen Sie lediglich das SQL SELECT Statement auf der READ Seite anpassen und die weiteren Tabellen über einen JOIN miteinander verknüpfen. Beispiel SQL Select Statement select p .name, p .gebdat, w.wohnort, v.verein from t_person as p inner join t_wohnort as w on p.wohnortid = w.id inner join t_verein as v on p.vereinid = v.id ‚ evtl. weitere SQL Server Tabellen order by p.name So verknüpft der SQL Server die Tabellen miteinander und liefert die richtige Ergebnismenge zurück. Der Import ist deutlich komplizierter es gibt hierzu mehrere Möglichkeiten. Am einfachsten geht es über mehrere Definitionen die nacheinander ausgeführt werden. Sie benötigen für jede SQL Server ID Tabelle eine separate Import Definition. z.B.
Wenn Sie in diesen Import Definitionen die Option „Daten anfügen (Insert)“ sowie „Vorhandene Datensätze ignorieren“ aktivieren und dann noch den Ausgelesenen Primary Key von der AutoWert (ID Spalte) auf z.B. den Wohnort oder Vereinsnamen legen, prüft der FlowHeater automatisch anhand dieses Wertes ob ein passender Datensatz bereits existiert und fügt nur einen neuen Datensatz an wenn der Wert noch nicht vorhanden ist. Weitere Informationen dazu finden Sie hier: Import CSV Textfile zu MSSQL vorhandene Datensätze überspringen Zum Schluss benötigen Sie noch Ihre eigentliche CSV Datenimport Definition. Um die ID Werte zu holen benötigen Sie für jede ID Spalte (Wohnort, Verein, …) einen SQL Heater über den Sie einen Daten Lookup abbilden. Beispiel ID Lookup SQL Statement select id from t_verein where verein = ‚$VEREIN_AUS_CSV$‘ der Parameter „$VEREIN_AUS_CSV$“ muss dazu vorher mittels des Set Parameter Heaters gesetzt werden. Im Anhang finden Sie ein Beispiel dazu inkl. einer Access Datenbank . Hinweis: Die einzelnen Daten Import Definitionen können mittels des Batch Moduls und eines kleines CMD Skripts automatisiert hintereinander ausgeführt werden. Beispiel Batch CMD Skript @echo off FHBatch.exe CSV-Abgleich-Wohnorte.fhd FHBatch.exe CSV-Abgleich-Vereine.fhd FHBatch.exe CSV-Import-Personen.fhd Ein genaueres Beispiel finden Sie hier: Automatisierter Batch CSV Import mit MS Access
Kategorie: SqlServer Adapter
|
07 Nov 2014 06:35 | |
---|---|
|
Hallo Herr Bojic,
um herauszufinden welche Elemente in Ihrem CSV Lookup nicht vorhanden sind müssen Sie einmal im String Replace Heater einen Default Wert definieren, der zurückgegeben wird falls kein passender Eintrag in Ihrer CSV Ersetzungsliste gefunden wird. Über diesen Rückgabewert können Sie nun einen Filter legen, als Bedingung verwenden Sie den definierten Default Wert. Im IF-THEN-ELSE können Sie nun die Bedingung negieren so können Sie einmal sehen welche Werte überhaupt nicht vorhanden sind bzw. nur Werte verarbeiten die auch in Ihrer CSV Ersetzungsliste vorhanden sind. Im Anhang finden Sie ein kleines Beispiel dazu.
Kategorie: Allgemein
|
09 Aug 2014 10:03 | |
---|---|
|
Hallo Herr Bojic,
ich denke Sie möchten nicht sortieren sondern lediglich einen Abgleich (Daten Lookup) durchführen? Je nachdem welche bzw. wie Ihre Daten vorliegen gibt es hier mehrere Möglichkeiten. Textdateien über einen CSV Lookup mittels des String Replace Heaters . Oder aber wenn die Daten in einer Datenbank vorhanden sind können Sie den SQL Heater oder aber den Lookup Heater dazu verwenden. Wenn Sie hier im Forum nach CSV Lookup oder generell Lookup suchen finden Sie bereits einige Beispiele. PS: Ich helfe Ihnen wirklich gerne, aber zukünftig bitte wenn Ihre Frage beantwortet ist hier noch eine kurze Antwort posten, Danke.
Kategorie: Allgemein
|
09 Aug 2014 09:47 | |
---|---|
|
Hallo Herr Bloess,
Sie benötigen für jede CSV Satzart eine separate Definition. Hier fügen Sie zu allererst einen Filter ein, so dass nur die gewünschte CSV Satzart verarbeitet wird. Ich habe Ihnen mal eine Beispiel für die CSV Satzart C* erstellt. Das Beispiel verwendet eine Access Datenbank und ist komplett funktionsfähig. Würde aber auch mit dem SQL Server zusammen laufen. Dann verwende ich im Beispiel eine Kopfzeile um die darin enthaltene „Kunden-Nr“ zu extrahieren. Die Kopfzeile wird dabei komplett in den Parameter $KOPF$ eingelesen, der dann mit Hilfe des String Split Heaters lediglich die gewünschte „Kunden-Nr“ zurückliefert. Für die VID verwende ich einen SQL Heater . Den dafür erforderlichen Parameter setzen wir vorher mittels des Set Parameter Heaters . Hinweis: Der SQL Heater ist wesentlich einfacher und flexibler als der Datenbank Lookup Heater , deshalb wurde er in dem Beispiel verwendet. Das setzen des Autowert Feldes „ID“ ist nicht erforderlich, darum kümmert sich die Datenbank. Alle anderen Felder wurden nur 1:1 durchgereicht. Für die CSV Satzart P* müssten Sie sich auf diese Basis eine weitere Import Definition basteln. Über das Batchmodul können Sie dann die beiden Import Vorgänge automatisiert zusammen ausführen lassen. Hier noch ein kleines Beispiel wie mit Hilfe des Batch Moduls CSV Dateien automatisiert eingelesen werden können: Automatisierter Batch CSV Import mit MS Access
Kategorie: TextFile Adapter
|
09 Jul 2014 19:01 | |
---|---|
|
Hallo Herr Neumann,
der einfachste Weg das zu realisieren ist über den Umweg eines CSV Lookup mittels des String Replace Heaters . Dazu müssen Sie zuerst eine Excel Datei, die mit den neuen Personalnummern, in eine CSV Textdatei umwandeln. Fassen Sie dabei alle Schlüsselfelder, in Ihrem Fall Vorname und Nachname, zu einer Ausgabespalte in der CSV Datei zusammen. Dazu verwenden Sie den String Append Heater und geben als Feldtrennzeichen z.B. das Zeichen # an. Hinweis: CSV Spaltentrennzeichen ist weiterhin ein Strichpunkt. Wenn die „lookup.csv“ steht können Sie die eigentliche Definition angehen, die die Ihre Excel Arbeitsmappe liest und eine neue Excel Arbeitsmappe schreibt. Hier fassen Sie wiederum die Schlüsselfelder „Vorname“ und „Nachname“ mittels des String Append Heater zusammen, das Trennzeichen # nicht vergessen. Den Output übergeben Sie an den String Replace Heater. Mit dessen Hilfe können Sie nun aus der oben erzeugten „lookup.csv“ die neue Personalnummer herausholen. Der Replace Heater muss noch so konfiguriert werden, so dass bei keiner Übereinstimmung (kein match) der Wert „NOT FOUND“ oder aber ein anderer nicht vorhandener Bezeichner zurückgeliefert wird. Das wird dann anschließend in einem IF-THEN-ELSE Heater geprüft um entweder die neue oder ggf. die alte Personalnummer dem Excel Feld auf der Ausgabeseite zuzuweisen. Im Anhang befindet zu eine kleines Beispiel.
Kategorie: Excel Adapter
|
21 Mai 2014 06:06 | |
---|---|
|
Hallo Herr Schütz,
mehrere „unterschiedliche“ Datenquellen werden zurzeit noch nicht unterstützt, allerdings gibt es einige Lösungsansätze wie Sie das bereits jetzt relativ einfach umsetzen können. Wenn ich Sie richtig verstanden habe geht es bei Ihnen darum mehrere Tabellen auf einmal zu exportieren. Wenn die Tabellen in einer gemeinsamen Datenbank vorliegen ist das der einfachste Fall. Hier können Sie auf der READ Seite diese Tabelle über SQL Joins miteinander kombinieren und auf einmal exportieren. z.B. select * from tabelle1 inner join tabelle2 on tabelle1.id = tabelle2.id Dann stehen weitere Möglichkeiten zur Verfügung um z.B. Ihre Daten aus ein, oder auch mehreren, CSV Daten anzureichern. Hier können Sie den String Replace Heater verwenden um einen CSV Daten Lookup zu implementieren. Ein Beispiel finden Sie hier: CSV Daten Lookup Weiter allerdings etwas komplizierter wird es wenn die Daten in mehrere unterschiedlichen Datenbanken vorhanden sind. Hier müsste der Umweg über eine separate Datenbank gewählt werden. Der FlowHeater bietet hier über den SQlite Adapter die Möglichkeit während der Verarbeitung eine temporäre Datenbank anzulegen hier werden die Daten mittels mehrere Definitionen gesammelt und am Schluss über eine Finale Definition in das gewünschte Format ( CSV , XLS , ...) exportiert. Wenn Sie mir etwas mehr Informationen geben, was Sie genau vorhaben, erstelle ich Ihnen gerne ein kleines angepasstes Beispiel dazu.
Kategorie: Allgemein
|
05 Mär 2014 07:07 | |
---|---|
|
Hallo Herr Kor,
das können Sie mit einem CSV Listen Lookup über den String Replace Heater realisieren. Ein Beispiel wie es geht finden sie hier. CSV Listen Lookup Das Wegschreiben von Zeilen die nicht vorhanden sind ist schon etwas schwieriger. Hierzu benötigen Sie einen .NET Script Heater und folgendes Skript. Im Anhang finden Sie ein Beispiel dazu. bool bFirst = true;
public object DoWork()
{
string filename = "nicht-in-csv-vorhanden.csv"; // Es gehen auch komplette Pfadangaben
if (InValues.Length < 2)
throw new Exception("min. zwei Parameter erwartet!");
string sIN = (string)InValues[0].GetString();
if (sIN == "NOT FOUND")
{
string sLine = String.Empty;
// CSV Zeile aufbauen, es werden alle Eingangsparameter, außer dem ersten in die Datei geschrieben
for(int i = 1; i < InValues.Length; i++)
{
if (sLine.Length != 0)
sLine += ";"; // CSV Trennzeichen
sLine += (string)InValues[i].GetString();
}
sLine += Environment.NewLine;
if (bFirst && File.Exists(filename))
File.Delete(filename);
File.AppendAllText(filename, sLine);
bFirst = false;
// aktuellen Satz filtern, da nicht in der CSV Datei vorhanden!
return true;
}
// aktuellen Satz nicht filtern
return false;
} Das Skript prüft den Ausgang des CSV Listen Lookup vom Replace Heater und schreibt, falls der Wert nicht aufgelöst werden konnte dies in eine Separate CSV Datei „nicht-in-csv-vorhanden.csv“. Der betroffen Datensatz wird dann noch mittels des Filter Heater gefiltert .
Kategorie: TextFile Adapter
|
Ladezeit der Seite: 1.542 Sekunden