Ordinamento e aggiunta di una nuova colonna con formulaCiao,
Voglio ordinare la colonna N righe in ordine decrescente e aggiungere una nuova colonna che mostra la % del totale di N righe. Per favore aiutami con lo script jsl

<< Summary(
Group(
:Open VIO,
:Open SCLK,
:Open SDATA,
:Open USID,
:Open RF1,
:Open RF2,
:Open RF3,
:Open RF4,
:Open RFC
),
Freq( "None" ),
Weight( "None" )
)
Grazie,
Jack
ScriptingRe: Ordinamento e aggiunta di una nuova colonna con formula@txnelson
Re: Ordinamento e aggiunta di una nuova colonna con formulaEcco uno script che funziona.Tieni presente che poiché JMP genererà il jsl di cui hai bisogno, quando esegui in modo interattivo, dovresti essere in grado di creare il tuo codice.
Data Table( "original data" ) << Summary(
Group(
:Open VIO, :Open SCLK, :Open SDATA, :Open USID, :Open RF1, :Open RF2,
:Open RF3, :Open RF4, :Open RFC
),
"% of Total"n,
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 ),
output table( "Summarized Table" )
);
Data Table( "Summarized Table") << sort(by(:N Rows), order(descending), replace table(1));
Re: Ordinamento e aggiunta di una nuova colonna con formulaL'indice di scripting nel menu Aiuto contiene alcune informazioni utili per te qui.Ho cercato "ordina" in questo modo:

Se sei soddisfatto della formula che hai utilizzato per la colonna % totale, puoi utilizzare l'indice di scripting per trovare una funzione per creare una nuova colonna nella tabella dati.Oppure puoi usare il Strumenti di scripting add-in per installare una funzione chiamata "Copia script colonna" nel menu cols. Quindi puoi semplicemente selezionare la colonna, copiare lo script e incollarlo nel tuo script. Se capisco il tuo requisito per quella colonna, potresti semplicemente dividere la colonna N Row per la somma della colonna N Row.
Mettendolo insieme potrebbe assomigliare a questo:
Names default to here(1);
// The function from your example:
dtSummarized = dt << << Summary(
Group(
:Open VIO,
:Open SCLK,
:Open SDATA,
:Open USID,
:Open RF1,
:Open RF2,
:Open RF3,
:Open RF4,
:Open RFC
),
Freq( "None" ),
Weight( "None" )
);
// dtSummarized = Current Data Table();
// From Scripting Index
dtSummarized << Sort( replace table, By( :N Rows ), Order( Descending ) );
// From Scripting Tools Add-in
New Column("% Total", Numeric, "Continuous", Format("Percent", 12, 2), Formula(:N Rows / Col Sum(:N Rows)), Set Display Width(44));