Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 100.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.
  • Seite:
  • 1

THEMA: Duplizierheater

Duplizierheater 9 Monate 3 Wochen her #3041

  • Ralf Birk
  • Ralf Birks Avatar Autor
  • Offline
  • Senior Member
  • Senior Member
  • Beiträge: 70
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)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Ralf Birk. Begründung: Falsche Gruppe

Duplizierheater 9 Monate 2 Wochen her #3042

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1248
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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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: von FlowHeater-Team.

Duplizierheater 9 Monate 2 Wochen her #3043

  • Ralf Birk
  • Ralf Birks Avatar Autor
  • Offline
  • Senior Member
  • Senior Member
  • Beiträge: 70
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.
Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Duplizierheater 9 Monate 2 Wochen her #3044

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Administrator
  • Beiträge: 1248
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
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
Anhang:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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: von FlowHeater-Team.

Duplizierheater 9 Monate 2 Wochen her #3046

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

vielen Dank. Jetzt stimmt alles Perfekt.

Viele Grüße
Ralf B.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.103 Sekunden