Bonjour,
Je suis nouveau sur JMP et j'ai du mal à calculer le pourcentage de variation du courant pour 5 appareils différents après 72 heures de tests de résistance, comme indiqué dans le tableau ci-dessous. Le % de changement du courant est calculé comme = (courant à une durée de contrainte donnée - courant à 0 h)/courant à 0 h*100

Cette opération est assez simple dans Excel, mais vous ne savez pas comment appliquer la formule à des lignes sélectives ? Toute aide est la bienvenue! J'utilise la version JMP15.0.
Voici 3 méthodes pour faire ce que vous voulez.

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;
Toutes ces méthodes peuvent être créées en mode interactif.
Remarque : J'utilise "Définir chaque valeur" dans la spécification des nouvelles colonnes.Cela peut être remplacé par "Formule".La spécification de formule permet à tous les nouveaux enregistrements d'appliquer la formule lorsqu'ils sont ajoutés ou modifiés.Dans le cas que vous avez présenté, je suppose que vous ne voudrez créer les valeurs qu'une seule fois, lors de la création de la nouvelle colonne.
Merci beaucoup Jim, pour avoir montré plusieurs façons de résoudre ce problème ! Votre aide est grandement appréciée!