Ciao a tutti,
Ho scritto uno script in cui creerò diverse colonne nella tabella JMP (Say table-1) in base ad alcuni calcoli. Ora voglio popolare alcune righe e colonne selezionate della Tabella-1 in un'altra tabella JMP (ad esempio tabella-2). Ho bisogno di aiuto per popolare la seconda tabella con righe e colonne selezionate.
Si prega di suggerire.
Saluti,
Dilip
Ecco un paio di modi per fare ciò che chiedi.Il primo metodo, utilizzando la piattaforma di aggiornamento, è molto più efficiente dell'aggiornamento da cella a cella, ma entrambi funzionano bene e ognuno ha il proprio posto in cui vorresti utilizzare ciascuna tecnica.
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA/big class.jmp" );
dt2 = Open( "$SAMPLE_DATA/big class families.jmp" );
// Add a new columns
dt1 << New Column( "Height, Weight ratio", formula( :weight / :height ) );
dt1 << New Column( "Age, Height ratio", formula( :height / :Age ) );
// Add the Height, Weight ratio to the dt2 data table, for only the
// females, using a simple subset and a join
dt1 << select where( :sex == "F" );
dtSubset = dt1 << subset(
private,
selected rows( 1 ),
columns( {"name", "Height, Weight ratio"} )
);
dt2 << Update( With( dtSubset ), Match Columns( :name = :name ) );
Close( dtSubset, nosave );
// Add the Age, Height ratio to the dt2 data table for only the
// 13 year olds, using cell by cell processing
dt2 << New Column( "Age, Height ratio" );
For( i = 1, i <= N Rows( dt1 ), i++,
If( dt1:age[i] == 13,
foundRow = dt2 << get rows where( dt1:name[i] == dt2:name & dt2:age == 13 );
If( N Rows( foundRow ) == 1,
theRow = foundRow[1];
dt2:Name( "Age, Height ratio" )[theRow] = dt1:Name( "Age, Height ratio" )[i];
);
)
);
Inoltre, ci sono altri metodi che possono essere utilizzati.Ti suggerisco di leggere la Guida allo scripting per farti un'idea della varietà di opzioni disponibili
Aiuto==>Libri==>Guida allo scripting