你好,
我是 JMP 的新手,正在努力計算 72 小時壓力測試後 5 種不同設備的電流變化百分比,如下表所示。電流變化百分比的計算公式為 =(給定應力持續時間的電流 - 0 小時的電流)/0 小時的電流*100

此操作在 Excel 中非常簡單,但不確定如何將公式套用至選取的行?任何幫助將不勝感激!我使用的是JMP15.0版本。
以下是做你想做的3種方法。

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;
所有這些方法都可以在交互模式下創建。
注意:我在新列的規範中使用“設置每個值”。這可以換成“公式”。公式規範允許任何新記錄在添加或更改時應用公式。在您介紹的情況下,我假設您只希望在創建新列時創建一次值。
非常感謝吉姆,他展示了解決這個問題的多種方法! 非常感謝您的幫助!