- Beiträge: 132
Anzahl-Heater
- Ralf Birk
- Autor
- Offline
- Benutzer
Weniger
Mehr
5 Jahre 8 Monate her - 5 Jahre 8 Monate her #3655
von Ralf Birk
Anzahl-Heater wurde erstellt von Ralf Birk
Hallo Robert,
ich hätte mal wieder eine Frage zu einem zumindest für mich (Denke, es besteht bei vielen anderen Bedarf, wenn es eingebaut wäre) neuen Heater
Ich muss oft Mengen verschiedener Datengruppen in einer Datenbank für den Write zählen. Im Moment gehe ich folgenden Weg:
Groupby auf das Feld
AutoID auf den Groupby
Sort (Absteigend) oder Importsort (Absteigend)
Max auf Groupby für den Write
Sort auf alte Reihenfolge
Dies ist bei einigen zu zählenden Feldern in einer Datei ein riesen Akt einzurichten.
Meine Idee wäre ein Anzahl-Heater. Der Eingangs-Pipe würde auf das entsprechende Read-Datenfeld gehen. Als Parameter wäre „Komplette Verarbeitung“ und „Gleicher Eingangsparameter“ denkbar.
Ich könnte mir vorstellen, dass dies für dich relativ einfach zu Programmieren wäre. Der Nutzen in der Praxis wäre riesig.
Könntest du dir mal überlegen, ob dies eine Sinnvolle Erweiterung wäre?
Gruß Ralf
ich hätte mal wieder eine Frage zu einem zumindest für mich (Denke, es besteht bei vielen anderen Bedarf, wenn es eingebaut wäre) neuen Heater
Ich muss oft Mengen verschiedener Datengruppen in einer Datenbank für den Write zählen. Im Moment gehe ich folgenden Weg:
Groupby auf das Feld
AutoID auf den Groupby
Sort (Absteigend) oder Importsort (Absteigend)
Max auf Groupby für den Write
Sort auf alte Reihenfolge
Dies ist bei einigen zu zählenden Feldern in einer Datei ein riesen Akt einzurichten.
Meine Idee wäre ein Anzahl-Heater. Der Eingangs-Pipe würde auf das entsprechende Read-Datenfeld gehen. Als Parameter wäre „Komplette Verarbeitung“ und „Gleicher Eingangsparameter“ denkbar.
Ich könnte mir vorstellen, dass dies für dich relativ einfach zu Programmieren wäre. Der Nutzen in der Praxis wäre riesig.
Könntest du dir mal überlegen, ob dies eine Sinnvolle Erweiterung wäre?
Gruß Ralf
Letzte Änderung: 5 Jahre 8 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
5 Jahre 8 Monate her - 5 Jahre 8 Monate her #3656
von FlowHeater-Team
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.
FlowHeater-Team antwortete auf Anzahl-Heater
Hallo Ralf,
Das ist mit dem neuen InMemory Adapter ab Version 4.1.4 relativ leicht zu realisieren.
Du musst dazu die Datenquelle, die die zu zählenden Werte beinhaltet in einem vorgelagerten Verarbeitungsschritt in eine InMemory Tabelle einlesen. Es genügt, wenn du das Feld, das gezählt werden soll, mit dem InMemory Adapter verbindest und zusätzlich ein weiteres Feld für die Anzahl anlegst. Im InMemory Adapter gibst du an, dass du die Daten anfügen „Option Daten hinzufügen (Insert)“ sowie aktualisieren „Option Daten aktualisieren (Update)" möchtest, siehe Screenshot 1.
Dann musst du noch das Feld, das gezählt werden soll auf dem Reiter „Felder / Datentypen“ als Schlüsselfeld auswählen, siehe Screenshot 2.
Jetzt benötigst du noch einen AutoID Heater , der die Anzahl der vorhandenen gleichen Werte zählt. Hierzu musst du in der Konfiguration die Option „Gleiche Eingangsparameter – Alle gleichen Werte“ aktivieren, siehe Screenshot 3.
Jetzt verbindest du das Feld, das gezählt werden soll mit dem AutoID Heater , die Ausgabe ziehst du auf das oben angelegte Feld für die Anzahl. So wird eine „temporäre Tabelle“ gefüllt, die pro Wert (gruppiert) die aktuelle Anzahl enthält. Der AutoID Heater zählt pro eindeutigen Wert einen separaten Zähler fort und in der InMemory Tabelle wird dieser entweder hinzugefügt, falls noch nicht vorhanden oder aber mit dem aktuellen
neuen Wert aktualisiert.
Mit diesem Wert kannst du in weiteren Schritten arbeiten. Im angehängten Beispiel wird einmal die InMemory Tabelle einfach 1:1 in eine Textdatei ausgegeben. In einem zweiten Schritt wir die originale Datenquelle noch einmal über den TextFile Adapter gelesen und pro Wert die Anzahl
ausgegeben. Die aktuell ermittelte Anzahl wird dabei über den String Replace Heater per Daten Lookup auf die vorher eingelesene InMemory Tabelle geholt.
Schau dir mal das Beispiel an, damit sollte es klar sein.
Das ist mit dem neuen InMemory Adapter ab Version 4.1.4 relativ leicht zu realisieren.
Du musst dazu die Datenquelle, die die zu zählenden Werte beinhaltet in einem vorgelagerten Verarbeitungsschritt in eine InMemory Tabelle einlesen. Es genügt, wenn du das Feld, das gezählt werden soll, mit dem InMemory Adapter verbindest und zusätzlich ein weiteres Feld für die Anzahl anlegst. Im InMemory Adapter gibst du an, dass du die Daten anfügen „Option Daten hinzufügen (Insert)“ sowie aktualisieren „Option Daten aktualisieren (Update)" möchtest, siehe Screenshot 1.
Dann musst du noch das Feld, das gezählt werden soll auf dem Reiter „Felder / Datentypen“ als Schlüsselfeld auswählen, siehe Screenshot 2.
Jetzt benötigst du noch einen AutoID Heater , der die Anzahl der vorhandenen gleichen Werte zählt. Hierzu musst du in der Konfiguration die Option „Gleiche Eingangsparameter – Alle gleichen Werte“ aktivieren, siehe Screenshot 3.
Jetzt verbindest du das Feld, das gezählt werden soll mit dem AutoID Heater , die Ausgabe ziehst du auf das oben angelegte Feld für die Anzahl. So wird eine „temporäre Tabelle“ gefüllt, die pro Wert (gruppiert) die aktuelle Anzahl enthält. Der AutoID Heater zählt pro eindeutigen Wert einen separaten Zähler fort und in der InMemory Tabelle wird dieser entweder hinzugefügt, falls noch nicht vorhanden oder aber mit dem aktuellen
neuen Wert aktualisiert.
Mit diesem Wert kannst du in weiteren Schritten arbeiten. Im angehängten Beispiel wird einmal die InMemory Tabelle einfach 1:1 in eine Textdatei ausgegeben. In einem zweiten Schritt wir die originale Datenquelle noch einmal über den TextFile Adapter gelesen und pro Wert die Anzahl
ausgegeben. Die aktuell ermittelte Anzahl wird dabei über den String Replace Heater per Daten Lookup auf die vorher eingelesene InMemory Tabelle geholt.
Schau dir mal das Beispiel an, damit sollte es klar sein.
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.
Letzte Änderung: 5 Jahre 8 Monate her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.272 Sekunden