안녕
"is rejects?" 열의 값이 "rejects?" ==Y인 행의 모든 데이터를 새로운 테이블인 rejects로 서브세트 하려고 합니다.
여러가지 방법을 시도해 보았지만 아무것도 작동하지 않고 오류가 발생합니다.
"예상치 못한 "Split_dt". 아마도 ";" 또는 ","가 누락되었을 것입니다.
77번째 줄, 열 1: ►Split_dt << Select Where( :is rejects? == "Y" );"
이 코드는 " 거부됨?" 열을 생성하는 더 큰 스크립트의 일부입니다.
모든 스크립트를 실행하면 위 오류가 발생하지만, 각 스크립트만 개별적으로 실행하면 작동합니다.
어떻게 하면 고칠 수 있나요?
옵션1:
rejects = Split_dt << Subset(
Where(:is rejects? == "Y"),
Output Table Name("rejects"),
All Columns
);
옵션2:
Split_dt << Select Where(:is rejects? == "Y");
rejects = Split_dt << Subset(Output Table Name("rejects"), All Columns);
전체 스크립트:
Split_dt = Current Data Table();
Split_dt << New Column("is rejects?", character, Formula("N"));
Column(Split_dt, "is rejects?") << Delete Formula;
// Get the number of columns in the data table
numCols = N Cols(Split_dt);
// Iterate over each row in the data table
For Each Row(
// Iterate over each column starting from column 6
For(colIndex = 6, colIndex <= numCols, colIndex++,
// Get the column reference
currentCol = Column(Split_dt, colIndex);
// Check if the value in the current cell is greater than 100 and "is rejects?" is "N"
If(
currentCol[] > 100 & :is rejects? == "N" & Contains(currentCol << Get Name, "BI")
== 0,
// Change the value in the "is rejects?" column to "Y"
:is rejects? = "Y";
// Exit the loop early since we only need one match
Break();
);
)
);
rejects = Split_dt << Subset(
Where(:is rejects? == "Y"),
Output Table Name("rejects"),
All Columns
);
일반적으로 특정 행을 하위 집합으로 설정할 때 Rows()를 사용합니다(선택한 행을 하위 집합으로 설정할 수도 있지만, 이렇게 하면 일반적으로 테이블에서 불필요한 선택을 수행하게 됩니다).
이 예제에서는 sex == "F"인 모든 행을 하위 집합으로 지정합니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
rows_to_subset = dt << get rows where(:sex == "F");
dt_subset = dt << Subset(Rows(rows_to_subset), Output Table("Subset F"));빠른 답변 감사합니다.
제안하신 솔루션은 동일한 오류를 발생시킵니다.:(
어떤 JMP 버전을 사용하시나요? 제 예제 스크립트를 시도해 보셨나요?
노력하다
rejects = Split_dt << Subset(
Filtered Rows(:is rejects? == "Y"),
Output Table Name("rejects"),
All Columns
);