Ordenar y agregar una nueva columna con fórmulaHola,
Quiero ordenar la columna N filas en orden descendente y agregar una nueva columna que muestra el% del total de N filas. Ayúdame con el 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" )
)
Gracias,
Jacobo
ScriptingRe: ordenar y agregar una nueva columna con fórmula@txnelson
Re: ordenar y agregar una nueva columna con fórmulaAquí hay un guión que funciona.Tenga en cuenta que, dado que JMP generará el jsl que necesita, cuando lo ejecute de forma interactiva, debería poder crear su propio código.
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: ordenar y agregar una nueva columna con fórmulaEl índice de secuencias de comandos del menú Ayuda tiene información útil para usted aquí.Busqué 'ordenar' de esta manera:

Si está satisfecho con la fórmula que utilizó para la columna% Total, puede utilizar el índice de secuencias de comandos para encontrar una función para crear una nueva columna en la tabla de datos.O puede utilizar el Herramientas de secuencias de comandos complemento para instalar una función llamada 'Copiar secuencia de comandos de columna' en el menú de columnas. Luego, puede seleccionar la columna, copiar la secuencia de comandos y pegarla en su secuencia de comandos. Si entiendo su requisito para esa columna, podría dividir la columna N Row por la suma de la columna N Row.
Poner eso junto podría verse así:
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));