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: filtern
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
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
16 Okt 2020 09:21
  • Andre Seiffert
  • Andre Seifferts Avatar
Super, vielen Dank. Damit funktioniert es einwandfrei! :)
Kategorie: XML Adapter
15 Okt 2020 17:19
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Seiffert,

dann muss das Skript noch leicht modifiziert werden. Mit dem beigefügten C# Skript wird geprüft ob eine „Division durch 0“ stattfindet, siehe unten.

Angepasstes C# Skript, Prüfung auf Division durch 0
public object DoWork()
{
    if ((InValues.Length -1) % 3 != 0)
        throw new Exception("Es müssen immer Dreierpaare angegeben werden!");

    // Ersten Eingangsparameter holen, dieser Wert wird gesucht!
    string search = (string)InValues[0].GetString();

    // alle anderen prüfen, und bei gefunden berechneten Wert zurückliefern
    for(int i = 1; i < InValues.Length; i += 3)
    {
        string current = (string)InValues[i].GetString();
        if (current == search)
        {
            decimal d1 = Convert.ToDecimal(InValues[i + 1].GetDecimal());
            decimal d2 = Convert.ToDecimal(InValues[i + 2].GetDecimal());
            
            // Prüfen auf Division durch 0
            if (d2 != 0)
            {
                return d1 / d2;
            }
            else
            {
                return d1;
            }
        }
    }

    // Falls nicht gefunden leere Zeichenfolge zurückgeben
    return "";
}
Kategorie: XML Adapter
15 Okt 2020 08:52
  • Andre Seiffert
  • Andre Seifferts Avatar
Hallo Herr Stark,

super, vielen Dank! Grundsätzlich funktioniert es.

Aber: Es gibt Artikel, die haben USER_DEFINED_ALTERNATIVE_QUANTITY_UNITS gepflegt, jedoch gibt es KEINE gepflegte Liefermengeneinheit bei USER_DEFINED_DELIVERY_QUANTITY. Anscheinend sorgt so eine Konstellation für eine Division durch 0 und es werden keine Werte ausgegeben. Zumindest erscheint folgende Meldung, wenn ein solcher Artikel in der XML vorhanden ist.

 

Kann man in so einem Fall den Abbruch verhindern?
Kategorie: XML Adapter
14 Okt 2020 16:53
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Seiffert,

das ist etwas komplexer und geht eigentlich nur noch über den .NET Script Heater (bzw. 2x) sowie untenstehende C# Skripte.

Das erste Skript gibt die „Alternative Liefermengeneinheit“ falls passend zurück. Das Skript erwartet als ersten Eingangsparameter den zu prüfenden Wert sowie alle weiteren möglichen (aus den XML Unterknoten) Liefermengeneinheiten.

Das zweite Skript gibt den berechneten Wert zurück falls die Liefermengeneinheit gefunden wurde. Dazu benötigt das Skript wieder als ersten Eingangsparameter den zu prüfenden Wert. Dann müssen pro Gruppe (XML Unterknoten) die Werte für „Alternative Liefermengeneinheit“, Alternative Liefermenge, sowie den Teiler übergeben werden.

Hinweis: Beide Skripte können beliebig viele Gruppen (XML Unterknoten) übergeben werden, es werden alle übergebenen Eingangsparameter dynamisch verarbeitet, lediglich die Reihenfolge ist wichtig!

Im Anhang finden Sie ein Beispiel dazu. Zwecks Vereinfachung wieder als Textdatei realisiert, kann aber auch für den XML Adapter verwendet werden.

Block 2 bzw. 3 (XML Unterknoten) kann beliebig oft übergeben werden, Reihenfolge beachten!



Skript 1)
public object DoWork()
{
    if (InValues.Length < 2)
        throw new Exception("Es werden mind. 2 Eingangsparameter benötigt");

    // Ersten Eingangsparameter holen, dieser Wert wird gesucht!
    string search = (string)InValues[0].GetString();

     // alle anderen Eingangsparameter prüfen und bei gefunden diesen zurückgeben
    for(int i = 1; i < InValues.Length; i++)
    {
        string current = (string)InValues[i].GetString();
        if (current == search)
            return current;
    }

    // Falls nicht gefunden leere Zeichenfolge zurückliefern
    return "";
}


Skript 2)
public object DoWork()
{
    if ((InValues.Length -1) % 3 != 0)
        throw new Exception("Es müssen immer Dreierpaare angegeben werden!");

    // Ersten Eingangsparameter holen, dieser Wert wird gesucht!
    string search = (string)InValues[0].GetString();

    // alle anderen prüfen, und bei gefunden berechneten Wert zurückliefern
    for(int i = 1; i < InValues.Length; i += 3)
    {
        string current = (string)InValues[i].GetString();
        if (current == search)
        {
            decimal d1 = Convert.ToDecimal(InValues[i + 1].GetDecimal());
            decimal d2 = Convert.ToDecimal(InValues[i + 2].GetDecimal());
            return d1 / d2;
        }
    }

