05-05-2011 07:38 AM
Hallo,
um im Report Nullen nicht darzustellen, habe ich sie auf NoValue gesetzt. Nun werden sie aber doch als Null angezeigt.
Gucke ich in die Eigenschaften des Kanales, steht bei NoValues:Nein und auch die Kanalfunktion NoValues bearbeiten sagt mir, daß es in dem Kanal keine NV gibt.
Die Werte stehen aber definitiv da drin!?
Erzeugt habe ich sie mit:
for i = 1 to chnlength(6)
if chdx(i,11) < 1000 or chdx(i,10) < 70 then
chdx(i,11) = NoValue
chdx(i,10) = 0
end if
next
Weiß jemand Rat?
Gruß
05-06-2011 01:37 AM - edited 05-06-2011 01:38 AM
Hallo Traderhans,
das liegt daran, dass du einen schnelleren Kanalzugriff (chdX) eingesetzt hast. Er ist schneller, weil keine Kanalkennwerte berechnet werden. Die Kennwerte kann mann anschließend aber mit ChnCharacter berechnen lassen.
Noch schneller ist aber die Data-API, die seit DIAdem 11 unterstützt wird. dann sieht dein Script so aus:
dim oChnX, oChnY, i
set oChnX = Data.GetChannel("KanalName-X")
set oChnY = Data.GetChannel("KanalName-Y")
for i = 1 to oChnX.Size
if (oChnX(i) < 1000) or (oChnY(i) < 70) then
oChnX(i) = NV
oChnY(i) = NV
end if
next
Der Vorteil ist erstens, dass dies schneller ist als der CHDX Befehl und zweitens, dass die Kanalkennwerte nicht explizit berechnet werden müssen - obwohl diese Variante schneller ist, werden die Kennwerte intern von DIAdem berechnet.
Gruß
Walter
05-06-2011 03:00 AM
Danke, werde ich testen.
Komisch ist nur, daß dieses Programm schon lief. Wenn ich die Daten eines anderen Tests auswerte, werden NoValues im Report nicht angezeigt, wie es auch sein sollte. Ich habe mir jetzt so geholfen, daß ich den ursprüngichen Test darstelle und die Kanalwerte der Frequenz mit den neuen Daten überschreibe. Es scheint also irgend ein Bit bei der Formatierung nicht gleich zu sein!?
Gruß