cancel
Showing results for 
Search instead for 
Did you mean: 

Plotting Null Values with iChart

Former Member
0 Kudos

I have time series data with, surprise, surprise, missing data. In xMII, the end result is some values have NaN, while the good values are just a number of some sort. When plotting the data in an iChart with the time stamp along the X-axis, the NaN values are still plotted, but at the bottom of the chart. So in a zero based line chart, it's not possible to distinguish zeroes from NaN without looking at the mouse tracking or showDetail, which is not very user friendly.

Has anyone been able to get iChart to plot like Excel, where null values are not plotted at all, so you get a broken line?

Thanks,

Bill

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Sam,

Good thought, but I had already installed that one a couple of months ago. We have web service responses that end up as an Illum Doc with not all rows having all columns. After SR3 we all of a sudden had no data for these. This patch fixed that.

Thanks,

Bill

0 Kudos

Bill,

The charts will plot a value for each row of data in the value column specified. You may want to sent mouse over values so that the operator can hover over a datapoint with the mouse to see it's value. You can also complement the page with an iGrid of the actual plotted values.

Hope this helps.

Sam

Former Member
0 Kudos

Sam and Jeremy,

I tried the patches, and now NaN is showing as NA. But when I try to read from the cache, or plot that data with iChart, it doesn't get past the first NA row.

E.g. row 3 is the first one with NA in a 10 row Rowset. Using Test in the query template, if the read is from the cache, rows 1 & 2 are fine, but row 3 shows 0 and the following rows are missing. If I plot that data, even without the cache involved, the chart does the same. Rows 1 & 2 plot fine, row 3 shows a value of 0, and the chart ends there.

To the others thanks for your thoughts, but they centre around transforming nulls to something else, or filtering them out. The business requirements here are that null if a perfectly valid data point, associated with a valid datetime. We just need to show that point on a chart as a space over that datetime, instaed of appearing to be the lowest value on the chart.

Thanks,

Bill

0 Kudos

Bill,

There is another note that references the previous one and they should both be done on your system. Here's the additional note: 1072612

It is titled "Null pointer error with IllumDocs and Null Rows" and will affect the way that the IllumDoc XML builds when there is missing data but also does have impact when dealing with missing data. Hope this helps.

Sam

sean_brown
Member
0 Kudos

Bill, are you feeding the iChart with a TagQuery or a SQLQuery?

If it's a SQLQuery, couldn't you simply add an "IS NOT NULL" to the Query Where clause to eliminate the NULL data from the returned set?

If it's a TagQuery, couldn't you make it a SQLQuery <g>?

Former Member
0 Kudos

Musarrat,

The NaN is simply the result of getting null values from an SQL server query. There are 2 columns, DateTime and Value. The DateTime's are all there, but some of the values are not. This is very common in time series data from MES systems. They need to be plotted such that for any dates that have a null, there is no plot. In a line chart, you get the effect of a line with some chunks missing.

Former Member
0 Kudos

Hi,

you can fetch the query data inside BLS and there you can put the desired check on the query results and reformat to the output using an illuminator document.

Later you can use a Xacute transaction to get the output of BLS.

0 Kudos

Bill,

There's no built in way to handle the NaN data other than to display it at the zero line of the chart; since technically speaking the NaN entries are valid data. I know that there are a couple of Notes on Service Marketplace that have Java class patches on the way that xMII handles null data but I'm pretty sure that there's nothing for NaN values. My suggestion is to either filter the data via the query or via the Sort & Filter action block in BLS. Hope this helps.

Sam

jcgood25
Active Contributor
Former Member
0 Kudos

Hi,

Can you be a bit descriptive? Why are you getting NaN ? From where you are fetching data? Is it SAP?