列名の問題JMP が次の構文を認識しないというスクリプトに問題があります。 スクリプトを開いて Ctrl+R を押すか、右クリックしてスクリプトを実行して実行すると、正常に動作します。 しかし、スクリプトをアドインにアタッチしてカスタム メニューから実行すると、何らかの理由で「column name()」が正しく評価されず、回避策が思いつきません。 回避策はありますか?
ありがとう。
joinDt << New Column( "失敗",
数値、
継続的、
Formula( Eval( 列名( 3 ) ) + eval( 列名( 5 )) )、
評価式 );Re: カラム名の問題<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />この投稿に返信せずに申し訳ありません...1 年以上経ちました。しばらく忙しかったので、作業中のスクリプトに戻る機会がありませんでした。 とにかく、ありがとう...あなたが与えた解決策はうまくいきました。スクリプトをローカルで実行する場合 (Ctrl+R) で機能するのと、アドインから実行する場合は機能しないという矛盾は、変数が古いという問題でした。JMP9 を使用すると、「名前のデフォルトは here();」になります。関数を使用してローカルを強制できます。最初にグローバルをクリアしていたかどうかは覚えていませんが、今はそこにあることは知っています。 あまりにも長いことなので詳細はあまり覚えていませんが、誰かがこのようなことに遭遇した場合に備えて更新する価値があると思いました。
Re: カラム名の問題私が書いたスクリプトでも同様の問題がありましたが、私の場合は列の名前を取得するのではなく、列を参照することに関係していました。 スクリプト ウィンドウから実行すると問題ありませんでしたが、埋め込みで実行すると機能しませんでした。 これを修正するには、すべての列の詳細の前に : を含める必要がありました。 :列名(2) を試してみましたか?Re: カラム名の問題申し訳ありませんが、私の投稿はすべて切り詰められているようです...
動作しなかった他のスクリプトの重要な部分:col_name = 列名(1) ;
エラーメッセージ:
オブジェクトは 'Subscript' 、Column Name( 1 ) のアクセスまたは評価で添え字を付けることができません
JMP9を実行しています。ここで i は有効な値ですが、問題は列名 () の処理方法のようです。Re: カラム名の問題これについてもう少し詳しく説明します。スクリプトを実行するどちらの方法でも、ほぼ同じデータ テーブル出力が生成されます。 スクリプトを開いて実行し、ctrl+R を押すと、数式ボックスに eval(列名 (x)) が入力され、正しく評価されます。
アドイン メニューからスクリプトを実行すると、同じ式を含むほぼ同一のデータ テーブルが生成されます (正しく実行されたスクリプトの出力テーブルから、正しく実行されなかったスクリプトの出力テーブルに式をコピーして貼り付け、適用/OK を押した場合でも)。しかし、私は欠損値になってしまいます。
別のスクリプトでこの問題を確認しました。以下にそのスニペットを示します。
For( i = 1、i <= n、i++、
現在のデータ テーブル(制限);
If( !Excluded( Row State( i ) )、
Col_name = 列名( 1 )[/*###*/i];
...
)
エラーメッセージ:
オブジェクトは 'Subscript' 、Column Name( 1 ) のアクセスまたは評価で添え字を付けることができません
JMP9を実行しています。ここで i は有効な値ですが、問題は列名 () の処理方法のようです。
申し訳ありませんが、投稿に問題があります...コードの重要な部分は次のとおりです。
Col_name = 列名( 1 )[/*###*/i];
エラーメッセージ:
オブジェクトは 'Subscript' 、Column Name( 1 ) のアクセスまたは評価で添え字を付けることができません
JMP9を実行しています。ここで i は有効な値ですが、問題は列名 () の処理方法のようです。
メッセージの編集者: mjdeez