列の値に基づいてデータテーブルをサブセット化する方法こんにちは!多くの (> 75 製品ロット) の安定性テストの結果を含む大きな JMP ファイルがあります。ファイルの特定のテスト結果列のみを含めながら、列値 (ロット番号など) に基づいてテスト データの行をサブセット化するスクリプトを作成したいと考えています。 私は JMP と JMP スクリプトの初心者ですが、次のスクリプトをまとめることができました。
Data Table( "Stability Trending" ) <<
Subset(
Output Table( "Data Subset - Lot 12345" ),
Copy formula( 0 ),
Selected Rows( 0 ),
Rows(
[1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325,
1326, 1327, 1328, 1329]
),
columns(
:Protocol No.,
:Lot No.,
:Final Fill Configuration,
:Name( "Storage Temperature (°C)" ),
:Time Point,
:Time Interval,
:Sterility Result,
:Name( "Test 1 Result" ),
:Name( "Test 2 Result" ),
:pH Result,
:Name( "Test 3 Result" ),
:Name( "Test 4 Result" )
)
)
現在、スクリプトは特定のロットのデータが見つかった行番号に基づいて行を選択しています。安定性スタディが変更されるとテーブル内に行が挿入される場合があるため、これは最適ではありません。「ロット番号」に基づいて「ロット 12345」の行をサブセット化するには、上記のスクリプトをどのように変更すればよいでしょうか。行番号ではなく列ですか?私は JMP 15 を使用しています (重要な場合に備えて)。
消費者および市場調査結果の共有と伝達Re: 列の値に基づいてデータテーブルをサブセット化する方法皆さん、ご提案ありがとうございます。私が最終的にやったことは次のとおりです。
dt = Data Table( "Stability Trending" );
LN={"Lot 12345"};
dt<<SELECT where=""></SELECT>結果として得られるデータ テーブルには、探していた出力が表示されます。対象のロット番号を含む行と、指定した列からのテスト結果のみです。
Re: 列の値に基づいてデータテーブルをサブセット化する方法タイプミスをしました (例では、列名の 1 つを列名「ロット番号」に置き換えるのを忘れていました):
Data Table( "Stability Trending" ) << Row Selection(
Select where( :Lot No. == "Lot 12345" ),
Dialog( Edit( Equal( Source Column( :Lot No. ) ) ), Keep dialog open( 0 ) )
);
Subset( (Selected Rows), Output Table Name( "Subset-Lot 12345" ) );
Re: 列の値に基づいてデータテーブルをサブセット化する方法Select Where 関数 ([行] -> [行の選択] にあります) を使用することをお勧めします。 これと同様のものが機能するはずです。
Data Table( "Stability Trending" ) << Row Selection(
Select where( :Lot No. == "Lot 12345" ),
Dialog( Edit( Equal( Source Column( :Lot No. ) ) ), Keep dialog open( 0 ) )
);
Subset( (Selected Rows), Output Table Name( "Subset-Lot 12345" ) );
Re: 列の値に基づいてデータテーブルをサブセット化する方法おそらくその例はあなたにとって役に立つでしょう、BR
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
dt_lst = dt << Subset(
By( :lot_id ),
All rows,
columns( :wafer, :Wafer ID in lot ID, :SITE, :NPN1, :PNP1, :PNP2, :NPN2, :PNP3 )
);
Wait( 1 );
For( i = 1, i <= N Items( dt_lst ), i++,
Close( dt_lst[i], nosave );
wait(0.2);
);