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
25 Aug 2015 19:24
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Marko,

das wird etwas komplex ist aber machbar :-) Das Problem sind hier die zwei unterschiedlichen Zähler.

Um das Ganze etwas übersichtlicher zu gestalten habe ich im Beispiel (s. Anhang und Screenshot) drei unterschiedliche Layer verwendet.

Default Layer) Hier wird die CSV Datei lediglich anhand der Kalenderwoche sortiert und dann auf Basis des gleichen CSV Feldes gruppiert sowie wird das Feld Kalenderwoche eins zu eins auf die WRITE Seite weitergereicht.

Zähler1 und Zähler2) Hier wurden pro Zähler die Bedingungen, wann soll der Zähler um eins erhöht werden, sowie die anschließende Summierung untergebracht.

Ich beschreibe hier jetzt mal den Layer „Zähler1“ der ander Zähler verhält sich im Prinzip genauso nur dass eine Bedingung etwas anders ist.

Im Screenshot Markierung 1) Hier wird die Bedingung gebildet wenn Start- und Ende Datum ungleich NULL bzw. Empty. Nur wenn beide einen Wert haben wird über den verwendeten String Append Heater 11 (1 von der ersten und nochmal 1 von der zweiten Bedingung) an die nächste Bedingung weitergereicht.

Im Screenshot Markierung 2) Hier wird über den IF-THEN-ELSE Heater geprüft ob „11“ angekommen ist (= beide Datumswerte haben einen Inhalt) wenn ja gibt diese Bedingung das Feld Tagesdifferenz an die nächste Bedingung weiter ansonsten 15 (oder 0 bei Zähler 2). Dann kommt die eigentliche Bedingung die Prüft ab der Wert größer oder kleiner 15 ist (je nach gewünschten Zähler). Hier wird dann nur noch der Wert 1 oder 0 an den Addition Heater weitergereicht, der dann die Werte anhand der Gruppierung summiert (Gruppierung muss über rechte Maustaste aktiviert werden).



Dateianhang:

Dateiname: gruppieren...eren.zip
Dateigröße:3 KB
Kategorie: Allgemein
06 Aug 2015 06:48
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Birk,

hier gibt es zwei Möglichkeiten.
  1. Über den IF THEN ELSE Heater in dem mittels des AutoID Heaters abgeprüft wird welche Zeile der Gruppierung gerade verarbeitet wird um diesen dann einer bestimmten Spalte auf der Write Seite zuzuordnen. Das ganze ist relativ kompliziert, mit diesem Ansatz hat die Ausgabe Datei (CSV, XLS) aber immer genau so viele Spalten wie angegeben. Nachteil daran, sollten mal mehre Zeile in einer Gruppe vorhanden sein als Definiert werden diese Daten nicht mit exportiert. Hier finden Sie ein Beispiel wie es geht: Überschreiben von Werten verhindern

  2. Über den String Append Heater mit eingeschalteter Gruppierungsoption . Hiermit können alle Werte einer Gruppierung zu einer Zeichenkette zusammengefasst werden, das Trennzeichen können Sie separat auswählen. Wenn Sie hier das gleiche Trennzeichen wie in der Ausgabe CSV Datei angeben erhalten Sie dynamisch viele Spalten je nach Zeilen in der Gruppierung.
    Nachteile: Das Ganze funktioniert nur mit CSV Dateien . Wenn Sie eine Excel Datei benötigen, müssten Sie in einem zweiten Step (neue FlowHeater Definition) diese CSV Textdatei in eine Excel Datei einfügen. Im Anhang finden Sie dazu ein kleines Beispiel. Auch ist es so nicht möglich in der CSV Textdatei mit Überschriften zu arbeiten.

Im Anhang finden Sie ein kleines Beispiel zu 2. Hier wurde zur demonstration nicht das CSV Spaltentrennzeichen verwendet. Wenn Sie das Zeichen # in das von Ihnen verwendete Trennzeichen änder erhalten Sie das gewünschte resultat.



