cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
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 ) )

  )

  )

);