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: GroupBy
04 Nov 2014 07:08
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Özel,

Sie benötigen dazu einmal den GroupBy Heater , dieser gruppiert die gleichen Artikelnummern der Excel Arbeitsmappe zu einer Zeile.

Um nun zu entscheiden welcher Wert in welche Spalte geschrieben werden soll, benötigen Sie für jede Spalte noch eine IF-THEN-ELSE Bedingung . Das von Ihnen eingesetzte Script ist nicht notwendig.

Im Anhang finden Sie ein Beispiel dazu.

Weitere Informationen zum Gruppieren von Daten finden Sie hier: Excel CSV Export mit Gruppierung


Dateianhang:

Dateiname: excel-expo...eren.zip
Dateigröße:8 KB
Kategorie: Excel Adapter
08 Jul 2014 05:47
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Hoppe,

das geht über zwei unterschiedliche Vorgehensweisen.
  1. Über einen MySQL GROUP BY: Hier lassen Sie den MySQL Server selektieren welche Datensätze überhaupt in die FlowHeater Verarbeitung landen. Hierzu tragen Sie das notwendige SQL Statement einfach auf der READ Seite ein und lesen anschließend die Schemainformationen erneut ein. Beispiel SQL: „select `name`, `nr`, max(`preis`) from ihre_mysql_tabelle group by `nr`“ Die Daten können dann 1:1 auf in die CSV Datei übernommen werden.

  2. Über den GroupBy Heater des FlowHeaters: Hierzu habe ich Ihnen ein kleines Beispiel basierend auf Ihre Daten erstellt (s.Anlage). Der GroupBy Heater fasst alle gleichen Artikelnummern zu einem Datensatz zusammen. Den kleinsten Wert der Gruppierung erhalten Sie dann über den Min Heater .

    Wichtig: Damit der GroupBy Heater funktioniert muss die READ Seite sortiert vorliegen!

    PS: GroupBy und Min Heater funktionieren auch in Version2.x. Zum Testen des Beispiel benötigen Sie aber die Freeware Version 3.x!


Dateianhang:

Dateiname: mysql-csv-...p-by.zip
Dateigröße:2 KB
Kategorie: MySQL Adapter
06 Dez 2013 07:04
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hier ein kleines Beispiel wie das auch ohne den .NET Script Heater funktioniert. Der GroupBy Heater gruppiert alle vorhandenen CSV Datensätze zu einer CSV Zeile. Dann wird für die erste CSV Spalte eine IF-THEN-ELSE Bedingung verwendet die über den AutoID Heater prüft ob die erste CSV Zeile verarbeitet wird, nur in diesem Fall wird der Wert in dem CSV Feld gesetzt. Für die zweite Spalte ist das nicht notwendig, da wenn nichts weiter angegeben wird eh der letzte Wert in die Spalte übernommen wird.

Das Beispiel demonstriert auch das Anfügen an eine Excel (.xlsx) Datei . Um jetzt ihre 500 CSV Dateien in einem Rutsch an die Excel Datei anzufügen benötigen Sie das Batch Modul mit folgendem Aufruf.

FHBatch.exe /ReadFileName C:\Pfad\*.csv Ihre-CSV-2-Excel-import.fhd


Dateianhang:

Dateiname: csv-to-exc...rung.zip
Dateigröße:2 KB
Kategorie: TextFile Adapter
05 Dez 2013 15:08
  • Michael
  • Michaels Avatar
Gut nachdem ich mal ne runde um den Block gedreht habe, gings auf einmal :)
In Bezug auf den Screenshot:
Ich habe per .NET Script den wert aus Feld A genommen und ihn in die leeren nachfolgenden Zeilen "Kopiert".
Zwischenergebnis war Spalte A: 6 Zeilen beschrieben mit dem wert aus der ersten Zeile.
Jetzt noch ein "GroupBy" hinten an das .Net Script angehängt und schon hatte ich meine gewünschte Ausgabe!

2486283751;B

Im Anschluss hatte ich noch das Problem dass ich nun ca. 500 csv Dateien zusammenführen musste in eine Excel bei der alle Daten hinten angehängt werden.
Mit dem Excel Adapter habe ich das leider nicht geschafft aber über den Umweg des TextFileAdapter´s ging das ganze dann auch.

Ein großes Danke an den Hersteller dieses genialen Programms!

grüße
Michael
Kategorie: TextFile Adapter
18 Nov 2013 11:17
  • Matthias Rindt
  • Matthias Rindts Avatar
Hallo,