Dateianhang:

Dateiname: dynamische...rung.zip
Dateigröße:2 KB
Kategorie: Allgemein
05 Aug 2015 06:47
  • Ralf Birk
  • Ralf Birks Avatar
Hallo miteinander,

ich habe eine Exceltabelle in der Empfanger, Artikel und bestellte Menge stehen.
Die Empfänger kommen zum Teil mehrfach vor.
Ich benötige eine Liste, bei der jeder Empfänger nur einmal vorkommt, die Gesamtmenge der bestellten Artikel, sowie angereichert die Artikel und Mengen der einzelnen Bestellungen.
Über ein Groupby der Kunden und einer Addition der Artikelmenge ist der erste Teil ja leicht zu bewerkstelligen.
Wie bekomme ich in den jeweiligen Datensatz des Kunden zusätzliche Spalten mit Werten (Artikelbezeichnung, Menge usw.) der ursprünglichen Einzelbestellungen des Kunden? Gibt es hier eine Möglichkeit?

Über einen Tip wäre ich sehr dankbar.

Gruß Ralf B.
Kategorie: Allgemein
04 Jul 2015 13:32
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Rindt,

das Problem wurde gefixt! Über u.s. Link können Sie sich eine korrigiert (BETA) Version der demnächst erscheinenden Version 3.5.4 herunterladen.
Download FlowHeaterBeta

Das Problem wurde ebenfalls in den bereits verfügbaren Alpha Versionen zur Version 4 gefixt.

FlowHeater V4.0.0 Alpha 32 Bit
FlowHeater V4.0.0 Alpha 64 Bit
Kategorie: Allgemein
01 Jun 2015 19:27
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Rindt,

ca. Mitte Juli. Wenn es klappt wird es aber bereits Ende Juni eine korrigierte Beta Version geben. Wenn das Update verfügbar ist werde ich hier eine Update Posten.
Kategorie: Allgemein
01 Jun 2015 07:42
  • Matthias Rindt
  • Matthias Rindts Avatar
Hallo,

vielen Dank für die Info. Für wann ist das Update geplant?

Matthias Rindt
Kategorie: Allgemein
30 Mai 2015 08:28
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Rindt,

da haben Sie einen Fehler aufgedeckt. Wenn der GroupBy Heater zusammen mit dem Filter Heater verwendet wird kann es vorkommen, dass die Werte nicht mehr sauber der aktuellen Gruppe zugeordnet werden können.

Leider kann ich dazu keine schnelle Lösung anbieten. Momentaner Workaround wäre die Summierung ohne dem Filter durchzuführen und anschließend über eine weitere Definition evtl. 0 Wert zu filtern.

Das Problem wird mit der nächsten Version bereinigt.
Kategorie: Allgemein
29 Mai 2015 09:02
  • Matthias Rindt
  • Matthias Rindts Avatar
Hallo,

in der Quell-csv-Datei habe ich die Felder Kostenstelle, Konto und Mitarbeiter und Betrag.

Im Ziel möchte ich nur Kostenstelle und die Summe pro Konto erhalten. Die Einzelwerte der Mitarbeiter werden auf Konto verdichtet.

Es sollen aber keine Sätze mit 0,00€ übergeben werden. Diese entstehen durch die Verdichtung gelegentlich. Diese würde ich gerne ausfiltern.

Nehme ich dazu wie im Anhang dokumentiert den Filter per IF/THEN/ELSE dann wird die Addition nicht mehr korrekt durchgeführt. Es fehlen immer einzelne Zeilen der zu verdichtenden Konten.

Was tun?

VG Matthias Rindt
Kategorie: Allgemein
10 Apr 2015 06:19
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Neumann,

