JMP 12.2
この番号の意味を理解したいと思います。最も重要なのは、この番号を削除/変更する方法です。これらは非常に大きなテーブルであり、すばやく操作する必要があるため、列の重複を避けたいと思います。
以下の「文字」という単語の後に表示される「19」という数字(数字は異なる場合があります。例として19を選択しました):
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
)テーブルが生成されたら、"(19)"をできるだけ早く取り除くにはどうすればよいですか?
私は試した:
:Column1 << Data type( Character );
:Column1 << Data type( Character() );<BR />:Column1 << Data type( Character(0) );
GetScript()を使用して表示できますが、ShowProperties()を使用して表示できません。
あなたはそれが無害であると言うかもしれません、そして通常私はこの数について心配していませんが、Joinが所定の数で間違った(またはこの数がJoinsに影響を与えると思われる)ケースを見つけました。
あなたの質問は私を混乱させました。 私は1990年代からJMPを使用しており、「Character(x)」に出くわしたことを覚えていません。 だから私はいくつかの調査を行いました。 この表記法の使用に関する参照の大部分は、列幅情報の提供から.txtファイルの読み取り、またはOLEアプリケーションへの参照までです。 スクリプティングガイドには、「複数の列を追加する」という1つのリファレンスがあります。 ただし、「複数の列を追加する」のスクリプトインデックスの構文を見ると、Characterのデータ型指定の後の(数値)ではなく、「fieldwidth(数値)」と呼ばれる要素の使用を指します。 私が知ることができることから、それは作成される列の最小幅を設定するだけです。 JMP文字値/列は動的であり、長さが0〜10億文字を超える可能性があるため、コーディングでは、データ型が文字型の新しい列を定義した後に幅指定を使用しないことをお勧めします。
次に、最小幅を取り除く方法について説明します。
指定された幅を超える長さの文字値を割り当てると、JMPが幅の指定を削除したことがわかりました。
だからあなたの例を考える
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
);
データテーブルスクリプトを取得すると戻ります
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1",
Character( 19 ),
"Nominal",
Set Values( {"Hello World"} )
)
)
このコードを使用して、データテーブルの最初の行の値を取得し、最初の行に長い値を割り当て、最後に元の値を置き換えた次のJSLを実行した場合
holdValue = :Column1[1];
:Column1[1] = repeat("a",500);
:column1[1] = holdValue;
取得したテーブルスクリプトは
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character, "Nominal", Set Values( {"Hello World"} ) )
)
幅の参照が削除されました。
これはすべてJMP 12.2を使用してテストされました
これは、文字幅の問題を解消するために私が思いついた方法です。 他のコミュニティメンバーの方が良い方法があるかもしれません。 彼らがそうすることを願っています!
ええ、私は数が何を意味するのかについてのドキュメントを見つけるのに苦労しました。絶対入れないで... 自動生成されているようです。
あなたの方法は機能しているようですが、それを変更または削除するよりエレガントな方法があるかどうか疑問に思います。
助けてくれてありがとう!