DIAdem-Version: 11.1 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: -
Beiträge: 8
Registriert seit: May 2010
Messungen zuordnen
Hallo zusammen,
ich habe einen Datensatz, in dem mehrere Messungen abgelegt sind.
In einem Kanal wird dabei die Nummer der Messung angegeben (steigt von 0 bis 10)
Jede Messung beinhaltet zwischen 5 und 10 aufeinanderfolgende Messdaten.
Ist es möglich, diese Messungen voneinander zu trennen und jeweils einen Mittelwert zu bilden?
Anders gesagt, wie erkennt DIAdem, wann Messung 1 vorbei ist und welche Daten zu Messung 1 gehören?
Hoffe, ich habe es einigermaßen verständlich gemacht...
Grüße,
stephan
PS: zur Veranschaulichung ein Ausschnitt, wie die Daten aussehen
09.06.2010, 07:26 (Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2010 15:25 von M.Schneiders.)
Hallo,
könntest mit "ChnFind" die Zeile finden, wo eine neue Messung startet. Der Block einer Messung ist dann bekannt.
Anschließend bei dem Befehl "StatBlockCalc" den Block angeben, in dem der Mittelwert berechnet werden soll.
Das ganze in einer Schleife.
DIAdem-Version: 11.1 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: -
Beiträge: 8
Registriert seit: May 2010
RE: Messungen zuordnen
So, hier das Skript.
Sorry, Darstellung ist sicher nicht ganz professionell...
Ich vermute das Problem bei der Variablen L2 im Befehl ChnFind,
weiß aber nicht, wie ich die dort anders einlesen kann...
Beim zweiten Durchgang der for-Schleife steigt mit der sichtbaren Fehlermeldung aus...
Der Durchgang mit L2=0 wird korrekt durchgeführt.
Vllt weiß einer von Euch Rat?!
Wäre für Hilfe dankbar!
Gruß,
stephan
EDIT: habe den haken anscheinend gefunden:
I = ChnFind("Ch(""Messung_Nr"")>"&L2,0)
so scheint es zu funktionieren?!
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 1996
Beiträge: 571
Registriert seit: Oct 2008
RE: Messungen zuordnen
Das Problem ist, dass L1, L2 ... L32 Diademvariablen sind (darum werden sie auch grün dargestellt). Jetzt hast Du diese auch als VBS Variable deklariert. Der ChnFind Befehl in der Schreibweise 1
Code:
ChnFind("Ch(""Messung_Nr"")>L2",0)
greift auf die Diademvariable zu (Inhalt 0), während VBS auf diese nicht mehr zugreifen kann.
In der Schreibweise 2
Code:
ChnFind("Ch(""Messung_Nr"")>"&L2,0)
funktioniert es, da Du den Inhalt der VBS Variable als Text übergibst.
Aber bitte diese Doppeldeklaration von Diademeigenen Variablen vermeiden!
Ach ja, es ist einfacher, wenn Du Deinen Code als Text postest, dann kann man Ihn direkt in DIAdem kopieren...
Gruß
Bruno
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0 DIAdem-Sprachversion: DE DIAdem Erfahrung seit: 1996
Beiträge: 571
Registriert seit: Oct 2008
RE: Messungen zuordnen
Hallo stephan,
der Befehl DataBlCopy erwartet eine Kanalliste, das kann ein sehr komplexer String sein, der die gewählten Kanäle beschreibt.
DIAdem Hilfe schrieb:Kanallisten
Eine Kanalliste ist ein Text, der sich auf einen einzelnen Kanal oder auf mehrere Kanäle bezieht.
Auf der Seite Kanäle und Kanalbezüge erfahren Sie, wie Sie Bezug auf einen Kanal nehmen können. Um auf mehrere Kanäle Bezug zu nehmen, müssen Sie die einzelnen Kanalbezüge in einfache Anführungszeichen setzen und durch Komma voneinander trennen, beispielsweise:
"'Grp1/Chn1','Grp1/Chn4','Grp1/Chn7','Grp1/Chn20'".
Auf mehrere Kanäle können Sie auch Bezug nehmen, indem Sie einen Bereich von Kanälen durch folgende Syntax angeben: von Kanal - bis Kanal. Möchten Sie beispielsweise die Kanäle Grp1/Chn1, Grp1/Chn4 bis Grp1/Chn7 und Grp1/Chn20 auswählen, geben Sie folgende Kanalliste an:
"'Grp1/Chn1','Grp1/Chn4'-'Grp1/Chn7','Grp1/Chn-20'"
Die Kanäle der Kanalliste können Sie über die Kanalnamen oder über die Kanalnummern bestimmen. Die Kanalnummern entsprechen den Nummern der Kanäle in der Listenansicht des Datenportals. Sie wählen beispielsweise die Kanäle 1, 4 bis 7 und 20 über folgende Kanalliste aus:
"1,4-7,20"
Wenn Sie in einer Kanalliste Kanalnummern oder Bereichsangaben verwenden, sollten Sie beachten, dass die Kanäle in der Strukturansicht des Datenportals nicht zwingend in der Reihenfolge der Kanalnummern vorliegen. Verwenden Sie Neue Kanalnummern im Kontextmenü der Root im Datenportal, um die Kanalnummern entsprechend der Strukturansicht neu zu vergeben.
Du kannst also mit Variablen arbeiten (entweder Kanalnamen oder auch Kanalnummern), musst jedoch diese als Text übergeben (z.B. Zahlen mit str oder cstr umwandeln und dann mit dem & Operator Textteile verbinden).
Auch Dir ein schönes WE!
Gruß
Bruno