ループで新しい列を追加しているときに最終行にデータが表示されないこんにちは、みんな、
式を使用して新しい列を追加しましたが、最後の行のセルが空白のようです。
ここで何が悪いのかをチェックする手助けができますか?
ありがとうございました。
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dt << New Column( "test_col_loop",
character,
formula(
For( i = 1, i <= N Rows( dt ), i++,
If( Column( "Region" )[i] == "MW",
Column( "test_col_loop" )[i] = "IsMW",
Column( "test_col_loop" )[i] = "NotMW"
)
)
)
); 結果は次のようになります。
再:私はループで新しい列を追加しながら、最後の行にデータが欠落している他に選択肢がない場合を除いて、数式列ではFor()ループを使用しないでください。
データテーブルでは、式は各行に対して評価されます。あなたの場合、それはあなたのテーブルのすべての行に対してそのループ全体が実行されていることを意味します。
スクリプトを使用して数式を追加する前に、数式エディタを使用して数式を列に追加し、インタラクティブに機能するようにすることをお勧めします。
によって提供されるソリューション @melaniedrake 正しいものです。
データテーブルに追加した式は非常に変わっていて効果がないので、最後の行で奇妙な動作をする理由を理解する価値はありません。たとえ私たちがそれを理解できたとしてもそれは役に立ちません。
再:私はループで新しい列を追加しながら、最後の行にデータが欠落しているありがとうございました。
しかし、複雑な式を含む列を追加しなければならない場合があります。問題を単純化するためにこの例を使用します。
最後の行のセルが見つからない理由を教えてもらえますか。
再:私はループで新しい列を追加しながら、最後の行にデータが欠落しているこの単純な列式を試してください。
If( :Region == "MW",
"IsMW",
"NotMW"
)