Trier et ajouter une nouvelle colonne avec formuleSalut,
Je veux trier la colonne N lignes par ordre décroissant et ajouter une nouvelle colonne qui affiche le % du total de N lignes. Merci de m'aider avec le 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" )
)
Merci,
Jack
ScriptRe: Tri et ajout d'une nouvelle colonne avec formule@txnelson
Re: Tri et ajout d'une nouvelle colonne avec formuleVoici un script qui fonctionne.Veuillez noter que comme JMP générera le jsl dont vous avez besoin, lorsque vous exécutez de manière interactive, vous devriez pouvoir créer votre propre code.
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: Tri et ajout d'une nouvelle colonne avec formuleL'index de script sous le menu Aide contient des informations utiles pour vous ici.J'ai recherché 'trier' de cette façon:

Si vous êtes satisfait de la formule que vous avez utilisée pour la colonne % Total, vous pouvez utiliser l'index de script pour trouver une fonction permettant de créer une nouvelle colonne dans la table de données.Ou, vous pouvez utiliser le Outils de script add-in pour installer une fonction appelée 'Copier le script de colonne' dans le menu cols. Ensuite, vous pouvez simplement sélectionner la colonne, copier le script et le coller dans votre script. Si je comprends votre exigence pour cette colonne, vous pouvez simplement diviser la colonne N Row par la somme de la colonne N Row.
L'assemblage pourrait ressembler à ceci :
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));