cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Check out the JMP® Marketplace featured Capability Explorer add-in
Choose Language Hide Translation Bar
uwe_hiss
Level II

JSL: How can I set the variables for process capability from a list?

Hello,

my list of dataColName contains the column headers that I want to use as variables for process capability.

dataColName = dt_data << GetColumnNames( Numeric, String );

repWin = New Window( sTableName, container = V List Box() );

For( k = 1, k <= N Items( dataColName ), k++,

  content = V List Box(

  dt_data_sub <<  Process Capability(

  //Process Variables( :Assay, :Dissolution, :Weight ),

  Process Variables( dataColName ),

  Individual Detail Reports( 1 ),

  Capability Box Plots( 0 ),

  Within Sigma Summary Report( 1 ),

  Name( "AIAG (Ppk) Labeling" )(0),

  Goal Plot( 0, Show Within Sigma Points( 1 ), Show Overall Sigma Points( 0 ) ),

  {dataColName << Process Capability Analysis(

  Overall Sigma Capability( 0 ),

  Nonconformance( 0 ),

  Histogram( 0 ))}

  )

  );

  container << Append( content );

);


Why tells me the log:

"Specified Column not found in data table. in access or evaluation of 'List' , {/*###*/dataColName, k}

Process Capability cannot be launched because none of the processes can be found in the data table." ?


It works fine in

Control Chart (Chart Col (dataColName, ...


regards,

Uwe

1 ACCEPTED SOLUTION

Accepted Solutions
uwe_hiss
Level II

Re: JSL: How can I set the variables for process capability from a list?

Goal

Process Variables( { dataColName } ),

View solution in original post

4 REPLIES 4
uwe_hiss
Level II

Re: JSL: How can I set the variables for process capability from a list?

Goal

Process Variables( { dataColName } ),

ms
Super User (Alumni) ms
Super User (Alumni)

Re: JSL: How can I set the variables for process capability from a list?

I don't know why, but from I've noticed that whether an argument is evaluated or not varies among platforms.

Here, the argument of Process Variables() appears not to be evaluated; a column name is explicitly required. However using a variable should work if the evaluation is forced with Eval()

Eval(dataColName[k])

uwe_hiss
Level II

Re: JSL: How can I set the variables for process capability from a list?

Hi MS,

thanks for the tip.

I found out, it works with additional braces.


Uwe

DSchweitzer
Level II

Re: JSL: How can I set the variables for process capability from a list?

I know that this thread is old and there are posted solutions that may have worked. However, I had the need to do exactly the same thing that this topic thread  addressed and found that the accepted solution didn't work for me. The curly braces produced the error message below:

 

               Process Capability cannot be launched because none of the processes can be found in the data table. 

 

Using the Eval() function worked for me, but I did not need to use an index variable.   I was able to generate the report without a For Loop and the Process Capability Analysis function correctly resolved all of the Process Variables that were found in colList.  

 

PS: My need was to calculate Cpk's for many tests, so only the Within Sigma Summary Report was enabled in my script snippet.

 

colList = dt_data << get column names;
ncols = N Items( colList );

Process Capability(
	Process Variables( Eval( colList ) ),
	Moving Range Method( Average of Moving Ranges ),
	Capability Box Plots( 0 ),
	Individual Detail Reports( 0 ),
	Goal Plot( 0 ),
	Within Sigma Summary Report( 1 ),
	Capability Index Plot( 0 ),
	Process Performance Plot( 0 )
);