Hallo,
Ich bin neu bei JMP und habe Schwierigkeiten, die prozentuale Änderung des Stroms für 5 verschiedene Geräte nach 72 Stunden Stresstest zu berechnen, wie in der Tabelle unten gezeigt. Die prozentuale Änderung des Stroms wird berechnet als = (Strom bei einer bestimmten Belastungsdauer – Strom bei 0 Stunden)/Strom bei 0 Stunden*100

Dieser Vorgang ist in Excel recht einfach, aber Sie wissen nicht, wie Sie die Formel auf ausgewählte Zeilen anwenden sollen? Jede Hilfe wird sehr geschätzt! Ich verwende die JMP15.0-Version.
Im Folgenden finden Sie 3 Methoden, um das zu tun, was Sie wollen.

Names Default To Here( 1 );
dt = Data Table( "Bluegalaxy" );
// Method 1
dt << New Column( "% Change 1",
Format( "Percent", 9, 2 ),
set each value(
currDevice = :Device Number;
zeroCurrent = :Current[((dt << get rows where(
:Device Number == currDevice & :Stress Duration == 0
))[1])];
value = (:Current - zeroCurrent) / zeroCurrent;
)
);
// Method 2
// Sort the table in assending Device Number/Stress Duration
dt << sort(
By( :Device Number, Stress Duration ),
order( Ascending, Assending ),
Replace Table( 0 )
);
dt << New Column( "% Change 2",
Format( "Percent", 9, 2 ),
set each value(
If( :Stress Duration == 0,
zeroCurrent = :Current
);
(:Current - zeroCurrent) / zeroCurrent;
)
);
// Sort the table back to the original order
dt << sort(
By( :Stress Duration, Device Number ),
order( Ascending, Assending ),
Replace Table( 0 )
);
// Method 3
// Create a data table with only the 0 Stress Duration values
dt << Select Where( :Stress Duration == 0 );
dtZero = dt << subset( selected rows( 1 ), columns( :device Number, :current ) );
dtZero:current << set name( "zeroCurrent" );
dt << Update( With( dtZero ), Match Columns( :Device Number = :Device Number ) );
dt << New Column( "% Change 3",
Format( "Percent", 9, 2 ),
set each value( (:Current - :zeroCurrent) / :zeroCurrent )
);
// Clean up
dt << delete columns( zeroCurrent );
Close( dtZero, nosave );
dt << clear select;
Alle diese Methoden können in einem interaktiven Modus erstellt werden.
Hinweis: Ich verwende "Set Each Value" in der Spezifikation der neuen Spalten.Dies kann gegen "Formel" ausgetauscht werden.Die Formelspezifikation ermöglicht, dass die Formel auf alle neuen Datensätze angewendet wird, wenn sie hinzugefügt oder geändert werden.In dem von Ihnen vorgestellten Fall gehe ich davon aus, dass Sie die Werte nur einmal erstellen möchten, wenn die neue Spalte erstellt wird.
Vielen Dank Jim, dass Sie mehrere Möglichkeiten zur Lösung dieses Problems gezeigt haben! Ihre Hilfe wird gerne in Anspruch genommen!