um Datensätze/Zeilen auszugeben die auf der READ Seite doppelt vorhanden sind benötigen Sie einmal eine Sortierte Datenquelle auf der READ Seite. Je nachdem wie woher Ihre Daten kommen, können Sie bei einer Datenbanktabelle einfach einen ORDER BY für den Abruf der Daten verwenden oder aber Sie verwenden den Sort Heater des FlowHeaters.

Dann benötigen Sie einmal einen GroupBy Heater , der die Datensätze anhand des gewünschten Kriteriums zu einem Datensatz auf der WRITE Seite zusammenfasst.

Um nun die nicht doppelten Datensätze zu Filtern benötigen weiter noch einen Auto ID Heater , der die Anzahl der gruppierten gleichen Datensätze zählt und eine Bedingung die lediglich alle Werte mit 1 Filter = ersten Satz. So landen dann nur Datensätze/Zeilen auf der WRITE Seite die mind. 2x auf der READ Seite vorkommen. Im Anhang finden Sie ein kleines Beispiel dazu.

Dateianhang:

Dateiname: dopplte-cs...etze.zip
Dateigröße:2 KB
Kategorie: Allgemein
27 Dez 2014 11:37
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hier müssen Sie noch die Gruppierungsfunktion aktivieren, nur so werden alle Werte der Gruppierung zu einem Wert zusammengefasst um Ihn dann anschließend über den String Split Heater auf die einzelnen Spalten aufzuteilen.

z.B. Wird aus folgenden CSV Zeilen

1;a
1;b
1;c
2;weitere andere Daten

mit GroupBy Heater über die erste Spalte im String Append Heater folgendes generiert: a##b##c

Die Guppierungsfuntkion aktivieren Sie über das Kontextmenü (Rechtsklick) des Heater. Hier brauchen Sie lediglich die Option „GroupBy“ aktivieren, das war´s.

Kategorie: Excel Adapter
17 Dez 2014 08:38
  • Scheunemann Manfred
  • Scheunemann Manfreds Avatar
Guten Tag,

ich habe folgende Situation:

Quelldatei:



Darin gibt es mehrere Zeilen zur selben Werksartikelnummer mit Bildnamen (in Spalte Dokument) und dem Dokumententyp.

Für jeden Artikel kann es mehrere Bilder geben und auch Bilder des selben Typs.

Die Zielstruktur sieht nun so aus, dass ich pro Artikel gerne eine begrenzte Anzahl an Bildern übernehmen würde:

Zielstruktur:

Artikelnummer
Bild_Typ_V_1
Bild_Typ_V_2
Bild_Typ_V_3
Bild_Typ_U_1
Bild_Typ_U_2
Bild_Typ_U_3

Wenn es weniger als drei Bilder vom Typ V gibt, so bleiben die anderen für diesen Artikel leer, wenn es mehr gibt, so nehme ich die ersten drei und ignoriere weitere.

