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
×

Suchergebnis

Gesucht wurde: string append heater
18 Nov 2019 06:18
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Schmidt,

hierfür benötigen Sie eine verschachtelte Bedingung. Im Anhang finden Sie ein kleines Beispiel dazu.

Die zwei Felder werden dabei erst einmal separat auf Ihre Richtigkeit geprüft. In Ihrem Fall einmal ob die dritte (bzw. fünfte) Spalte leer ist sowie ob die erste Spalte einen Wert größer als 9999 aufweist.

Achtung: Bei dieser Bedingung müssen Sie im IF-THEN-ELSE Heater den FlowHeater Datentyp auf einen Zahlen Datentyp (Integer, Decimal, Double oder Currency) ändern, siehe Screenshot. Ansonsten wird hier nicht der Zahlenwert, sondern Zeichenweise verglichen. Hier wäre dann 9 schon größer als 1000, da das erste Zeichen bereits eine höhere Zeichensatz Kodierung aufweist!

Als Rückgabewert, falls die Bedingung zutrifft, wird hier nur ein statischer Wert über den X-Value Heater zurückgegeben, im Beispiel das Zeichen „#“.

Diese beiden Vergleichswerte werden dann über einen String Append Heater zusammengefasst und ein weiterer IF-THEN-ELSE Heater prüft dann ob dieser zusammengefasste Wert „##“ ist. Das ist er nur der Fall, wenn beide vorherigen Bedingungen zutreffen. Hier können Sie dann Ihren statischen Wert im DANN Zweig der Bedingung zurückgeben. Im SONST Zweig wird das CSV Feld an die WRITE Seite weitergereicht.




Alternative, erfordert Grundkenntnisse in der Programmierung
Als Alternative zu diesem Vorgehen können Sie auch einen .NET Script Heater und untenstehendes C# Skript dafür verwenden. Wurde ebenfalls im Beispiel berücksichtigt.

C# Skript
public object DoWork()
{        
    if (InValues.Length != 2)    
        throw new Exception("Es werden 2 Eingangsparameter erwartet!");

    // ersten Eingangsparameter holen = 1. Spalte
    int zahl = (int)InValues[0].GetInteger();
    
    // zweiten Eingangsparameter holen = 3. Spalte
    string wert = (string)InValues[1].GetString();

    if (wert.Trim().Length == 0 && zahl > 9999)
    {
        wert = "3. Spalte leer und 1. Spalte größer 9999";
    }
    
    return wert;
}

Dateianhang:

Dateiname: mehrfach-b...gung.zip
Dateigröße:3 KB
Kategorie: Allgemein
28 Okt 2019 06:28
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Goldhahn,

ich habe es leider immer noch nicht verstanden.  Ich habe das Beispiel jetzt mal ein wenig erweitert. So wird jetzt aus dem SOLL Feld die Einheit extrahiert und am Ende an den Wert wieder angefügt.

Hierzu wird die Textdatei im ersten Verarbeitungsschritt zuerst in eine interne InMemory Tabelle eingelesen und per String Split und String Replace Heater der Wert sowie die Einheit jeweils in separate Felder ausgegeben. Im zweiten Verarbeitungsschritt wird dann die angereicherte  InMemory Tabelle gelesen und am Ende wird die Einheit per String Append Heater wieder an den Wert angefügt. Der zu ersetzende Wert wird dabei mittels eines FlowHeater Parameter angegeben.



Dateianhang:

Dateiname: verschacht...0-28.zip
Dateigröße:4 KB
Kategorie: TextFile Adapter
16 Aug 2019 05:18
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Herrmannsfeldt,

Bin mir nicht sicher ob ich das richtig verstanden habe, habe mal ein einfaches Beispiel dazu erstellt, siehe Anlage.

Im Beispiel wird im ersten Verarbeitungsschritt die CSV Datei in eine InMemory Adapter Tabelle eingelesen.

Info: Wenn Sie den SQL Server Export gleich richtig sortieren kann der erste Verarbeitungsschritt sowie der Umweg über die InMemory Adapter Tabelle weggelassen werden!

