set と new テーブル変数の違い - 文字列の書き込みで奇妙な結果が得られますか?36D10 と 36E10 テーブル変数が SF 表記に拡張されて戻ってくる理由を理解するのを誰かが手伝ってくれませんか?しかし、「set」テーブル変数ではなく「new」のみのようですか?
ありがとう、
- 桃

dt = New Table("Table");
testvar = "36D10";
dt << New Table Variable("tv_testD", char(testvar));
testvar = "36C10";
dt << New Table Variable("tv_testC", testvar);
testvar = "36F10";
dt << New Table Variable("tv_testF", testvar);
testvar = "36E10";
dt << New Table Variable("tv_testE", testvar);
testvar = "36E10";
dt << Set Table Variable("tv_testEset", testvar);高度な統計モデリング消費者および市場調査マスカスタマイゼーションRe: set テーブル変数と new テーブル変数の違い - 文字列の書き込みで奇妙な結果が得られますか?Craig に感謝します。これは、使用方法を明確にして確立するのに役立ちます。
ドキュメントに何かが追加されると良いかもしれません。あるいは、将来の JMP バージョンでそれぞれの実装が変更され、一貫性が保たれる可能性があります。ユーザーが現在のドキュメント (および 'E私はすぐに、「ああ、指数を使って何かをしているんだな」と思いましたが、問題の原因となっている「D」のせいで、本当にループしてしまいました)。
Re: set テーブル変数と new テーブル変数の違い - 文字列の書き込みで奇妙な結果が得られますか?E は指数を表し、(非常に昔では) D は倍精度指数を表します。
使用することをお勧めしますSETテーブル変数;それは私が期待したとおりに動作します。数値を数値として、文字列を文字列として保存し、テーブル変数が存在しない場合にのみテーブル変数を作成します。
NEWテーブル変数名前が既に存在する場合はサフィックスを追加し、(予期しない動作) 数値のように見える文字列を数値に変換します。
さらに状況を混乱させるために、dt<< GETテーブル変数("name") は、値が数値であっても文字列を返します。
使用することをお勧めしますdt:名前保存されている数値または文字列値を取得します。
dt = New Table("Table");
dt << new Table Variable("a", char(17)); // 17 vs char(17)
show(dt:a,dt<<GETTABLEVARIABLE></GETTABLEVARIABLE>dt:a = 17; <<< を数値に変換
dt << gettablevariable("a") = "17"; <<< ですが、文字列として取得されます !?!?
dt:a = 42.42; <<< は期待どおりに数値を保存しました
dt << gettablevariable("a") = "42.42"; <<< ?!?!?常に文字列を返します
dt:a = "こんにちは"; <<< は期待どおりの文字列を保存しました
dt << gettablevariable("a") = "こんにちは"; <<< まあ、わかりました
dt:a = 42.42;
dt << gettablevariable("a") = "42.42";
Re: set テーブル変数と new テーブル変数の違い - 文字列の書き込みで奇妙な結果が得られますか?この問題については、JMP サポートにお問い合わせください。 support@jmp.com
動作を説明する応答を受け取った場合は、誰もが学べるようにこのトピックに新しいコメントを追加してください。