ID サフィックスが付いたリンクされた列により列名の使用が混乱するちょっと気が狂いそうな気がする。 列セレクターボックスを使用して変数に列名を入力しました。 その後、それを操作しますが、残念なことに、その列はリンクされた列であるため、「[ID]」が付加されて入ってきます。 Char() を試してみると、突然エスケープ文字 "{\!"Solvent[ID]\!"}" が表示されるまでは問題ありません。 これらの文字は特殊であるため、引用符が台無しになり、それを修正するはずの 3 番目の疑問符の処理方法が非常に気難しいようです。 もしかしたら余分な引用符を間違った場所に入れているかもしれませんが、ドキュメントに基づいていないことは確かです。 regex、munger、substitute、Eval Exprを試しましたが、必要な正しい型に取得できないようです。これは、単に集計用のby()の列関数などに入れる文字列です。 。 これはそれほど難しいことではないので、この時点で何かを誤解しているように感じます。
ありがとう!
自動化とスクリプト作成ウィンドウズRe: ID サフィックスが付いたリンクされた列により列名の使用が混乱するなぜその列名に Char を使用する必要があるのでしょうか? 一般に、これが必要になることは「決して」ありません (名前だけが必要で、すでに名前を持っている可能性が高い場合を除く)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Big Class Families.jmp");
dt << Select Where(:name == "ROBERT") << Delete Rows << Clear Select;
dt2 << Select Where(:name == "ROBERT") << Delete Rows << Clear Select;
dt:name << Set Property("Link ID", 1);
dt2:name << Set Property("Link Reference", Reference Table("Big Class.jmp"));
nw = New Window("",
H List Box(
Filter Col Selector(Datatable(dt2)),
clb = Col List Box(Datatable(dt2))
)
);
clb << Set Items(
{"age[name]", "sex[name]", "height[name]", "weight[name]"}
);
sel = clb << get items; // {"age[name]", "sex[name]", "height[name]", "weight[name]"}
show(sel);
show(Char(sel));
Write("\!N\!N");
Write(char(sel));Re: ID サフィックスが付いたリンクされた列により列名の使用が混乱する@jthi返信いただきありがとうございます! したがって、単純な等価性を実行しなかった理由は、単一のメンバー列名のリストにアクセスしようとするたびに、常に次のようなエラーが発生するためです (他のコマンドでも同様です)。
Send Expects Scriptable Object at row 1 in access or evaluation of 'Send' , clb << /*###*/Get( 1 ) /*###*/
あなたが提案した方法で、get items コマンドを使用してアクセスしようとしましたが、エラーがポップアップし続けました。 以下のコードは、変数が最初に表示される場所 (majorVar とminorVar) を示しています。 これまでに window:xxx 構文を使用したことがないので、理解できない変数を処理する方法があるのではないでしょうか?
New Window("Select Variables", << Type("Modal Dialog"),
<<ON validate="">majorVar = window:lbMajor << Get Selected;
<FONT color="#339966">minorVar</FONT> = window:lbMinor << Get Selected;
If( N Items( <FONT color="#FF0000">majorVar</FONT> ) & N Items( <FONT color="#339966">minorVar</FONT> ) & <FONT color="#FF0000">majorVar</FONT> != <FONT color="#339966">minorVar</FONT>,
window:validated = 1
,
window:validated = 0
);
window:ok button << Enable( window:validated )
);
H List Box(
V List Box(
Text Box("Select Major Variable"),
window:lbMajor = List Box(combinedCols, <<SET max="" selected="">majorVar = window:lbMajor << Get Selected;
<FONT color="#339966">minorVar</FONT> = window:lbMinor << Get Selected;
If( N Items( <FONT color="#FF0000">majorVar</FONT> ) & N Items( <FONT color="#339966">minorVar</FONT> ) & <FONT color="#FF0000">majorVar</FONT> != <FONT color="#339966">minorVar</FONT>,
window:validated = 1
,
window:validated = 0
);
If( window:validated,
Print("Processing with major: " || Char(<FONT color="#FF0000">majorVar</FONT>) || ", minor: " || Char(<FONT color="#FF0000">minorVar</FONT>));
Window("Select Variables") << Close Window;
,
Beep(); // Optional: Add a beep sound for alert
Show("Invalid Selection");
{window:lbMajor, window:lbMinor} << Select; window:lbMajor << Inval << Update Window;
Wait( 0.25 );
{window:lbMajor, window:lbMinor} << DeSelect; window:lbMajor << Inval << Update Window;
Wait( 0.25 );
{window:lbMajor, window:lbMinor} << Select; window:lbMajor << Inval << Update Window;
Wait( 0.25 );
{window:lbMajor, window:lbMinor} << DeSelect; window:lbMajor << Inval << Update Window;
)
,
<<ENABLE></ENABLE></SET></ON>Re: ID サフィックスが付いたリンクされた列により列名の使用が混乱するフィルター列セレクターまたは列リスト ボックスの代わりにリスト ボックスを使用する特別な理由はありますか? 入力のバリデーターがすでにあるようで、両方のリストから選択された値が 1 つだけである必要があるため、両方から最初のインデックスを取得するだけです (<< Get Selected は文字列のリストを返します)。

majorVar = majorVar[1];
minorVar = minorVar[1];
Re: IDサフィックス付きのリンク列が列名の使用を台無しにするうまくいきました!ありがとう!