LabVIEWForum.de
Zeilenweise Werte aus Tabelle auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Zeilenweise Werte aus Tabelle auslesen (/Thread-Zeilenweise-Werte-aus-Tabelle-auslesen)

Seiten: 1 2


Zeilenweise Werte aus Tabelle auslesen - ColdducK - 28.11.2011 11:57

Moin moin,

ich möchte zeilenweise Werte aus einer Tabelle auslesen und diese dann weiterverrechnen.
Im Moment lese ich nur die zuletzt eingefügte Zeile aus, aber für mein Projekt möchte ich die errechnetet Daten in Form eines XY-Graphen dartstellen und benötige deshalb mehrere Werte.
Im Screenshot sieht man wie die Tabelle aussieht und wie ich die Zeile auslese.
Mit den Werten aus dieser Zeile berechne ich woanders einen Prozentwert. Nun möchte ich für jede Zeile einen Wert ausrechnen un diesen dann an der Y-Achse antragen. An der X-Achse soll erstmal nur der entsprechende Zeilenindex stehen.

Für Anregungen und Tips wäre ich sehr dankbar.

Gruß Kami


RE: Zeilenweise Werte aus Tabelle auslesen - GerdW - 28.11.2011 13:16

Hallo Kami,

Tipps:
- Eine Tabelle ist ein 2D-Array of strings. "Werte zeilenweise lesen" geht mittels IndexArray.
- Wozu die Propertynode, wenn glecih daneben die Anzeige liegt, ein Draht verwendet und eine RaceCondition vermieden werden könnte?
- Kann man die DB-Werte nicht auch gleich in DBL o.ä. konvertieren statt in Strings? Wäre günstiger zum Rechnen...
- Arraygröße bestimmt man per ArraySize und danach IndexArray...


RE: Zeilenweise Werte aus Tabelle auslesen - ColdducK - 28.11.2011 13:37

Danke schonmal für die Antwort, allerdings hilft mir das noch nicht so ganz weiter :/

Zu den Tips: Das mit dem 2D-Array wusste ich bereits und den Eigenschaftsknoten nehme ich weil die recordcount-Anzeige bei 1 beginnt mit dem Zählen und die Indizierung ja schon bei 0.
Die Werte kommen leider in dieser Form in die DB, aber ich habe schon eine Möglichkeit zum umrechnen gefunden. Also ich rechne im Double-Format weiter.

Meine Frage geht mehr dahin, wie ich die Zeilen nacheinander auslesen und verrechnen kann. Sind immer die Werte der letzten 4 Spalten. Ich will also beginnend bei der ersten Zeile die Werte auslesen, zu einem Wert miteinander verrechnen, diesen als Y-Wert zum Graph und dann mit der nächsten Zeile genauso verfahren, usw.

Im Anhang ist nochmal ein Screenshot wo eine Berechnung durchgeführt wird. Diese soll für iterativ für jede Zeile erfolgen.
Das SubVI ist das vom vorigen Screenshot.


RE: Zeilenweise Werte aus Tabelle auslesen - GerdW - 28.11.2011 13:41

Hallo Duck,

das Stichwort lautet AutoIndizierung!
[attachment=37432]

Zitat:den Eigenschaftsknoten nehme ich weil die recordcount-Anzeige bei 1 beginnt mit dem Zählen und die Indizierung ja schon bei 0.
Die Erläuterung erschließt sich mir nicht. Ein einfacher Draht würde genügen und den gleichen Wert transportieren - mit dem Bonus der nicht vorhandenen RaceCondition!


RE: Zeilenweise Werte aus Tabelle auslesen - ColdducK - 28.11.2011 14:38

Die Richtung scheint richtig zu sein Smile
Jetzt muss ich die Sache nur noch vernünftig an meine Aufgabenstellung anpassen...

Vielen Dank für die schnelle Hilfe


RE: Zeilenweise Werte aus Tabelle auslesen - ColdducK - 29.11.2011 10:28

Hallo, hab doch noch eine kleine Frage.

So wie du es mir gezeigt hast scheint es ganz gut zu laufen.
Würde nur gerne wissen, wie die Funktion die du verwendet hast, die ankommenden Strings umwandelt.
Ist ja die Funktion "Bruch-/Exponential-String nach Zahl" und ich hatte ursprünglich mal "in String suchen" verwendet. Da weiß ich wie die Umwandlung läuft. Die kann ich aber nicht an ein 2D-Array von Strings anschließen.

Weil die ankommenden Strings sind ja Zeiten in diesem Format: "Stunden:Minuten". Wenn er jetzt Stunden "durch" Minuten rechnen würde wäre das etwas schlecht Smile

Gruß Kami


RE: Zeilenweise Werte aus Tabelle auslesen - GerdW - 29.11.2011 10:31

Hallo Kami,

für Zeitangaben kannst du diese Funktion nicht verwenden. Deshalb die Zeitspalten extra auswerten und z.B. mit ScanFromString mit "%<%H:%M>T" auswerten...


RE: Zeilenweise Werte aus Tabelle auslesen - ColdducK - 29.11.2011 11:09

Ja das mache ich auch (mit %t bekommt man die relative Zeit), allerdings geht das nicht bei 2D-Arrays aus Strings mit dieser Funktion, oder ich weiß nicht wie.
Eigentlich sind alle Daten die ich auslese in dem eben beschriebenen Format (Stunden:Minuten).


RE: Zeilenweise Werte aus Tabelle auslesen - GerdW - 29.11.2011 11:16

Hallo Duck,

ja, SFS kann nur mit skalaren Strings umgehen. Aber es gibt ja auch das Konstrukt der (geschachtelten) FOR-Loops...


RE: Zeilenweise Werte aus Tabelle auslesen - ColdducK - 29.11.2011 11:22

Habe erst vor kurzem im Rahmen meiner Bachelorarbeit mit dem Programmieren angefangen und hab da so meine Anfängerprobleme. Aber ich denke ich weiß was du meinst.