@adjo9835 ,

When you specify Save Predicted while using a Where() clause the resulting predicted formula will look like this

This was created with hard-coded where values for the Where() clause. If you look at the titles on each of your Bivariate windows it states:

`Where( :c_type == "Cdg" & :process == ProcessArray[n] )`

JMP will calculate the splines correctly however, it does not substitute the value of ProcessArray[n].

I suggest you modify the Bivariate loop to this

```
for (n = 1, n <= length(ProcessArray), n++, // Create and save multiple splines, for all values of ProcessArray[]
Eval( EvalExpr( Bivariate(
Y( :c_mm_deembed_pf ),
X( :v_dut_volt ),
Where( :c_type == "Cdg" & :process == Expr(ProcessArray[n] ) ),
Fit Spline( 0.1, standardized, {save predicteds})
) ) );
); //end for
```

Also, if you want to get a list of unique values in column :process, you can do it quite simply with Summarize() or Associative Array(). See the script below using a JMP sample data table.

```
Names Default to Here(1);
dt = Open("$Sample_Data/SATByYear.jmp");
r_aa = (Associative Array(:Region)) << get keys;
show(r_aa);
summarize( rarray = By(:Region));
show(rarray);
for(n=1, n <= nitems(rarray), n++,
Eval (EvalExpr(
Bivariate(
Y( :SAT Math),
X( :Year),
Where( :Region == Expr( rarray[n] ) ),
Fit Spline( 0.1, standardized, {save predicteds})
)
))
);
```