Zum Hauptinhalt springen
Weil einfach - produktiver ist
Der Daten Spezialist

✅ Kinderleichte Datenintegration - Import / Export
✅ Keine Programmierung dank visueller Modellierung
✅ Einfaches ETL-Tool mit vielseitigen Möglichkeiten

Flowheater Chart

Doppelte Einträge in einer Zelle entfernen und sortieren.

Mehr
13 Jahre 7 Monate her #1195 von Holger
Hallo,

liebes FlowHeater Team, erstmal ein ganz großes Kompliment zu diesem genialen Werkzeug. Es hat meine tägliche Arbeit extrem entlastet und wurde von mir auch schon oft an Freunde weiterempfohlen. Es macht mir immer wieder große Freude mit dem FlowHeater zu arbeiten.

Jetzt stehe ich aber vor einem kleinen Problem.

In einer Zelle habe ich z. Bsp. folgenden Inhalt:

10|11|7|124|40|11|34|11|34|36|11|34|40|10|34|10|34|36|10|34|40|

Wie kann ich mit dem FlowHeater (.NET, C# oder VB) Heater diese Reihe sortieren und zugleich die doppelten Zahlenwerte entfernen?

Die fertige Zelle sollte dann so ausschauen (ohne Pipes vorne und hinten):

7|10|11|34|36|40|124

Ich bin schon ganz gespannt ;-)

Viele Grüße,

Holger

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Jahre 7 Monate her #1197 von FlowHeater-Team
Hallo Herr Esser,

vielen Dank für das Lob und die Empfehlungen, wird immer wieder gerne angenomen :)

Mit folgenden C# Skript für den .NET Script Heater können Sie das umsetzen.
Code:
public object DoWork() { if (InValues.Length != 1) throw new Exception("1 Eingangsparameter erwartet!"); char [] c = {'|'}; // Feldtrennzeichen ggf. hier anpassen string sIn = (string)InValues[0].GetString(); string [] a = sIn.Split(c); // Vorbereitung fürs sortieren object[] aI = new object[a.Length]; for (int i = 0; i < a.Length; i++) { if (a[i] != null && a[i].Length > 0) aI[i] = Convert.ToInt32(a[i]); else aI[i] = null; } // Sortieren anhand der Zahlenwerte! Array.Sort(aI); string ret = String.Empty; // dopplete Einträge filtern object oLast = null; for (int i = 0; i < aI.Length; i++) { if (aI[i] == null) continue; // wenn gleicher Wert wie der vorherige dann überspringen if (oLast != null && Convert.ToInt32(oLast) == Convert.ToInt32(aI[i])) continue; if (ret.Length != 0) ret += c[0]; // Trennzeichen hinzufügen int iTemp = (int)aI[i]; ret += iTemp.ToString("0"); // letzten Wert merken oLast = aI[i]; } return ret; }

Im Anhang finden Sie ein kleines Beispiel zur Anwendung.


Anhang Zeilenarray_sortieren_und_doppelte_filtern.zip wurde nicht gefunden.


gruß
Robert Stark

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Jahre 7 Monate her #1198 von Holger
Hallo Herr Stark,

das funktioniert wunderbar - Sie haben es echt drauf!

Viele Grüße,

Holger

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.157 Sekunden
FlowHeater Logo
FlowHeater - Der Daten Spezialist

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

Rechtliches
Support & Kontakt
Kontaktinformation

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