The NaN is because there's a trailing '%' on the Ratio field. You can remove it like:

ratio: +d.Ratio.slice(0, -1)

assuming that all of the Ratio fields have a trailing '%' character.

In order to iterate through the rows you'd do something like:

var max = -1;

for (var i = 0; i < rows.length; i++ ) {
    if (rows[i].Ratio > max) {
        max = rows[i].Ratio;

EDIT: changed the name of the variable to rows to reflect a name that should be defined in the callback function.

Related Query