Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Gruppen nach Merkmal hochzählen

Gruppen nach Merkmal hochzählen 8 Monate 3 Wochen her #2634

  • Ralf Birk
  • Ralf Birks Avatar
  • Offline
  • Senior Member
  • Beiträge: 45
Hallo Herr Stark,

nachdem ich mich eine Zeit lang nicht gemeldet habe, ist nun in einem Projekt wieder eine Frage aufgetaucht.
Sie haben mir ja einmal mit einem .Net Script Heater unter die Arme gegriffen, bei dem wir bei bestimmten Kriterien (z.B letzte Sendung eines PLZ-Gebietes) ein neues Datenfeld mit einem "X" geschrieben haben. Dies hat auch wunderbar funktioniert.
Jetzt müsste ich diese Gruppen im Ausgangsdatensatz durchnummerieren. D.H. der 1. Datensatz beginnt bei "1". wenn der Datensatz mit dem "X" kommt, muss der nächste Datensatz eine "2" bekommen...bis zum nächsten "X", dann die 3 usw.
BSP:
Satznr;PLZ;letzte;Gruppe
1;23456;;1
2;23456;;1
3;23456;x;1
4;23500;;2
5;23500;x;2
6;23750;;3
7;23750;;3
usw.

Ist so etwas möglich? Dies würde uns sehr weiterhelfen.


Vielen Dank für die Auskunft im Voraus.

Gruß Ralf B.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Gruppen nach Merkmal hochzählen 8 Monate 3 Wochen her #2637

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1101
Hallo Herr Birk,

das geht mit FlowHeater Boardmitteln, hierzu ist kein .NET Skript erforderlich. Sie benötigen dazu einen IF-THEN-ELSE Heater, der prüft ob gerade ein X vorliegt. Wenn ja wird eine 1 ansonsten der Wert 0 über jeweils einen X-Value Heater zurückgegeben. Diese Werte werden über einen Additions Heater mit dem Wert eines Parameters „COUNT“ zusammenaddiert und anschließend wird der neue Wert im Parameter „COUNT“ für den nächsten Satz gespeichert. Das klingt jetzt sehr theoretisch :-) Im Anhang finden Sie ein kleines Beispiel dazu, hiermit wird es denke ich etwas klarer.

Dateianhang:

Dateiname: x-zaehler.zip
Dateigröße:2 KB
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Gruppen nach Merkmal hochzählen 8 Monate 3 Wochen her #2638

  • Ralf Birk
  • Ralf Birks Avatar
  • Offline
  • Senior Member
  • Beiträge: 45
Hallo Herr Stark,

Vielen Dank...
Sieht hervorragend aus. Da wäre ich ja nie darauf gekommen.
Leider geht es bei 0 los. Wie schaffe ich es, das ich bei 1 beginne? (EDIT: Habe es mittlerweile gelöst, indem ich vor dem Write eine 1 addiere). Ferner zählt es bei dem "x" hoch. Das "x" ist der letzte Datensatz der letzten Gruppe. Die nächste Nummer darf erst mit dem nächsten Datensatz beginnen.
Ich denke, das ich in einer .fhd nur eine Abfrage machen kann da "Count" ja sonst 2 mal verwendet wird. (Muss Bund und Palettennummer anreichern). Einen anderen Variablenname kann man vermutlich nicht verwenden. Zur Not müsste ich einen Batch mit einer 2 Abfrage machen.

Eine kleine Frage hätte ich noch. Das "x" für den letzten einer Gruppe habe ich ja errechnet.
Für eine andere Anwendung brauche ich in einer zusätzlichen Spalte noch den ersten.
Ich würde gerne auf diese Lösung aufbauen.
Kann mann abfragen, ob im nächsten Datensatz ein "x" steht und dann ein "x" in den aktuellen schreiben?


Gruß Ralf B.
Letzte Änderung: 8 Monate 3 Wochen her von Ralf Birk. Begründung: Noch ein Fehler aufgetaucht.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Gruppen nach Merkmal hochzählen 8 Monate 2 Wochen her #2641

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1101
Hallo Herr Birk,