ich habe folgende Informationen zu berarbeiten:

Kundennummer, Rechnungsnummer, Kontonummer und Betrag

Jeder Kunde kann mehrere Rechnungen, jede Rechnungen mehrere unterschiedliche aber auch gleiche Kontonummern haben, Nur die Beträge sind letztlich unterschiedlcih.

Jetzt benötige ich pro Rechnung und Zeile eine fortlaufende Nummer.

AutoID würde ja passen aber dazu benötige ich ja auch ein GroupBy. Das GroupBy über Kundennummer und Belegnummer oder Kontonummer vedichtet ja die Werte und ich bekomemn dann z.B. die Anzahl der Konten je Beleg als AutoID.

Hat jemand dazu eine Idee?

Danke, Matthias
Kategorie: Allgemein
14 Dez 2012 17:04
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Teichmann,

der GroupBy Heater fasst lediglich gleiche aufeinanderfolgende Werte zu einem Datensatz zusammen. Damit das in Ihrem Fall richtig funktioniert müssen Sie auf der READ Seite an das SQL Statement noch einen "ORDER BY" anhängen.

z.B. select * from Ihre-Tabelle ORDER BY KUNDENNR

Damit sollte das so funktionieren wie gewünscht.

Zu Ihrem ODBC Problem) Ich denke das liegt an dem verwendeten ODBC Treiber. Versuchen Sie mal das Feld bereits im SELECT auf einen anderen Datentypen zu casten. Wie das geht hängt von der verwendeten SQL Datenquelle im ODBC Adapter ab. Hier mal ein Beispiel wie es für den SQL-Server funktionieren würde.

select id, cast(preis as varchar(20)) from Ihre-Tabelle

Oder

select id, convert(varchar(20), preis) from Ihre-Tabelle

Die verwendete Syntax sowie die benötigen Befehle (cast, convert, to_char, …) hängen von der SQL Datenquelle der READ Seite ab.

PS: Nicht vergessen, nach der Änderung müssen Sie das Schema (Felder) erneut einlesen!
Kategorie: ODBC Adapter
14 Dez 2012 06:36
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Teichmann,

Sie benötigen dazu zunächst den GroupBy Heater , der die Datensätze anhand der Kundennummer zusammenfasst. Dann müssen Sie die Felder Server und Benutzer über einen String Append Heater miteinander kombinieren. Diese Kombination (inkl. Trennzeichen) der beiden Felder muss anschließend über einen weiteren String Append Heater mit eingeschalteter Gruppierungsfunktion geschickt werden. Als Trennzeichen verwenden Sie hier z.B. "###" Hiermit werden alle Kombinationen zu dem Kunden zu einer Zeichenkette zusammengefasst. Das verwendete Trennzeichen "###" müssen Sie dann noch mittels des String Replace Heaters in den gewünschten Zeilenumbruch umwandeln.

Das klingt jetzt sehr kompliziert wenn Sie sich das Beispiel im Anhang anschauen wird es denke etwas klarer zu verstehen. Im Beispiel wird eine Access Datenbank verwendet!

Zu Ihrem ODBC Fehler) Der FlowHeater kann mit den Datentypen Decimal und Currency Zahlen mit bis zu 28 Stellen verarbeiten. Wenn Sie größere Zahlenwerte haben können Sie den Datentypen Double verwenden hier werden Zahlen bis 308 Stellen unterstützt. Allerdings ist dann die Genauigkeit auf 15-16 stellen begrenzt! Prüfen Sie mal welcher Datentyp für die Spalte Preis vom FlowHeater erkannt wurde, ggf. stellen Sie den Datentypen manuell auf Double. Ich vermute aber dass hier ein Problem mit dem ODBC Treiber vorliegt. Wird Ihnen eine Fehlermeldung angezeigt?

Dateianhang:

Dateiname: datensaetz...eren.zip
Dateigröße:11 KB
Kategorie: ODBC Adapter
18 Aug 2012 08:27
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Dr. Schwindler,

Danke, jetzt ist es etwas einfach zu verstehen :)

