Zum Hauptinhalt springen
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 Chart

Einzelne Datensätze nach Markierung filtern

Mehr
1 Jahr 8 Monate her #4774 von Ralf Birk
Einzelne Datensätze nach Markierung filtern wurde erstellt von Ralf Birk
Hallo Robert,

Ich habe mal wieder eine Frage, die ich schlecht erklären kann....Ich versuche es mal:
Ich muss aus einer sehr großen Datenbank einige Datensätze zu Prüfzwecken exportieren. Diese werden nach verschiedenen Kriterien markiert.
Seit längerer Zeit habe ich in einem Verarbeitungsschritt mehrere If-Then abfragen drin, die bei Übereinstimmung einen XValue-Wert ausgeben (sonst Null), anschliesend mit einem Append in ein Ausgangsfeld geschrieben werden. Im nächsten Inmemory Arbeitsschritt sortiere ich nach diesem Feld, mache eine ID auf gleiche Werte, frage die "1" ab und schreibe diese  in den Write, die ich im nächsten Arbeitsschritt rausfiltere und Exportiere.
Diese Methode ging lange Zeit gut. Bei jeder Bedingung geht die Zahl der markierten Datensätze aber Expotential in die Höhe. (Sollte aber möglich gering gehalten werden).
Beispiel: Ich will in der Ausgabe einen Herrn, eine Frau, eine Adresse mit Zusatz, ein Postfach usw. Wenn ich dann noch einen Datensatz ohne Kundennummer will bekomme ich zusätzlich alle anderen Markierten Kriterien (Ein Herr ohne Kdnr, eine Frau ohne Kdnr usw.) Da auf diese Weise mittlerweile zu viele Datensätze gefiltert werden habe ich versucht eine effektivere Methode zu finden.

Ich will die Ausgabe der if-Then's mit ID (Count auf bestimmte Werte) zählen, und den InMemory-Write ein mit einem Wert (z.B. 1) aktualisieren. Nach diesem würde ich im nächsten Arbeitsschritt filtern.
Ich dachte, das ich bei dieser Vorgehensweise maximal die Anzahl der abgefragten Kriterien filtern könnte.
Leider funktioniert die "Count auf bestimmte Werte in ID-Adapter" Funktion nicht wie erwartet und erzählt nicht die eingestellten Werte des abgefragten Datenfelds hoch.
Ich habe mal zum veranschaulichen eine CSV mit einigen Daten eingetippt und eine einfache Definition gebastelt in der man sieht was ich meine.
Habe ich irgendwo einen Denkfehler und die Funktion ist für ganz andere Zwecke. Wenn ja....gibt es eine andere Lösung?
Die Ausgabe von genausoviel Datensätzen wie abgefragt wäre schon ein riesen Erfolg. Die Krönung wäre, wenn es eine Lösung geben würde, wenn bei den oben beschriebenen Breispielen zb. Bei einem Mann mit Zusatz und keiner Kundennummer nur 1 Datensatz gefiltert werden würde, da diese ja alle 3 gewünschten Marker hat. Da dies vermutlich nicht so einfach zu realisieren wäre, würde mir schon ausreichen die Count-Funktion bei bestimmten Werten"´zu verstehen um vielleicht weiter zu kommen.

Gruß Ralf

 

Dateianhang:

Dateiname: datensatzm...rung.zip
Dateigröße:20 KB

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 8 Monate her #4775 von FlowHeater-Team
FlowHeater-Team antwortete auf Einzelne Datensätze nach Markierung filtern
Hallo Ralf,

Deine Anforderung ist schon sehr speziell und kann vernünftig eigentlich nur mit einem C# Skript für den .NET Script Heater durchgeführt werden. Ich habe Dir im Angang mal eine Beispieldefinition erstellt.

Du kannst dem .NET Script Heater beliebig viele Eingangsparameter hinzufügen. Pro Wert wird immer nur ein Wert ausgegeben. Also z.B. Anrede 1x Herr, 1x Frau, 1x ohne, dann 1x mit Zusatz und 1x ohne, etc. Du kannst auch zusammengefügte Felder verwenden, oder aber wie im Beispiel eine Prüfung mit dem If-Then-Else Heater auf IsEmpty, etc.

So ist das erstmal relativ einfach und flexibel. Das Ganze kann natürlich auch auf die Spitze getrieben werden und individuell noch weiter angepasst werden. Dann wird es aber sehr aufwendig!

Ich denke damit kann man schon sehr viel erreichen.

 

Dateianhang:

Dateiname: filter-skript.zip
Dateigröße:11 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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 8 Monate her #4777 von Ralf Birk
Hallo Robert,

das sieht ja aufgeräumt aus...
Vielen Dank schon einmal für die Mühe. Das Ergebnis entspricht in etwa meiner "alten" Lösung, die aber nur mit wesentlich größerem Aufwand erzielt wurde.
Ich muss jetzt mal schauen, ob ich das ganze auf dieser Basis noch eingedampft bekomme.
Im Idealfall sollte ja mit den Parametern aus deinem Beispiel 3 Datensätze ausgegeben werden (Wenn z.B. ein Herr ohne Zusatz, Postfach und Kundennummer gefiltert wird fehlt nur noch eine Frau und einer ohne Anrede da die Anderen Kriterien ha schon mit dem "Herr"-Datensatz erfüllt sind.
Muss mal testen was da noch rauszuholen ist. Wenn ich nur dein Script lesen (besser gesagt verstehen) würde.
Ich bin übrigens nicht der Ansicht, dass dies eine so spezielle Anforderung ist, da mir die Aufgabe, einzelne Datensätze nach speziellen Kriterien heraus zu suchen schon von einigen Kunden gestellt wurde.
Wie immer eine schnelle und super einsetzbare Hilfe...Man kann nur den Hut vor dir ziehen.

PS: Die Vorgehensweise bei AutoID mit dem Count auf bestimmte Werte ist mir immer noch nicht klar..

Wünsche dir ein schönes Wochenende

LG Ralf
 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 8 Monate her #4778 von Ralf Birk
Hallo Robert,

ich wollte mich nochmals kurz melden. Ich habe etwas "gebastelt" und eine Möglichkeit gefunden das ganze weiter einzugrenzen.
Leider ist es dann mit der Übersichtlichkeit schon wieder vorbei.
Ich frage z.B. den Zusatz ab. Bei True Verkette ich das True mit der Anrede ansonsten nehme ich nur die Anrede. Mit dem Ergebis gehe ich in dein Script. Werde das in der Form ausbauen.
Danke Nochmals...

Gruß Ralf

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
1 Jahr 8 Monate her #4780 von FlowHeater-Team
FlowHeater-Team antwortete auf Einzelne Datensätze nach Markierung filtern
Hallo Ralf,

bzgl. dem Count) Wenn du nur gleiche Eingangsparameter zählen wills musst du hier im AutoID Heater den Startwert auf 0 stellen. So wird solange 0 zurückgeliefert bis der erste passende Wert eingegangen ist.


 

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.

Mehr
1 Jahr 8 Monate her #4784 von Ralf Birk
Hallo Robert,

dann war ja die Denkweise im Prinzip doch richtig. Ich "Dödel" hab nur die 1 drin stehen lassen anstatt eine 0 als Start zu nehmen.
Danke dir nochmals und wünsche dir ein schönes Wochenende...

Gruß Ralf

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.286 Sekunden
FlowHeater Logo

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.