FlowHeater Demo Video
 
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
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
08 Okt 2020 17:24
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Höger,

Dazu benötigen Sie den Filter Heater zusammen mit einer Filterbedingung die über den IF-THEN-ELSE Heater gebastelt werden kann.

Da es hierzu schon etliche Beispiele gibt möchte ich hier nur darauf verweisen.
  1. Eingangs Daten Filter setzen 
  2. Daten filtern und gruppieren 
  3. weiter Beispiel zur Filterung von Datensätzen … 
Kategorie: Allgemein
06 Okt 2020 16:59
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Barz,

Im Prinzip das gleiche Vorgehen wie in Ihrer vorherigen Frage " Eine Filterabfrage starten “.

Vorgehensweise
Sie lesen die erste Datei ein. Hier bilden Sie aus den Feldern Artikelnummer und Preis einen Schlüssel, den Sie in eine InMemory Adapter Tabelle importieren.

Dann lesen Sie die zweite Datei. Bilden wieder den gleichen Schlüssel über die Felder Artikelnummer und Preis und prüfen jetzt über den String Replace Heater ob der Schlüssel in der im ersten Verarbeitungsschritt befüllten InMemory Tabelle bereits vorhanden ist. Wenn nicht wird hier „Ja“ zurückgegeben. Über diesen Wert können Sie dann wieder eine Filterbedingung bauen um die unnötigen Zeilen über den Filter Heater zu filtern.

Im Anhang finden Sie ein kleines Beispiel dazu.



Dateianhang:

Dateiname: datei-vergleich.zip
Dateigröße:11 KB
Kategorie: TextFile Adapter
05 Okt 2020 16:56
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Barz,

ja das ist möglich, erfordert aber einen vorgelagerten Verarbeitungsschritt. Hier muss über die Artikelnummer (ohne Zusatz) und dem gleichen Preis die Anzahl ermittelt werden.

Hierzu benötigen wir einmal den String Split Heater . Der wird so eingestellt, dass die eingehende Zeichenfolge über eine Unterstrich getrennt werden soll und die erste Teilzeichenfolge wird zurückgegeben. Diese getrennte Zeichenfolge wird nun zu einem AutoID Heater weitergereicht. Als zweiten Eingangsparameter wird hier noch der Preis mit übergeben. So kann der AutoID Heater , mit aktivierter Option „gleiche Eingangsparameter“ zählen, gezählt werden, ob ein Preis doppelt vorkommt oder nicht. Kommt ein Preis doppelt vor wird für eine Artikelnummer mehr als 1 gezählt.

Das Ganze wandert in eine temporäre InMemory Adapter Tabelle. Achtung hier wird anhand des ersten Teiles der Artikelnummer die Anzahl aktualisiert! (=Update auf die temporäre Tabelle)

Im zweiten Verarbeitungsschritt verwenden wir diese Anzahl um die Daten zu filtern. Zuerst wieder über den String Split Heater den ersten Teil der Artikelnummer holen. Diesen verwenden wir dann im String Replace Heater für eine Daten Lookup auf die im ersten Verarbeitungsschritt befüllte InMemory Adapter Tabelle und holen uns die Anzahl. Damit können wir nun eine IF-THEN-ELSE Bedingung bauen um die Daten zu filtern , wenn Anzahl ungleich 1 dann filtern, siehe Screenshot.

Im Anhang finden Sie ein kleines Beispiel dazu.



Dateianhang:

Dateiname: anzahl-pre...tern.zip
Dateigröße:11 KB
Kategorie: TextFile Adapter
1 - 15 von 170 Ergebnissen angezeigt.
Ladezeit der Seite: 0.799 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