Im zweiten Verarbeitungsschritt wird dann die interne InMemory Adapter Tabelle sortiert anhand der Felder Artikelnummer und ListenID ausgegeben sowie über den GroupBy Heater wird dann die Verarbeitung anhand des Feldes Artikelnummer gruppiert. Jetzt können Sie die Feldinhalte anhand der Gruppierung über den String Append Heater zusammenfassen, als Trennzeichen verwenden Sie das gleiche Trennzeichen das für die CSV Datei verwendet haben.

Achtung: Für den String Append Heater muss die Gruppierung aktiviert werden, siehe Screenshot.

Auf der WRITE Seite geben Sie dann dieses gruppierte Feld in einem Feld aus. Wenn Sie Feldnamen mit ausgeben möchten, muss hierbei der Feldname für dieses Feld „PreisListe_1;PreisListe_2;PreisListe_3;PreisListe_4;PreisListe_5;… bis zum Maximum das Sie erwarten“ lauten!



Dateianhang:

Dateiname: gruppierun...8-16.zip
Dateigröße:196 KB
Kategorie: Excel Adapter
07 Aug 2019 08:49
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
16 Jun 2019 09:59
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr May,

hier fehlt wohl noch eine Option im String Append Heater . In der aktuellen Beta Version wurde im String Append Heater eine weitere Option „Bereits vorhandene Werte ignorieren“ hinzugefügt. Wenn Sie diese in Ihrer Definition aktivieren sollte das Ergebnis so sein wie Sie es erwarten, siehe Screenshot.



Beta Version Download
FlowHeater Beta 32 Bit
FlowHeater Beta 64 Bit
FlowHeater Server Beta
Kategorie: Allgemein
14 Feb 2019 19:05
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo HerrStelling,

ich gehe mal davon aus, dass Sie weiter keine Änderungen an den CSV Spalten bzw. den Inhalten vornehmen möchten? Der einfachste Fall mehrere CSV Zeilen, anhand eines Kennzeichens, zu einer Ausgabezeile zusammenzufassen ist folgender Trick.

Sie lesen auf der READ Seite die CSV Datei als ganze Zeile ein und ignorieren die einzelnen Spalten. Hierzu wählen Sie im TextFile Adapter , auf dem Reiter „Trennzeichen“ ein Spaltentrennzeichen, das in der Textdatei so nicht vorkommt. Im Beispiel, siehe Anhang, habe ich die Zeichen „###“ in Kombination verwendet. So liest der TextFile Adapter jede Zeile als eine Spalte ein.

Jetzt benötigen Sie den String Split Heater um die Zeile wieder in separate Spalten aufzuteilen um das Kriterium, anhand die Zeilen zusammengefasst werden sollen herauszufiltern. Im Beispiel ist das die zweite Spalte. Dieser Wert wandert zum GroupBy Heater , der alle gleichen Werte (der zweiten Spalte) zu einer Ausgabezeile zusammenfasst.

Zum Schluss benötigen Sie noch den String Append Heater , mit Auswirkung auf GroupBy und schon sind mehrere CSV Zeilen der READ Seite zu einer CSV Zeile WRITE Seite zusammengefasst. Im String Append Heater müssen Sie noch das normale CSV Trennzeichen angeben, das verwendet werden soll um die Zeilen miteinander zu verknüpfen.

Müssen die einzelnen CSV Spalten vorher noch bearbeitet / angepasst werden geht das natürlich auch, ist nur ein wenig komplizierter.



Dateianhang:

Dateiname: csv-zeilen...eren.zip
Dateigröße:2 KB
Kategorie: TextFile Adapter
05 Jan 2019 12:39
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Schauerte,

das können Sie mit dem AutoID Heater durchführen.  Hier müssen Sie lediglich die Option „Gleiche Eingangsparameter -> Alle gleichen Werte“ aktivieren, das war´s.

Um den aktuell gezählten Wert an die Artikelnummer zu hängenbenötigen Sie noch den String Append Heater . Zusätzlich wurde hier noch der String Format Heater verwendet um bei Werten ab 1000 das Tausendertrennzeichen zu unterdrücken!

Im Anhang finden Sie ein kleines Beispiel dazu.



Dateianhang:

Dateiname: gleiche-we...hlen.zip
Dateigröße:2 KB
Kategorie: MySQL Adapter
29 Dez 2018 09:48
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Schauerte,

