LabVIEWForum.de - Array je nach Wert in einer Spalte auftrennen

LabVIEWForum.de

Normale Version: Array je nach Wert in einer Spalte auftrennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Morgen zusammen,

Ich bräuchte nochmals eure Hilfe:
Und zwar möchte ich ein SubVI machen, welches ein 2D-Array mit unbestimmter Grösse, je nachdem was für ein Wert in der ersten Spalte einer Zeile ist, in neue 2D-Arrays trennen.

FYI: Also meine Aufgabe ist es ein Programm zu erstellen welches den Mittelwert zweier Prüfdaten (dies sind dann 2 Spalten) aus einer Datenbank aus liest. Da in der DB verschiedene Prüflingstypen, Materialnummern Aufträge, etc stehen habe ich einen Filter gemacht bei dem man am Schluss ein Array mit den gewünschten Werten bekommt. Soweit so gut. Jetzt soll dieses Array mit den Werten nach den Auftragsnummern sortiert werden und zu jedem Auftrag die zwei Mittelwerte angezeigt werden also möchte ich das Array nach Aufträgen trennen.
Je nachdem welchen Filter man jetzt setzt bekommt man ein neues/anderes Array mit unbestimmter Menge von verschiedenen Aufträgen.

Im Bild: seht ihr das Array welches, bei den ausgewählten Filtern, ausgegeben wird. dies soll jetzt nach Aufträgen (erste Spalte) getrennt werden. Das heisst es sollen jetzt 3 neue Array gebildet werden.
(PS: das Array wird am Schluss dann nicht angezeigt sondern ist zur zum besseren Verstehen eingefügt.)

Kann mir jmd. dabei helfen?
lv14_img

Gruss Philipp
Hallo Philipp,

du willst also alle Zeilen, die in der ersten Spalte einen bestimmten Wert haben, in ein neues Array übernehmen?
Dann mach doch genau das!

Du brauchst dafür eine autoindizierende FOR-Loop, einmal IndexArray und einen Vergleich:
[attachment=55323]

Warum fragst du deine DB nicht einfach nur mit bestimmten Auftragsnummern ab und erledigst die Filterung gleich dort? Hmm
Hallo GerdW

Danke erstmal für deine Antwort.

(19.02.2016 11:19 )GerdW schrieb: [ -> ]Warum fragst du deine DB nicht einfach nur mit bestimmten Auftragsnummern ab und erledigst die Filterung gleich dort? Hmm
Du hast schon recht wenn ich den Filter auf Auftrag setze tritt mein Problem gar nicht erst ein. Leider möchte mein Ausbildner zwischen den Filtern Zeitraum und Auftrag auswählen können. und wenn er jetzt einen bestimmten Zeitraum auswählt tritt mein Problem einUndecided

Gruss Philipp
Im Array-Teil des OpenG Toolkits sollte es fertige Funktionen für dein Problem geben.

Alternativ, was hindert dich daran, nachgeordnet noch ein paar SQL-Abfragen rauszuhauen...

Gruß, Jens

P.S.: Bitte das nächste Mal etwas mehr Mühe beim Thementitel verwenden...
Hallo Philipp,
im Grunde benützt Du ein 2 dimensionales Array.
Wenn Du die einzelnen Aufträge filtern möchtest, dann mach ein 3 dimensionales Array.
Gruß
Freddy
@Freddy:
3D-Array halte ich für sub-optimal. Wenn 1 Auftrag 100 Zeilen ausspukt der der nächste nur 1 Zeile, dann hast du im 3D-Array 99 Leerzeilen. Belegt unnötig Speicher und für weitere Verarbeitungen muss man sie wieder rausfiltern.

Dann lieber ein 1D-Array of Cluster of 2D-Array.

Gruß, Jens
Man kann auch die einzelnen Auftrags - Tabellen in ein Variante schreiben oder ein Variant Array verwenden.
Gruß
Freddy
Hallo zusammen

Ist schon etwas länger her, aber dachte falls noch jemand ein ähnliches Problem hat, hier wäre noch meine Endlösung:

- Das Array "Werte" ist die im ersten Beitrag sichtbare Tabelle
- Im Array "ArrayAuftrag" sind alle Zeilen von "Werte", welche in der zweiten Spalte die ausgewählte "Auftragsnmr" haben.

Gruss
Philipp
Autsch, bei der Lösung dreht sich mir der Magen um. Unnötige Flat-Sequences, unnötige lokale Variablen etc. pp.

Es lässt sich eindampfen auf das:
[attachment=55797]

Gruß, Jens
Hallo,

ist das nicht genau das, was ich Mitte Februar vorgeschlagen hatte, nur jetzt für Spalte 2 statt 0?
Seiten: 1 2
Referenz-URLs