cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JMP is taking Discovery online, April 16 and 18. Register today and join us for interactive sessions featuring popular presentation topics, networking, and discussions with the experts.
Choose Language Hide Translation Bar

In JSL, how to use a column name using a dynamic variable name list?

For example, I have a table dt with n columns, X1, X2, ..., Xn. I need to draw distributions for EACH column, X(i), like below (repeat n times):

Distribution(

Continuous Distribution(

  Column( :X1),

  Horizontal Layout( 1 ),

  Vertical( 0 ),

  Normal Quantile Plot( 1 ),

  Capability Analysis( LSL( 4 ), USL( 22 ), Target( 13 ) )

)

);

How can I use a loop to do this? I tried the following, but it is not successful :-(.

ColNameList = dt << Get Column Names(Nominal, String);

for (k=1, k<=n, k++,

Distribution(

Continuous Distribution(

  Column( :ColNameList),

  Horizontal Layout( 1 ),

  Vertical( 0 ),

  Normal Quantile Plot( 1 ),

  Capability Analysis( LSL( 4 ), USL( 22 ), Target( 13 ) )

  )

)

);

Any good suggestion?

Thanks.

John

1 REPLY 1
ms
Super User (Alumni) ms
Super User (Alumni)

Re: In JSL, how to use a column name using a dynamic variable name list?

I am not sure why you specify Nominal in <<get column names(). I would think that numeric and continuous variables are required In this context.

This should work:

dt = Current Data Table();

ColNameList = dt << Get Column Names( continuous ); //Capability do not work well with nominal columns

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

  Distribution(

  Continuous Distribution(

  Column( ColNameList[k] ),

  Horizontal Layout( 1 ),

  Vertical( 0 ),

  Normal Quantile Plot( 1 ),

  Capability Analysis( LSL( 4 ), USL( 22 ), Target( 13 ) )

  )

  )

);