Sortieren nach Werksartikelnummer am Anfang ist auf jeden Fall mal nicht schlecht, dann habe ich die Artikel sicher in der richtigen Reihenfolge.
Dann ein GroupBy nach Werksartikelnummer aber was dann... :(

Vielleicht hat jemand eine gute Idee für mich.

Vielen Dank im Voraus!

Manfred Scheunemann
Kategorie: Allgemein
13 Dez 2014 15:27
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Sorry, mich hat Ihr Satz „Am besten wäre es, wenn diese Bilder nicht überschrieben, sondern in unterschiedliche Zeilen auf der Write-Seite geschrieben werden.“ etwas verwirrt.

Ich denke Sie möchten auf der WRITE Seite in einer Zeile/Datensatz alle Informationen stehen haben? Hierzu benötigen Sie natürlich den GroupBy Heater . Damit die Werte bei einer Gruppierung nicht überschrieben werden, benötigen Sie für jede Spalte einen IF-THEN-ELSE Heater . Ich habe im Anhang mal ein Beispiel erstellt, das meiner Meinung nach das darstellt was Sie suchen. Sollte das noch nicht passen, posten Sie bitte ein genaues Beispiel wie Ihre Ausgabe aussehen soll, damit ich etwas besser darauf eingehen kann.

Der Einfachheit wurde das Beispiel mit einer CSV Textdatei erstellt, die Logik kann aber 1:1 auch auf den Excel Adapter angewandt werden.


Dateianhang:

Dateiname: csv-gruppierung.zip
Dateigröße:2 KB
Kategorie: Excel Adapter
11 Dez 2014 21:37
  • Özel
  • Özels Avatar
Danke für die schnelle Antwort, aber leider erzielt das weglassen des GroupBy's nicht den gewünschten Effekt, siehe folgenden Screenshot





TechnischeZeichnung2, TechnischeZeichnung3 und TechnischeZeichnung4 sollten unterschiedliche Bilderverweise haben. Jedoch wird jeweils aus der Quelldatei der letzte Bildverweis mit dem Parameter -in diesem Falle V_- gewählt und geschrieben.

Dieser Screenshot zeigt bspw. dass diese Felder unterschiedliche Inhalte aufweisen sollten.



Gewünscht ist folgendes:

Value_
16412-C2E101000452CXK

Bild

Foto

TechnischeZeichnung1
kiu_credo_elektro_sets.jpg

TechnischeZeichnung2
kiv_credo_e_reinelektro_illu_01.jpg

TechnischeZeichnung3
kiv_credo_c2e_ansichten_01.jpg

TechnischeZeichnung4
kiv_credo_c2e_ansichtflansch.jpg


Meine If-clauses sagen von oben nach unten gelesen

1.IF: wenn Dokemententyp = B_ dann schreibe den Wert von Dokument in Bild
2.IF: wenn Dokumententyp = S_ dann schreibe den Wert von Dokument in Foto
3.IF: wenn Dokumententyp = U_ dann schreibe den Wert von Dokument in Technische Zeichnung1
4.IF: wenn Dokumententyp = V_ dann schreibe den Wert von Dokument in TechnischeZeichnung2

Da es jedoch mehrere Bilder mit dem Parameter V_ zu einem bestimmten Artikel gibt, sollen diese Bildverweise auch in unterschiedliche Spalten geschrieben werden. Hier sind TechnischeZeichnung2 bis 4 vorgesehen.
Leider bekomme ich nur den letzten Wert aus der Quelldatei heraus
Kategorie: Excel Adapter
11 Dez 2014 19:46
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Evren,

ich denke Ihr Problem ist behoben wenn Sie den GroupBy Heater aus der Definition löschen. Hiermit gruppieren Sie alle fortlaufend gleichen Datensätze der READ Seite, in Ihrem Fall über die Werksartikelnummer“ zu einem Datensatz auf der WRITE Seite zusammen. Da weiter nichts angegeben wurde steht zum Schluss in den einzelnen Spalten der Letzte Wert der Gruppierung.

Sollte das Ihr Problem nicht lösen posten Sie bitte mal Ihre FlowHeater Definition mit Beispieldaten.
Kategorie: Excel Adapter
06 Nov 2014 20:44
  • FlowHeater-Team
  • FlowHeater-Teams Avatar
Hallo Herr Özel,

nein, damit das Gruppieren von Datensätzen funktioniert muss die Datenquelle auf der READ Seite sortiert anhand der Gruppierung vorliegen. Bei SQL basierenden Datenquellen brauchen Sie nur einen „ORDER BY“ im SQL Select angeben. Bei CSV bzw. Excel Datenquellen können Sie den Sort Heater verwenden um die Datenquelle vor der Verarbeitung zu sortieren.

Wichtig: Damit der Sort Heater funktioniert müssen Sie den Verarbeitungsmodus auf „Memory“ umstellen, siehe Screenshot.

Kategorie: Excel Adapter
46 - 60 von 95 Ergebnissen angezeigt.
Ladezeit der Seite: 0.884 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