am einfachsten wird es sein, wenn Sie dazu ein kleines Skript für den .NET Script Heater verwenden. Ich habe Ihnen das Skript soweit vorbereitet, siehe unten. Sie müssen im Skript lediglich die maximale Länge pro Spalte/Feld eintragen. Anhand dieser Angabe fügt das Skript in die übergebene Zeichenfolge jeweils ein Trennzeichen "-#-" an der Position der Teilzeichenkette ein die die Maximale Länge wiederspiegelt. Falls das verwendete Trennzeichen "-#-" bei Ihnen in den Zeichenfolgen vorkommen kann, ggf. ein anderes Trennzeichen verwenden.

Das Skript bzw. der .NET Script Heater erfordert einen Eingabeparameter mit der Zeichenfolge die dann mit dem Trennzeichen präpariert werden soll. Hierzu verwenden Sie den String Append Heater um die 5 ODBC Felder miteinander zu einer Zeichenfolge zu verbinden. Als Trennzeichen verwenden Sie hier ein Leerzeichen.

Um die so präparierte Zeichenfolge nun auf die 3 Spalten/Felder der MySQL WRITE Seite aufzuteilen benötigen Sie 3x den String Split Heater , der die Zeichenfolgen anhand des Trennzeichen „-#-“ in drei Teile aufteilt. Hinweis: Wenn Sie die Option „Warnung generieren, wenn Rückgabespalte größer als verfügbare Spalten“ deaktivieren, wird keine Warnung ausgegeben falls mal eine kürzere Zeichenfolge vorhanden sein sollte.

Im Anhang finden Sie ein kleines Beispiel dazu.

Dateianhang:

Dateiname: skript-str...plit.zip
Dateigröße:3 KB
Kategorie: MySQL Adapter
30 Okt 2018 06:02
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Seiffert,

Sie müssen im zweiten String Append Heater (siehe Screenshot und Markierung) die GroupBy Option aktivieren. So wird hinter dem Heater die gescheifte Klammer angezeigt.

PS: Anscheinend stimmt Ihre Auswahl der Codepage nicht, Umlaute werden nicht richtig angezeigt! Versuchen Sie mal auf der READ Seite UTF8 oder aber CP 1252 zu verwenden.

Kategorie: TextFile Adapter
29 Okt 2018 06:12
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Seiffert,

das können Sie über einen weiteren String Append Heater , der zuerst die 2 Spalten der Zeile zusammenfasst. Der zweite String Append Heater fasst dann die Werte der gruppierten Zeilen zusammen, siehe Beispiel im Anhang.



Dateianhang:

Dateiname: csv-lookup...0-29.zip
Dateigröße:2 KB
Kategorie: TextFile Adapter
26 Okt 2018 05:24
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Seiffert,

Sie müssen die CSV Lookup Datei bereits so erzeugen, dass hier die zusammengefasst werden. Das können Sie über den GroupBy Heater zusammen mit dem String Append Heater durchführen. Im Anhang finden Sie ein kleines Beispiel dazu.

Hinweis: Die Datenquelle muss dazu sortiert sein! Evtl. vorher mit dem Sort Heater sortieren.

Dateianhang:

Dateiname: csv-lookup...ssen.zip
Dateigröße:2 KB
Kategorie: TextFile Adapter
22 Okt 2018 08:37
  • Andre Seiffert
  • Andre Seifferts Avatar
Ich habe eine Datanorm dessen Spalten mit verschiedenen Sätzen markiert sind. Nicht zu berücksichtigende Sätze habe ich mit einem If-Then-Else Heater und einem Filter ausgeblendet. Ich habe folgende Ausgangslage:

Spaltenüberschriften Write-Seite: Satz;HAN;Kurztext1;Kurztext2;Preiseinheit;Mengeneinheit;Preis;Preistyp;Rabattgruppe;Langtext;Langtext_Satz;EAN

Zeile 1 Read Seite: A;0120708;Artikel 1 kurztext1; Artikel 1 kurztext2;0;ST;651,00;Bruttopreis;;;;
Zeile 2 Read Seite: B;0120708;;;0;0;40.280.630.015,32;0;;;;4123463001532

Von der Spalte B möchte ich jetzt das Feld EAN (also hier den Wert 4123463001532) in die 1 Zeile pro Artikel geschrieben haben. Leider erstellt der FlowHeater derzeit eine 2. Zeile für den identischen Artikel. Vermutlich muss der String Append Heater verwendet werden. Das bekomme ich leider nicht hin.