    // Falls nicht gefunden leere Zeichenfolge zurückgeben
    return "";
}

Dateianhang:

Dateiname: xml-search-node.zip
Dateigröße:8 KB
Kategorie: XML Adapter
14 Okt 2020 06:16
  • Andre Seiffert
  • Andre Seifferts Avatar
Hallo Herr Stark,

bei einem Artikel der von der Fläche 0,5 m² groß ist und auch in abgerechnet wird, ist die Liefermengeneinheit (kleinste Abgabemengeneinheit) die PLATTE (PLT). Die Angabe der Liefermengeneinheit findet man in meiner XML in dem TAG USER_DEFINED_DELIVERY_QUANTITY.


In diesem Tag ist lediglich diese Einheit angegeben. Voraussetzung ist aber, dass diese Einheit auch bei diesem Artikel mit der entsprechenden Menge gepflegt ist. Dafür sind die TAGs USER_DEFINED_ALTERNATIVE_QUANTITY_UNITS enthalten. Pro Artikel gibt es aber mehrere mögliche Einheiten: Beispiel:

Kunststoffplatte 1x0,5m (= 0,5m²)
Paket = 12 Platten  (= 6m²)


Der FlowHeater soll also die Einheit, die unter USER_DEFINED_DELIVERY_QUANTITY gepflegt ist in den TAGs USER_DEFINED_ALTERNATIVE_QUANTITY_UNITS suchen. Wird sie gefunden, so soll die Einheit unter Alternative ME ausgegeben UND die Werte Numerator/Denominator dividiert werden und in das Feld Alternative ME Inhalt geschrieben werden.


Ich hoffe, ich habe es nun eindeutiger geschildert :)
Kategorie: XML Adapter
13 Okt 2020 17:07
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Seiffert,

ich habe das leider nicht ganz verstanden. Im Anhang finden Sie mal ein Beispiel wie Sie Berechnungen Anhand von Feldinhalten über den IF-THEN-ELSE Heater steuern können. Das Beispiel verwendet aber keine XML Datei , sondern eine Textdatei zur Veranschaulichung. Schauen Sie sich das mal an ob das das widerspiegelt was Sie suchen. Falls nicht bitte auf Basis dieses Beispiels etwas genauer beschreiben was Sie durchführen möchten, Danke.

Dateianhang:

Dateiname: xml-werte-...chen.zip
Dateigröße:7 KB
Kategorie: XML Adapter
13 Okt 2020 06:27
  • Andre Seiffert
  • Andre Seifferts Avatar
Hallo Herr Stark,

ich versuche aus einem TAG einer XML einen Wert herauszufiltern wenn ein anderer TAG diese Einheit enthält. Ist der Wert gefunden, so soll hier auch eine Division stattfinden und das Ergebnis der der Einheit auf der Write Seite weitergegeben werden.

Ich habe schon einiges versucht, komme aber nicht zum gewünschten Ergebnis. 

Am einfachsten ist dies über die angehängten Bilder zu erklären.

Ist das so umzusetzen?
Kategorie: XML Adapter
12 Okt 2020 06:58
  • Ralf Birk
  • Ralf Birks Avatar
Hallo Robert,

ich habe folgendes Problem mit dem Additions-Heater:
Ich habe einen Groupby auf ein Read-Feld. Mitt dem Additions-Heater zähle ich Werte aus einem Feld mit der Option "Auswirkung auf Grouby". Diesen Gesamtwert der Gruppe brauche ich in meiner Write-Datei, was auch ohne Probleme klappt.
Mein Problem ist, dass ich in der Ausgabedatei immer nur den ersten Datensatz der Gruppe benötige. Diese Datensätze herauszufiltern ist ja kein Problem (ID., IfThen- und Filter-Heater). Leider zählt er dann nur die gefilterten Werte zusammen (In diesem Fall immer den ersten Datensatz).
Wenn ich zum Testen die IFThen-Abfrage negiere bekomme ich auch die korrekten Gesamtwerte der (eigentlich nicht zu exportierenden) Daten.

Gibt es eine Möglichkeit auch bei gefiltzerten Daten die Gesamtsumme der Gruppe in den Write zu schreiben?
Wäre eine Zusätzliche Option im Additions-Heater (Z.B. "Groupby ungefiltert) möglich?

Vielen Dank schon einmal im Voraus

Gruß Ralf
Kategorie: Allgemein
11 Okt 2020 09:02
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Höger,

brandneu ist jetzt auch ein neues Quick Tutorial YouTube Video zum Filter Heater . Hier geht’s zum Video: Import/Export Daten filtern – Quick Tutorial
Kategorie: Allgemein
1 - 15 von 173 Ergebnissen angezeigt.
Ladezeit der Seite: 0.478 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