Dafür benötigen Sie zwei Definitionen, ein Beispiel dazu befindet sich im Anhang.
  1. Summe-FUTU.fhd
    Hier sind 2 Filter Heater vorhanden die alle CSV Zeilen filtern die nicht "FUTU" in "Instr_Category" haben sowie "Stock_Type" den Wert "AD1" hat.
    Der GroupBy Heater erhält über einen X-Value Heater einen statischen Wert. Über diesen Trick (statischer Wert) werden alle noch verfügbaren Zeilen zu einer Zeile auf der WRITE Seite zusammengefasst. Der Addition Heater summiert dann über die Gruppierung den Inhalt der CSV Spalte Market_Value zu einem Wert. Auf der WRITE Seite steht zum Schluss lediglich die gebildete Summe in der genierten Textdatei. Diese Textdatei wird anschließend von der zweiten Definition eingelesen und verarbeitet.
  2. Summe-Gesamt.fhd
    Hier werden alle Zeilen gefiltert die im CSV Feld Instr_Code nicht den Wert „BA321EUR bzw. BA321USD“ haben. Der GroupBy Heater fasst die 2 (oder mehrere) vorhanden Zeilen wieder zu einer Zeile auf der WRITE Seite zusammen. Der Addition Heater bildet über die Gruppierung wieder eine Summe. Der zweite anschließende Addition Heater addiert nun die vorher gebildete Summe (Step 1) auf die Summe der Gruppierung. Achtung: Der zweite Addition Heater wird hier benötigt, da sonst die Summe für jede Gruppierungszeile mit summiert werden würde!
    Der File Heater liest lediglich die im ersten Step gebildete Summe ein und stellt den Wert dem Addition Heater zur Verfügung. Achten Sie darauf, dass Sie für Datei Richtung "Read (Import)", für Modus "Text", sowie für den Rückgabetyp "String" eingestellt haben.
    Hinweis: In der zweiten Definition können Sie alle CSV Spalten der Ursprungsdatei angeben. Von den zwei Zeilen für BA321EUR und BA321USD landen durch die Gruppierung jeweils die Inhalte der letzten Zeilen auf der WRITE Seite.
Über das Batch Modul kann das automatisch nacheinander automatisiert ausgeführt werden.
Beispiel Batch CMD Skript:
@echo off 

REM Hier ggf. den Installationspfad zur FHBatch.exe anpassen!
set FHBATCH="C:\Program Files\FlowHeater V2\BIN\FHBatch.exe"

%FHBATCH% Summe-FUTU.fhd
%FHBATCH% Summe-Gesamt.fhd

Anhang filter_summieren_gruppieren.zip wurde nicht gefunden.

Kategorie: TextFile Adapter
02 Jul 2012 05:38
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Marko,

mehrfach vorhandene Einträge können Sie mit Hilfe des GroupBy Heaters filtern. Der GroupBy Heater fasst gleiche aufeinanderfolgende Werte zu einer Zeile auf der WRITE Seite zusammen. Damit das funktioniert müssen Sie noch die READ Seite mit Hilfe des Sort Heater sortieren.
Im Anhang befinden Sie ein kleines Beispiel dazu.

Hinweis: Mit der Lösung über den GroupBy Heater landen die Daten des letzten Datensatzes/Zeile der Gruppe auf der WRITE Seite. Wenn das nicht gewünscht ist müssen Sie evtl. die Sortierung etwas anpassen.

Anhang mehrfacheintrge_filtern.zip wurde nicht gefunden.

Kategorie: Allgemein
12 Jun 2012 05:12
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Das geht leider nicht über eine Definition. Um das abzubilden benötigen Sie eine zweite Definition diese Sie im Anschluss an die erste aufrufen müssen.

Fügen Sie in der ersten Definition einen AutoID Heater hinzu und schalten dafür die GroupBy Option ein. Hiermit werden die Anzahl der Datensätze gezählt die zur gleichen Gruppe gehöhren. Den Output schreiben Sie dann ebenfalls in die Ausgabe CSV Datei. In der zweiten Definition filtern Sie dann mittels des Filter Heaters die Zeilen heraus, in denen nur eine 1 steht.
Kategorie: Excel Adapter
12 Jun 2012 04:10
  • Marko
  • Markos Avatar
Hallo Herr Stark

Wie muss der GroupBy Heater angepasst werden damit die Zeilen (Nummer) in der Excel Datei, die nur einen Datensatz beinhalten nicht in die Ausgabe Datei geschrieben werden?

Vielen Dank.
Kategorie: Excel Adapter
11 Jun 2012 04:18
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Sollen die Zeilen (Nummer) in der Excel Datei, die nur einen Datensatz beinhalten nicht in die Ausgabe Datei geschrieben werden?

