행에 누락된 데이터가 있는 여러 열에서 최대값을 얻는 방법!안녕,
선택한 열에서 최대값을 얻으려는 데이터 세트가 있다고 가정해 보겠습니다.
dt = New Table( "Untitled",
New Column( "a@b;2", Numeric, Set Values( [12, 33, 1] ) ),
New Column( "b", Numeric, Set Values( [2, 11, 2] ) ),
New Column( "c@d;3", Numeric, Set Values( [333, 1, 0] ) )
);
colnames = dt << getcolumnnames;
use_cols = {};
include = {"@"};
For( j = 1, j <= N Items( include ), j++,
For( i = 1, i <= Nitems( colnames ), i++,
If(Contains(colnames[i], include[j]),
insert into (use_cols , colnames[i]))
));
dt << new column("max_col",numeric,formula(Maximum(use_cols)))
max_col에서 누락된 값을 반환하는 이유를 이해할 수 없습니까? use_cols를 반복해야 합니까?
감사!
데이터 테이블다른스크립팅Re: 행에 누락된 데이터가 있는 여러 열에서 최대값을 얻는 방법!죄송합니다! 이것은 작동하지 않았다!Re: 행에 누락된 데이터가 있는 여러 열에서 최대값을 얻는 방법!훌륭한 솔루션에 대해 txnelson에게 감사드립니다! 당신은 항상 세부 사항을 가고 매우 명확하게 설명하는 데 도움이됩니다!Re: 행에 누락된 데이터가 있는 여러 열에서 최대값을 얻는 방법!Windows PC에서 실행하고 Windows 10을 실행하면서 JMP의 여러 버전으로 돌아가서 스크립트를 실행했는데 모든 버전에서 올바르게 실행되었습니다.

때때로 데이터에 누락된 값이 있다는 두 번째 자격은 문제가 되지 않습니다.Maximum() 함수는 누락된 값을 처리합니다.
귀하의 스크립트에 대해 자세히 알지 못하므로 가능한 문제를 지적하겠습니다.max_col 열에 대해 생성된 수식을 보면 다음과 같이 표시됩니다.

수식은 "use_cols" 목록에 의존하므로 수식이 실행되거나 다시 실행될 때마다 목록으로 이동하여 "use_cols"의 "at that point in time" 값을 사용하여 수식에 넣습니다."use_cols"의 값이 " {이름( "a@b;2" ), 이름( "c@d;3" )} ", 모든 것이 잘 될 것입니다.어떤 이유로 목록 "use_cols"가 값을 변경한 경우 수식이 작동하지 않을 수 있으며 누락된 값이 표시됩니다.당신이 정말로 원하는 것은 공식이
Maximum( {:Name( "a@b;2" ), :Name( "c@d;3" )} )
내 경험상 이를 수행하는 가장 쉬운 방법은 새 열과 수식을 다음과 같이 지정하는 것입니다.
Eval(Parse("dt << new column(\!"max_col\!",numeric,formula( Maximum(" || char(use_cols) || ")));"));
그 결과 공식은 다음과 같이 지정됩니다.

Re: 행에 누락된 데이터가 있는 여러 열에서 최대값을 얻는 방법!안녕,
마지막 명령문에 "열로"를 추가하여 변수 "use_cols"가 열을 참조하고 있음을 JMP가 파악하는 데 도움을 주기만 하면 됩니다.
dt << New Column( "max_col", numeric, formula( Maximum( as columns( use_cols ) ) ) );
Re: 행에 누락된 데이터가 있는 여러 열에서 최대값을 얻는 방법!때때로 열에 누락된 값이 포함될 수도 있다는 점을 잊어버렸습니다. 데이터 테이블을 만들 때 추가하는 방법을 알 수 없었습니다.