Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

How to remove NAN.


Mavada Jan 19, 2013 09:29 AM

Hi all,

Ive been busy with my 10 minute weather display as you can see below in RTMC Pro.
Hell of a job that is...every data and colour has its own instruction...

But how to get rid of the NAN being displayed caused by data not yet been gathered.
Probably have to add something after each instruction in RTMC Pro?

* Last updated by: Mavada on 1/19/2013 @ 2:35 AM *


Mavada Jan 19, 2013 04:09 PM

this expression is used...every datafield will increase the 2510 value...


StartRelativeToNewest(nSecPerDay*2,OrderCollected);ValueAtTime("Server:CR1000.Table1.Windroos",TimeStamp("Server:CR1000.Table1.Windroos"),TimeStamp("Server:CR1000.Table1.Windroos") MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999)

must have an expression which will start only when a certain time is present, so if it isnt, there will be a blanc datafield (without zero or tekst...)to prevent the NAN...

* Last updated by: Mavada on 1/19/2013 @ 9:10 AM *


Mavada Jan 20, 2013 07:57 PM

anyone got an idea?


Dana Jan 21, 2013 07:32 PM

See if you can use IIF (refer to the help file) to return some other value if NAN or return the value if not NAN.

Dana W.


Mavada Jan 21, 2013 07:59 PM

if i use this, it result in 0. NAN or no NAN.


StartRelativeToNewest(nSecPerDay*2,OrderCollected);ValueAtTime("Server:CR1000.Table1.Beaufort",TimeStamp("Server:CR1000.Table1.Beaufort"),TimeStamp("Server:CR1000.Table1.Beaufort") MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2870,6999)IIF("Server:CR1000.Table1.Beaufort"=NAN,"","Server:CR1000.Table1.Beaufort")


Mavada Jan 22, 2013 09:58 PM

please give me some info on this:):)

* Last updated by: Mavada on 1/23/2013 @ 1:14 PM *


Mavada Jan 23, 2013 08:15 PM

please give me some info on this:):)


MPPMC Jan 28, 2013 01:34 PM

I get around this problem by declaring the variable as a string then setting its value to " " at the beginning of the program.


Mavada Jan 28, 2013 02:25 PM

Thanks for your reply, how do i do that in RTMC Pro with this instruction?:

StartRelativeToNewest(nSecPerDay*2,OrderCollected);ValueAtTime("Server:CR1000.Table1.Windroos",TimeStamp("Server:CR1000.Table1.Windroos"),TimeStamp("Server:CR1000.Table1.Windroos") MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999)


tmecham Jan 28, 2013 06:47 PM

Try this:

StartRelativeToNewest(nSecPerDay*2,OrderCollected); IFF(ValueAtTime("Server:CR1000.Table1.Windroos",TimeStamp("Server:CR1000.Table1.Windroos"),TimeStamp("Server:CR1000.Table1.Windroos") MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999) = NAN, $" ", ValueAtTime("Server:CR1000.Table1.Windroos",TimeStamp("Server:CR1000.Table1.Windroos"),TimeStamp("Server:CR1000.Table1.Windroos") MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999))


tmecham Jan 28, 2013 06:54 PM

Or you can use the IsFinite() function instead of checking specifically for NAN.

StartRelativeToNewest(nSecPerDay*2,OrderCollected);
Alias(val, "Server:CR1000.Table1.Windroos");
IIF(IsFinite(ValueAtTime(val,TimeStamp(val),TimeStamp(val) MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999)), ValueAtTime(val,TimeStamp(val),TimeStamp(val) MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999), $" ")


Mavada Jan 28, 2013 08:12 PM

Thanks for the reply.
With this instruction:

StartRelativeToNewest(nSecPerDay*2,OrderCollected);
Alias(val, "Server:CR1000.Table1.Windroos");
IIF(IsFinite(ValueAtTime(val,TimeStamp(val),TimeStamp(val) MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999)), ValueAtTime(val,TimeStamp(val),TimeStamp(val) MOD nSecPerDay+nSecPerHour*24-nSecPerMin*2510,6999), $" ")

the NAN is gone, but as soon as it should show data, it shows an !

Log in or register to post/reply in the forum.