Sortieren und Hinzufügen einer neuen Spalte mit FormelHi,
Ich möchte die Spalte N Zeilen in absteigender Reihenfolge sortieren und eine neue Spalte hinzufügen, die den Prozentsatz der Gesamtzahl von N Zeilen anzeigt. Bitte helft mir mit dem JSL-Skript

<< Summary(
Group(
:Open VIO,
:Open SCLK,
:Open SDATA,
:Open USID,
:Open RF1,
:Open RF2,
:Open RF3,
:Open RF4,
:Open RFC
),
Freq( "None" ),
Weight( "None" )
)
Vielen Dank,
Jack
SkriptingBetreff: Sortieren und Hinzufügen einer neuen Spalte mit Formel@txnelson
Betreff: Sortieren und Hinzufügen einer neuen Spalte mit FormelHier ist ein Skript, das funktioniert.Bitte beachten Sie, dass Sie bei der interaktiven Ausführung in der Lage sein sollten, Ihren eigenen Code zu erstellen, da JMP das benötigte JSL generiert.
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));
Betreff: Sortieren und Hinzufügen einer neuen Spalte mit FormelDer Scripting-Index unter dem Hilfe-Menü hält hier einige nützliche Informationen für Sie bereit.Ich habe auf diese Weise nach "sortieren" gesucht:

Wenn Sie mit der Formel, die Sie für die Spalte % Total verwendet haben, zufrieden sind, können Sie den Scripting-Index verwenden, um eine Funktion zum Erstellen einer neuen Spalte in der Datentabelle zu finden.Oder Sie können die Skripting-Tools Add-In, um eine Funktion namens 'Copy Column Script' in das cols-Menü zu installieren. Dann können Sie einfach die Spalte auswählen, das Skript kopieren und in Ihr Skript einfügen. Wenn ich Ihre Anforderung für diese Spalte verstehe, könnten Sie die Spalte N Row einfach durch die Summe der Spalte N Row teilen.
Zusammenfassend könnte das so aussehen:
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));