ich hab die Definition etwas angepasst, so wird der Zähler erst nach dem X hochgezählt bzw. auf der WRITE Seite durchgeschleift. Damit der Zähler mit 1 und nicht mit 0 beginnt können Sie dazu in den Parameter Einstellungen (Menü->Bearbeiten->Parameter) einen Standardwert vorgeben, in Ihrem Fall 1, siehe Screenshot.



Es ist leider nicht möglich auf den nächsten Datensatz zuzugreifen. Um das von Ihnen geforderte umzusetzen müsste die Eingangsdatenquelle (CSV) vorher in umgekehrter Reihenfolge ausgegeben werden, anschließend mit wiederum einer weitere die Markierungen setzen und zum Schluss in richtiger Reihenfolge wieder ausgeben. Hierfür habe ich Ihnen schon einmal ein Beispiel erstellt. Markierung bei Spalteninhaltwechsel

Dateianhang:

Dateiname: x-zaehler-2.zip
Dateigröße:2 KB
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Gruppen nach Merkmal hochzählen 8 Monate 2 Wochen her #2649

  • Ralf Birk
  • Ralf Birks Avatar
  • Offline
  • Senior Member
  • Beiträge: 45
Hallo Herr Stark,

Danke für den Tip mit der Count-Variablen. Mit der hat es geklappt.
Ich habe versucht in einer .fhd 2 AutoID-Heatern einzusetzen (1 x komplette Verarbeitung und 1 x GroupBy). Dass scheint leider nicht zu gehen.

Zu der anderen Frage (Markierung "X") habe ich nur einmal in einer Antwort von Ihnen gelesen, das Sie in einer kommenden Version beabsichtigen auch den Benachbarten Datensatz abzufragen. Ware das schon implementiert, könnte ich mir 2 zusätzliche .fth Abfragen im Batch sparen, da 1 Datensatz nach dem Ende einer Gruppe immer der erste der nächsten kommen.
Das wäre bei sehr großen Datensätzen ein erheblicher Zeitvorteil gewesen.

Gruß Ralf B.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Gruppen nach Merkmal hochzählen 8 Monate 2 Wochen her #2654

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1101
Hallo Herr Birk,

2 AutoID Heater (oder auch mehr) funktionieren Problemlos in einer Definition auch zusammen mit dem GroupBy Heater und unterschiedlichen Zähloptionen. Im Anhang finden Sie ein kleines Beispiel dazu.

Bzgl. der Funktionalität um Zugriff auf den Wert des nächsten Datensatzes zu haben kann ich noch keine Aussage machen wann das ca. verfügbar sein wird. Bevor das angegangen werden kann müssen noch einige andere Dinge erledigt werden wie Fertigstellung XML Adapter, mehrere Steps in einer Definition, mehrere Adapter auch auf der READ Seite, etc.

Dateianhang:

Dateiname: 2x-autoid.zip
Dateigröße:2 KB
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Gruppen nach Merkmal hochzählen 8 Monate 1 Woche her #2657

  • Ralf Birk
  • Ralf Birks Avatar
  • Offline
  • Senior Member
  • Beiträge: 45
Hallo Herr Stark,

ich suche eine Möglichkeit die Gesamtanzahl der Gruppen in einem Datensatz den Daten hinzuzufügen.
In Ihrem Beispiel habe ich gedacht, es würde mit einem Max-Heater hinter dem Auto-ID Heater (der zu Zähler Sätze) gehen. Dem ist leider nicht so.
Ich brauche die Daten für einen Serienbrief in der Art "Gruppe 1 von 5". in Ihrem Beispiel müsse im Output in jedem Datensatz die 5 stehen.
Ist dies umsetzbar?

Gruß Ralf B.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Gruppen nach Merkmal hochzählen 8 Monate 1 Woche her #2660

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1101
Hallo Herr Brik,

das ist über eine CSV Textdatei so nicht möglich, da der FlowHeater während der Verarbeitung nicht weiß wie viele CSV Sätze noch kommen werden. Wenn Sie die Daten in eine temporäre Datenbank importieren und mit einer zweiten Definition anschließend exportieren können Sie mit Hilfe des SQL Heater entweder pro Datensatz oder aber beim Start der Definition einen „SELECT count(*) form ..“ absetzen.
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.099 Sekunden