- Beiträge: 132
Mehrere Datensätze in Datensatz nach Schema markieren
- Ralf Birk
- Autor
- Offline
- Benutzer
Weniger
Mehr
2 Jahre 8 Monate her #4501
von Ralf Birk
Mehrere Datensätze in Datensatz nach Schema markieren wurde erstellt von Ralf Birk
Hallo Robert,
ich habe hier wieder einmal ein Problem bei dem ich mit vernünftigem Aufwand nicht mehr weiterkomme.
Ich habe hier Jobs mit sehr vielen Adressdatensätzen (>500.000).
Zu Kontrollzwecken ob alles richtig umgesetzt wurde muss ich bei 6-8 Adressen einen Marker (z.B. ein X in eine Spalte schreiben) nach bestimmten Bedingungen setzen.
Dies wäre z.B. einer je Anrede (Ein Herr, eine Frau und eine Familie); einer mit einem gefüllten Adresszusatz und je einen von zum Beispiel in der Adressdatei angegebenen Kundengruppen.
Bei dem Markieren einer Gruppe ist dies einfach. Ich mache einen Sort auf das Feld auf dieses ein GroupOut, eine ID auf diesen GroupOut und die jeweilige 1 schreibe ich als x in den Write.
Bei dem obigen Beispiel müsste ich diese Prozedur in 3 InMemory Verarbeitungsschritten ausführen das Ergebnis jeweils in eine Variable schreiben und diesem in einem weiteren mit einem Append zusammenführen und in den Write schreiben.
Siehst du eine bessere Möglichkeit? Da bei dieser Aufgabe je abzufragendem Datenfeld nur 3-4 Verschiedene Inhalte vorkommen könnte ich mir vorstellen, das dies über ein Netscript gehen könnte in der Art : Ich habe einen Wert, der noch nicht vorkam...gebe diesen aus und ignoriere diesen bis ans ende der Datei)
Wenn so etwas gehen würde wäre das ganze ohne zusätzliche verarbeitungsschritte, Sorts uns zu machen.
Oder hat ein schon ein vorhandener Heater diese Funktion und ich habe diese nur noch nicht entdeckt?
Ich hoffe, du kannst mir auf die Sprünge helfen.
Gruß Ralf
ich habe hier wieder einmal ein Problem bei dem ich mit vernünftigem Aufwand nicht mehr weiterkomme.
Ich habe hier Jobs mit sehr vielen Adressdatensätzen (>500.000).
Zu Kontrollzwecken ob alles richtig umgesetzt wurde muss ich bei 6-8 Adressen einen Marker (z.B. ein X in eine Spalte schreiben) nach bestimmten Bedingungen setzen.
Dies wäre z.B. einer je Anrede (Ein Herr, eine Frau und eine Familie); einer mit einem gefüllten Adresszusatz und je einen von zum Beispiel in der Adressdatei angegebenen Kundengruppen.
Bei dem Markieren einer Gruppe ist dies einfach. Ich mache einen Sort auf das Feld auf dieses ein GroupOut, eine ID auf diesen GroupOut und die jeweilige 1 schreibe ich als x in den Write.
Bei dem obigen Beispiel müsste ich diese Prozedur in 3 InMemory Verarbeitungsschritten ausführen das Ergebnis jeweils in eine Variable schreiben und diesem in einem weiteren mit einem Append zusammenführen und in den Write schreiben.
Siehst du eine bessere Möglichkeit? Da bei dieser Aufgabe je abzufragendem Datenfeld nur 3-4 Verschiedene Inhalte vorkommen könnte ich mir vorstellen, das dies über ein Netscript gehen könnte in der Art : Ich habe einen Wert, der noch nicht vorkam...gebe diesen aus und ignoriere diesen bis ans ende der Datei)
Wenn so etwas gehen würde wäre das ganze ohne zusätzliche verarbeitungsschritte, Sorts uns zu machen.
Oder hat ein schon ein vorhandener Heater diese Funktion und ich habe diese nur noch nicht entdeckt?
Ich hoffe, du kannst mir auf die Sprünge helfen.
Gruß Ralf
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
2 Jahre 8 Monate her #4503
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 Mehrere Datensätze in Datensatz nach Schema markieren
Hallo Ralf,
das wird eine Fleißarbeit bleiben. Ein Skript für den .NET Script Heater wäre denkbar, ich würde aber mal min. 2 Stunden veranschlagen. Je nachdem wie die Daten aussehen kommen da schnell 4-8 Stunden zusammen. Ein Skript hätte den Vorteil, dass du je nachdem wie viele unterschiedliche Gruppen die markieren musst, du hier nur einen durchlauf benötigst und es dementsprechend schneller geht. Wenn du diese Definition öfters aufrufst würdest Du Dir mit dem Skript einiges an Laufzeit sparen.
Im Prinzip machst du es aber richtig, es dauert bei der Menge der Adressdaten nur dementsprechend lange.
Im Anhang habe ich Dir mal ein Beispiel (ohne Skript) erstellt wie pro Durchlauf anhand von unterschiedlichen Kriterien doppelte Einträge gefiltert werden können und so jeweils ein Datensatz markiert werden kann.
das wird eine Fleißarbeit bleiben. Ein Skript für den .NET Script Heater wäre denkbar, ich würde aber mal min. 2 Stunden veranschlagen. Je nachdem wie die Daten aussehen kommen da schnell 4-8 Stunden zusammen. Ein Skript hätte den Vorteil, dass du je nachdem wie viele unterschiedliche Gruppen die markieren musst, du hier nur einen durchlauf benötigst und es dementsprechend schneller geht. Wenn du diese Definition öfters aufrufst würdest Du Dir mit dem Skript einiges an Laufzeit sparen.
Im Prinzip machst du es aber richtig, es dauert bei der Menge der Adressdaten nur dementsprechend lange.
Im Anhang habe ich Dir mal ein Beispiel (ohne Skript) erstellt wie pro Durchlauf anhand von unterschiedlichen Kriterien doppelte Einträge gefiltert werden können und so jeweils ein Datensatz markiert werden kann.
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ralf Birk
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 132
2 Jahre 8 Monate her #4505
von Ralf Birk
Ralf Birk antwortete auf Mehrere Datensätze in Datensatz nach Schema markieren
Hallo Robert,
danke für deine schnelle Antwort wobei ich mir das fast gedacht habe.
Dann werde ich es eben doch mit mehreren Inmemorys machen. Deine Filter(Dublikate) Variante ist auf jedenfall scheller einzubauen als mein GroupBy-IDaufGroupBy-und "1" als Markierung Ich denke aber, das es an der Ausführgeschwindigkeit nichts ändern wird.
Gruß Ralf
PS: Ich habe, als ich den Post abgesetzt habe gesehen, das der Titel irreführend ist und auch inhaltlich Fehler waren. Ich habe keine Möglichkeit gefunden als Ersteller den Post zu editieren. Ist das bei deiner Forensoftware nicht möglich?
danke für deine schnelle Antwort wobei ich mir das fast gedacht habe.
Dann werde ich es eben doch mit mehreren Inmemorys machen. Deine Filter(Dublikate) Variante ist auf jedenfall scheller einzubauen als mein GroupBy-IDaufGroupBy-und "1" als Markierung Ich denke aber, das es an der Ausführgeschwindigkeit nichts ändern wird.
Gruß Ralf
PS: Ich habe, als ich den Post abgesetzt habe gesehen, das der Titel irreführend ist und auch inhaltlich Fehler waren. Ich habe keine Möglichkeit gefunden als Ersteller den Post zu editieren. Ist das bei deiner Forensoftware nicht möglich?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.258 Sekunden