その場で変換された変数の名前の抽出に役立ちますこんにちは、みんな、
私は一見単純な問題で助けが必要ですが、その解決策を見つけることができません。私はいくつかの計算を行うためのJSLコードを書きました。最初に行うことは、列ダイアログウィンドウを開き、そこでテーブルの列を選択し、それらを異なる役割(私の場合はX変数とY変数)に配置できることです。あとでグラフボックスに軸の名前を(Yname関数とXname関数を使って)表示できるように、これらのテーブル列の名前を取得する必要があります。テーブルの列を直接使用する場合は、すべて問題ありません。ただし、Column Dialogウィンドウでロールを割り当てる前に変数を右クリックして変換をその場で実行すると、状況はさらに複雑になります。 通常は、次のように使用します。
yn= as column(eval( cdw["yv"])) << Get Name;
オブジェクト内のcdwは、列ダイアログウィンドウに戻ります。ただし、変換された変数の場合は、
yn = deleted object reference[];
問題を細かくすると、評価する (cdw [ "yv" ]))は、次のような要素リストを1つ生成します。
{列の変換( "Log10 [ テーブルの名前 ] "、式(Log10(:名前(" テーブルの名前 "))))}
その部分だけから抽出する方法 Log10 [ テーブルの名前 ] 私はグラフボックスのYnameまたはXnameステートメントでそれを使用できるように?
あなたが提供することができるどんな助けにも感謝します。
よろしく、イヴ
再:その場で変換された変数の名前を抽出するのに役立ちますあなたは正しいです、私は[1]がその役割で選択された複数の変数があったからであると思いました。返信する前にソリューションをより徹底的にテストしないことをお詫び申し上げます
どうもありがとう、Yves
再:その場で変換された変数の名前を抽出するのに役立ちます私はあなたが違うことをしているに違いないと思います。投稿したコードを実行した後のログです。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Consumer Preferences.jmp" );
cd=Column Dialog(
ex y = ColList( "Y", Min Col( 1 ), Max Col( 2 ), Data Type( "Numeric" ) ),
ex x = ColList( "X",
Max Col( 1 ),
Modeling Type( {"Continuous", "Multiple Response"} )
),
Line Up( 2,
Text Box( "Alpha" ), ex = EditNumber( .05 ),
Text Box( "Beta" ), ey = EditText( "xyz" )
),
HList( cb = Check Box( "check", 1 ) ),
HList( combo = Combo Box( "option1", "option2" ) ),
HList( rb = RadioButtons( "a", "b" ) )
);
show(cd["ex y"], arg(cd["ex y"][1], 1));
/*:
//cd["ex y"] = {Transform Column("Birth Year^3", Formula(:Birth Year ^ 3))};
//Arg(cd["ex y"][1], 1) = "Birth Year^3";再:その場で変換された変数の名前を抽出するのに役立ちますJeffに感謝しますが、どちらもうまくいくようには見えません(2人の専門家がアドバイスを提供し、私と同じ点に到達したので、今は少しばかに感じません)。やはりarg()は全体を返します。
Transform Column("Age Group^3", Formula(:Age Group ^ 3))私だけが使えるようにしたい
Age Group^3
イヴ
再:その場で変換された変数の名前を抽出するのに役立ちますの arg() 機能はそこにあなたを取得します。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Consumer Preferences.jmp" );
cd=Column Dialog(
ex y = ColList( "Y", Min Col( 1 ), Max Col( 2 ), Data Type( "Numeric" ) ),
ex x = ColList( "X",
Max Col( 1 ),
Modeling Type( {"Continuous", "Multiple Response"} )
),
Line Up( 2,
Text Box( "Alpha" ), ex = EditNumber( .05 ),
Text Box( "Beta" ), ey = EditText( "xyz" )
),
HList( cb = Check Box( "check", 1 ) ),
HList( combo = Combo Box( "option1", "option2" ) ),
HList( rb = RadioButtons( "a", "b" ) )
);
foo=arg(cd["ex y"][1], 1);再:その場で変換された変数の名前を抽出するのに役立ちます迅速な返事をくれたJimに感謝しますが、それは全部を使うので、実際にはうまくいきません。
Transform Column("Age Group^3", Formula(:Age Group ^ 3)) 軸名として。これはグラフではかなり面倒です。だから私は
Age Group^3
軸名としてのpart。
ありがとう、イヴ
再:その場で変換された変数の名前を抽出するのに役立ちますCol Dialogのスクリプティングインデックスから抜粋
ヘルプ==>スクリプトインデックス......... Colダイアログで検索
これがスクリプトの例です
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Consumer Preferences.jmp" );
xx = Column Dialog(
ex y = ColList( "Y", Min Col( 1 ), Max Col( 2 ), Data Type( "Numeric" ) ),
ex x = ColList( "X",
Max Col( 1 ),
Modeling Type( {"Continuous", "Multiple Response"} )
),
Line Up( 2,
Text Box( "Alpha" ), ex = EditNumber( .05 ),
Text Box( "Beta" ), ey = EditText( "xyz" )
),
HList( cb = Check Box( "check", 1 ) ),
HList( combo = Combo Box( "option1", "option2" ) ),
HList( rb = RadioButtons( "a", "b" ) )
);
show( xx );
Col Dialog Box()自体への参照を追加しました。これを実行してColダイアログボックスでTransform変数を作成すると、"xx"というリストに必要な情報が含まれていることがわかります。
xx = {ex y = {Transform Column("Age Group^3", Formula(:Age Group ^ 3))}, ex x = {}, Text Box, ex = 0.05, Text Box, ey = "xyz", cb = 1, combo = 1, rb = 1, Button(1)};
この情報は、xxリスト内のex yリストから抽出することによって取得できます。