Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Duplizierheater

Mehr
7 Jahre 1 Monat her - 7 Jahre 1 Monat her #3041 von Ralf Birk
Duplizierheater wurde erstellt von Ralf Birk
Hallo Herr Stark,

ich habe immer wieder die Aufgabenstellung, dass ich Datensätze anhand eines Werts in einem Feld duplitzieren muss.
Bissher habe ich dies über ein Makro in Excel erledigt. Da ich die Daten vor und nach der Duplizierung schon mit dem Flowheater bearbeite, wäre es ideal, wenn ich mir diesen Zwischenschritt sparen könnte.
Ob der Wert, der in diesen Heater führt aus der Read-Datei stammt oder mit einem anderen Heater errechnet wird dürfte nicht relevant sein.
Ein Beispiel:
Steht in einem Datensatz im Feld "Anzahl" eine 8, müsste, wenn der Heater auf dieses Feld geht dieser eine Datensatz unter sich selbst 7 mal Dupliziert werden um auf die angegebene Anzahl von 8 Datensatzen zu kommen.
Da dieser Heater sich ja nur auf den aktuellen Datensatz bezieht und nicht auf die benachbarten müsste dies doch sicherlich umsetzbar sein....oder?

Wenn in einer Originaldate z.B. 100 Datensatze wären, die alle den Wert 10 in besagtem Feld hätten, müsste die Writedatei 1.000 Datensätze haben.

Wäre toll, wenn Ihnen hierzu eine Lösung einfallen würde.

Vielen Dank im Voraus

Ralf B.

(Anmerkung: Dieser Beitrag sollte in Anregungen gepostet werden und lässt sich leider nicht mehr verschieben)
Letzte Änderung: 7 Jahre 1 Monat her von Ralf Birk. Begründung: Falsche Gruppe

Bitte Anmelden um der Konversation beizutreten.

Mehr
7 Jahre 1 Monat her - 7 Jahre 1 Monat her #3042 von FlowHeater-Team
FlowHeater-Team antwortete auf Duplizierheater
Hallo Herr Birk,

in dem Fall passt das verwendete Forum. Den Heater gibt es schon, der hat nur einen komischen Namen :) -> GroupOut .

Der GroupOut benötigt eine Zahl als Eingang und fertigt von der aktuellen Zeile erstmal X identische Kopien an. Über den AutoID Heater mit eingeschalteter „Auswirkung auf GroupOut“ sowie den einer IF-THEN-ELSE Bedingung können Sie dann für einzelne Spalten und Zeilen unterschiedliche Werte zuweisen.

Hier finden Sie ein paar Beispiele zur praktischen Anwendung des GroupOut Heater.


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: 7 Jahre 1 Monat her von FlowHeater-Team.

Bitte Anmelden um der Konversation beizutreten.

Mehr
7 Jahre 1 Monat her #3043 von Ralf Birk
Ralf Birk antwortete auf Duplizierheater
Hallo Herr Stark,

vielen Dank..... das war ein Tip, der mich wirklich sehr weiter bringt.
Ich habe gleich eine Testdate erzeugt und eine passende .fhd erzeugt.
Hierbei ist mir aber eines nicht klar:
Um die korrekte zu erzeugende Datensatzmenge zu bekommen muss ich von der Originalmenge ja den Originaldatensatz abziehen. Da ich den letzten Datensatz einer jeden Gruppe markieren will ermittle ich den Maxwert des Group-Out und vergleiche es mit dem Wert in der Readdatei.
Bei Daten, die keinen Wert oder eine 1 beinhalten, zählt der AutoID-Heater (Group-Out) diesen Datensatz noch zur letzten Gruppe und auch die Maxwert- Markierung wird nicht gesetzt.
Habe ich hier einen Denkfehler?

Ich hänge das Beispiel zum Besseren Verständnis an.

Gruß Ralf B.
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

Mehr
7 Jahre 1 Monat her - 7 Jahre 1 Monat her #3044 von FlowHeater-Team
FlowHeater-Team antwortete auf Duplizierheater
Hallo Herr Birk,

nein das ist keine Denkfehler, da haben Sie einen Bug gefunden. Das Problem wurde behoben über unten stehende Links können Sie sich eine Beta Version herunterladen. Alternativ dazu können Sie anstelle des AutoID Heater den .NET Script Heater verwenden und folgenden Skript Code einfügen.

Hier wird die AutoID Heater Funktionalität mit Auswirkung auf GroupOut nachgebildet. Ihr Beispiel habe ich dazu angepasst, siehe Anhang.

C# Skript
Code:
int last = 1; int max = 0; bool inGroup = false; public object DoWork() { if (InValues.Length != 1) throw new Exception("Ein Eingangsparameter erwartet!"); if (!inGroup) { max = (int)InValues[0].GetInt(); last = 1; if (max > 1) inGroup = true; } else { last++; if (last >= max) inGroup = false; } return last; }

Downloadlinks Beta Version
FlowHeater Beta 32 Bit
FlowHeater Beta 64 Bit
FlowHeater Server Beta

Dateianhang:

Dateiname: groupouttest-neu.zip
Dateigröße:3 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.
Anhänge:
Letzte Änderung: 7 Jahre 1 Monat her von FlowHeater-Team.

Bitte Anmelden um der Konversation beizutreten.

Mehr
7 Jahre 1 Monat her #3046 von Ralf Birk
Ralf Birk antwortete auf Duplizierheater
Hallo Herr Stark,

vielen Dank. Jetzt stimmt alles Perfekt.

Viele Grüße
Ralf B.

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.482 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.