Wenn nein geht das mit Hilfe des GroupBy Heaters. Der GroupBy Heater fasst gleiche Datensätze anhand eines oder mehrerer Felder zu einem Datensatz zusammen. Der Inhalt des letzten Datensatzes der Gruppierung wird Standardmäßig in die WRITE Seite übernommen.
Damit das jetzt mit Ihrer Excel Arbeitsmappe funktioniert müssen Sie vorher noch die Daten Anhand der Nummer sowie des Import Datums über den Sort Heater sortieren.
Im Anhang befindet sich dazu ein kleines Beispiel.

Anhang excel_filter_by_last_day.fhd wurde nicht gefunden.

Kategorie: Excel Adapter
05 Mai 2012 08:42
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Oliver,

dazu gibt es mehrere Möglichkeiten. Hier die zwei einfachsten.
  1. Über den GroupBy Heater . Wenn Sie den auf Ihre Definition ziehen und mit dem ArtikelNr Feld verbinden gruppiert der FlowHeater alle gleichen Artikelnummern zu einem Datensatz auf der WRITE Seite. Es werden jeweils die Daten des letzten Datensatzes verwendet. Hinweis: Die Datenquelle muss dazu anhand der Artikelnummer sortiert sein.
  2. Sie können auf der Write Seite die Option "Vorhandene Datensätze ignorieren" Verwenden. Wenn die Artikelnummer nicht der PrimaryKey in der Importtabelle ist können Sie das auch umstellen. Weitere Informationen dazu finden Sie hier: Import CSV Datei in MSSQL DB ohne Primarykey
Kategorie: Allgemein
16 Apr 2012 04:23
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Löffler,

Der GroupBy Heater ist für Ihren Fall nicht das richtige. Hiermit würden Sie alle 6 Zeilen anhand der Buchungs-ID zu einem Datensatz der WRITE Seite machen und könnten darüber noch Berechnungen etc. durchführen.

Ihr Problem könnte man so angehen:
Im Select auf der READ Seite beschränken Sie die Datenmenge so dass keine Datensätze Steuerkonto (Zeile 5 und 6) vorhanden sind.

z.B. select * from IHR_VIEW where type <> steuerkonto

Die Werte für das passende Steuerkonto können Sie sich dann in der Definition über einen SQL Heater nachlesen. Hiermit können Sie ein einzelnes Feld der READ bzw. WRITE Seite auslesen.

z.B. select Steuerbetrag from IHR_VIEW where BuchungsID = $AKTUELLE_BUCHUNGSID$ and type = steuerkonto

Wenn Sie mehrere Felder benötigen können Sie problemlos auch weitere SQL Heater verwenden.

Hinweis: Der Wert für $AKTUELLE_BUCHUNGSID$ muss vorher über den Set Paramater Heater gesetzt werden.
Schauen Sie sich dazu mal folgenden Forumsbeitrag an: MySQL Datenabgleich
Hier finden Sie ein Beispiel zum SQL-Heater.
Kategorie: Allgemein
01 Dez 2011 07:21
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Meurer,

um die CSV Zeilen zu kopieren müssen Sie den GroupOut Heater verwenden. Dieser kopiert erst mal alle eingehenden CSV Zeilen n Mal. N ist in diesem Fall 1x und X-Value Heaterwird statisch über den geliefert.

Jetzt müssen Sie die CSV Zeilen, in denen Artikel_Nr und Artikel_Nr_Neu gleich sind wieder zu einer Ausgabe CSV Zeile zusammenführen. Dafür verwenden Sie den GroupBy Heater mit einer IF-THEN-ELSE Bedingung . Um 2 Felder in einer IF-THEN-ELSE Bedingung zu vergleichen benötigen Sie zusätzlich den Parameter Heater , der eine Artikelnummer zur weiteren Verwendung in einem Parameter zwischenspeichert. Auf diesen Parameter wird dann in der IF-THEN-ELSE Bedingung abgefragt.

Jetzt muss noch entschieden werden wann die ersten beiden Felder, der kopierten CSV Zeilen, gefüllt werden sollen. Dafür müssen Sie den AutoID Heater mit GroupOut Option sowie pro Feld einen IF-THEN-ELSE Heater mit der Bedingung "= 2" verwenden. So wird immer nur die zweite CSV Zeile mit den ersten beiden Feldern belegt.

Ich habe Ihnen dazu ein kleines Beispiel erstellt. Dann wird es denke ich etwas einfacher das zu verstehen.

Anhang groupout_csv_zeilen_duplizieren.zip wurde nicht gefunden.

Kategorie: TextFile Adapter
61 - 75 von 95 Ergebnissen angezeigt.
Ladezeit der Seite: 0.211 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