열 이름 사용을 엉망으로 만드는 ID 접미사가 있는 연결된 열조금 미쳐가는 것 같은 느낌이 듭니다. 열 선택기 상자를 통해 변수에 입력한 열 이름이 있습니다. 그러다가 나중에 조작을 하게 되는데 아쉽게도 해당 열이 연결된 열이라 "[ID]"가 붙어서 들어옵니다. Char()를 시도하고 갑자기 이스케이프 문자가 나타날 때까지는 모든 것이 괜찮습니다: "{\!"Solvent[ID]\!"}". 이러한 문자는 특별하기 때문에 따옴표를 엉망으로 만들고 이를 해결해야 하는 세 번째 물음표를 처리하는 방법에 대해 매우 까다로워 보입니다. 어쩌면 내가 잘못된 위치에 추가 인용문을 넣었을 수도 있지만 문서를 기반으로 한 것이 아니라고 확신합니다. 정규식, 멍거, 대체, 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 및 majorVar)를 보여줍니다. 저는 이전에 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 접미사가 있는 연결된 열이 열 이름 사용을 엉망으로 만듭니다.필터 열 선택기나 열 목록 상자 대신 목록 상자를 사용하는 특별한 이유가 있나요? 입력에 대한 유효성 검사기가 이미 있고 두 목록 모두에서 정확히 하나의 값을 선택해야 하므로 두 목록 모두에서 첫 번째 인덱스를 가져올 수 있습니다(<< Get Selected는 문자열 목록을 반환합니다).

majorVar = majorVar[1];
minorVar = minorVar[1];
제목: ID 접미사가 있는 연결된 열이 열 이름 사용을 방해하는 문제잘 됐어요! 감사합니다!