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

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Array je nach Wert in einer Spalte auftrennen (/Thread-Array-je-nach-Wert-in-einer-Spalte-auftrennen)

Seiten: 1 2


Array je nach Wert in einer Spalte auftrennen - b.proud - 19.02.2016 10:51

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


RE: array nach jeh nach wert in einer spalte auftrennen - GerdW - 19.02.2016 11:19

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


RE: array nach jeh nach wert in einer spalte auftrennen - b.proud - 19.02.2016 11:27

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


RE: array nach jeh nach wert in einer spalte auftrennen - jg - 19.02.2016 12:33

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...


RE: Array je nach Wert in einer Spalte auftrennen - Freddy - 19.02.2016 12:49

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


RE: Array je nach Wert in einer Spalte auftrennen - jg - 19.02.2016 13:01

@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


RE: Array je nach Wert in einer Spalte auftrennen - Freddy - 19.02.2016 13:33

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


RE: Array je nach Wert in einer Spalte auftrennen - b.proud - 02.05.2016 08:49

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


RE: Array je nach Wert in einer Spalte auftrennen - jg - 02.05.2016 09:01

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


RE: Array je nach Wert in einer Spalte auftrennen - GerdW - 02.05.2016 10:04

Hallo,

ist das nicht genau das, was ich Mitte Februar vorgeschlagen hatte, nur jetzt für Spalte 2 statt 0?