Wer kann helfen?
Kategorie: TextFile Adapter
02 Jul 2018 18:04
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Seiffert,

Um Bedingungen mit dem IF-THEN-ELSE Heater mit zwei Eingangsparameter vergleichen zu können müssen Sie einen kleinen Workaround anwenden.

Am einfachsten geht es wenn Sie die zwei Parameter vorher über einen String Append Heater vorher miteinander kopieren und dann in der Bedingung den kombinierten Wert vergleichen.

z.B. =99991231#net_list (hier wurde zusätzlich im String Append Heater das Zeichen # als Trennzeichen verwendet.

So geht es eigentlich relativ einfach. Im Anhang habe ich Ihnen ein kleines Beispiel basierend auf Ihre beigefügte XML Datei erstellt.

Allerdings gibt es hier ein kleines Problem. Sie wissen nicht wie viele Produktpreis Knoten in der XML Datei vorhanden sind. Im Beispiel habe ich jetzt mal die 6 Produktpreis verglichen die im ersten Artikel vorhanden sind. Würden jetzt 7 Preise zu einem Artikel geliefert würde der 7. (Preis)knoten nicht in die Verarbeitung mit einfließen, da der FlowHeater momentan XML Unterknoten nicht dynamisch lesen kann! Das sind derzeit leider die Grenzen bei der FlowHeater XML Verarbeitung auf der READ Seite.

Dateianhang:

Dateiname: xml-read.zip
Dateigröße:39 KB
Kategorie: Allgemein
15 Jan 2018 18:51
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Kober,

es gibt natürlich eine schlanke Lösung :) Der FlowHeater kann Problemlos CSV Daten gruppieren und den über mehrere Felder gruppierten Inhalt, getrennt durch Zeilenumbrüche, in ein separates Excel Feld Importieren. Im Anhang finden Sie ein kleines Beispiel.

Vorgehensweise
Sie benötigen dazu einen Sort Heater , nur falls die CSV Datenquelle nicht sortiert vorliegt.

Dann wird noch der GroupBy Heater benötigt um alle CSV Zeilen für die Excel Ausgabe zusammenzufassen. Im Beispiel verwende ich die CSV Felder „Nutzer“ und „ID“ für die Gruppierung der CSV Eingabedatei. Hinweis: Der GroupBy Heater benötigt für eine sortierte Datenquelle!

Feldmapping
Das Feld Nutzer wird 1:1 mit dem Excel Adapter verbunden. Um nun alle Kommentare zum Nutzer in ein separates Feld pro Nutzer zu schreiben benötigen zusätzlich einen String Replace Heater mit aktivierter „GroupBy“ Option. Hinweis: Die Option kann über das Kontextmenü des Heaters aktiviert werden!

Als Trennzeichen muss hier eine Zeichenkombination verwendet werden, die im normalen Text nicht vorkommt. Im Beispiel wurde „###“ verwendet. Hiermit werden alle Kommentare zu einem Nutzer zu einer einzeiligen Zeichenkette, getrennt durch „###“ zusammengefügt.
z.B. Kommentar 1###Kommentar 2###Kommentar …

Zum Schluss ersetzen wir dann noch mittels des String Replace Heater die temporären Trennzeichen „###“ jeweils durch einen Zeilenumbruch.



Dateianhang:

Dateiname: csv-excel-...eren.zip
Dateigröße:2 KB
Kategorie: Allgemein
13 Jan 2018 11:43
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Schanzel,

im Anhang finden Sie ein kleines Beispiel wie Sie das mit dem TextFile Adapter umsetzen können. Das Datum wird hier über mehrere Heater dynamisch gebildet.

Zuerst wird der Monat (1, 2, …) anhand des Namens (Januar, Februar, …) über eine CSV Ersetzungsliste mit Hilfe des String Replace Heater ermittelt. Anschließend wird er Wert über den String Append Heater zusammen mit der Jahreszahl und einem Statischen Wert ( X-Value Heater ) zu einem Datum zusammengefügt.

Dateianhang:

Dateiname: beispiel.zip
Dateigröße:2 KB
Kategorie: TextFile Adapter
1 - 15 von 95 Ergebnissen angezeigt.

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en