テーブル式でjmpスクリプトを使用してブール論理を実行できませんやあ、
中心から半径方向の距離が100mmを超えるポイントを選択して非表示にし、除外する簡単なスクリプトを実行しようとしています。
デバッグを簡素化するために、これを2つのスクリプトに分割します。1つ目は半径距離Radial =(x ^ 2 + y ^ 2)^(1/2)式で列を生成し、2つ目はこの式を評価して行を選択および非表示にしますここで、ラジアル> 100。
残念ながら、これは機能しません。 いくつかの非常に奇妙な理由で、評価は特定の値までこの式でのみ機能します。 ラジアル>(30を超えるもの)はすべての行を選択します。
私は2つの解決策を見ることができます:
1)数式自体ではなく、[半径]列に値を書き込みます。 (値は適切に評価されますが、式は適切に評価されません)。 これを行う方法がわからない。
2)問題を理解して修正し、30より大きい値に対して数式を評価できるようにします。
スクリプトによる回答またはインタラクティブな説明のいずれかが受け入れられます。 この問題を解決し、そこから学びたいと思います。
ありがとう!
デイブ
// script for creating the Radial column<BR />dt1 = Current Data Table ();
dt1 << New Column( "Radial", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));<BR /><BR />// script for evaluating the Radial formula<BR />dt =Current Data Table();<BR />dt << Clear Row States; <BR />dt << Select where(Radial < 100);<BR />dt << hide and exclude;<BR />
スクリプティングRe:テーブル式でjmpスクリプトを使用してブール論理を実行することはできませんラジアル列を作成するためのスクリプト
dt1 = Current Data Table ();
dt1 << Clear Row States;
dt1 << New Column( "Radial", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));
半径式を評価するためのスクリプト
dt =Current Data Table();
dt << Clear Row States;
dt << Select where(Radial < 100);
dt << hide and exclude;
Re:テーブル式でjmpスクリプトを使用してブール論理を実行することはできませんここで問題を再現するのに問題があります。 これが私がテストに使用したスクリプトです。
dt1 = New Table( "Community 416651 Select Where",
Add Rows( 1000000 ),
New Column( "x coordinate",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Sequence( 5, 100, 5 ) ),
Set Selected
),
New Column( "y coordinate",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Sequence( 5, 100, 5, 20 ) ),
)
);
dt1 << New Column( "Radial",
Formula(
(X coordinate ^ 2 + Y coordinate ^ 2) ^ (1 / 2)
)
);
dt1 << Select where( Radial < 60 );
したがって、スクリプトとデータテーブルについてもう少し詳しく説明する必要があります。
データテーブルの大きさはどれくらいですか? スクリプトは他に何をしていますか?
Re:テーブル式でjmpスクリプトを使用してブール論理を実行することはできませんジェフに返信していただきありがとうございます。
スクリプトの最後の行を私のものに貼り付けても、問題は解決しませんでした。 ただし、列の名前を「Radial 1」に変更し、最後にEval Formulaを含む行を追加することで、解決策を見つけることができました。 なぜこれが機能するのかわからない。 データテーブルは約1,300行、15列で、各数値の幅は10〜12です。
次の2つのスクリプトが機能します。 それら全体を貼り付けています。 他のラインは、ピットの深さと分布を評価します。
変更が機能した理由はありますか? 私は一日のほとんどこれにいました。
スクリプト1:「ピットのみ」と「ラジアル1」の列を作成する
dt1 = Current Data Table ();
dt1 << Clear Row States;
dt1 << New Column( "Pits Only", Formula (If( :Name( "Height (mm)" ) <= 0, :Name( "Height (mm)"), 0 )) );
dt1 << New Column( "Radial 1", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));
dt1 << Eval Formula;
obj = dt1 << Distribution( Column( :Pits Only), Horizontal Layout( 1 ), Count Axis);
スクリプト2:ピットのみ> 10またはラジアル1> 100またはラジアル1 <30の行を非表示および除外する
dt =Current Data Table();
dt << Clear Row States;
win = New Window( "Feature Depth" , <<MODAL> 100) | (Radial 1< 30) | (Pits Only > mf));
dt << hide and exclude;</MODAL>