null이 아닌 마지막 행의 간격을 어떻게 계산합니까?그림에서 이에 대한 예를 사용하십시오.
감사!

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2::8,"height"]="";
dt[10::17,"height"]="";
dt[19::28,"height"]="";
dt[30::39,"height"]="";
New Column("new",Character,"Nominal",Width(5));스크립팅Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?- "New"라는 새 열이 문자 열이되는 것을 원하지 않거나 "명목"이되는 것도 원하지 않으므로 이러한 가정을 기반으로 공식을 작성했습니다.
- JMP 공식의 개념으로 어려움을 겪고있는 것 같습니다. 몇 가지 토론 항목이 매우 간단한 문제를 해결하는 데 도움을 요청했습니다. 이러한 공식을 만들 수 있도록 커뮤니티에서 무엇을 할 수 있습니까?
- 여기 내 해결책이 있습니다 ... 다른 사람들은 다르거 나 더 나은 방법을 가질 수 있습니다
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2 :: 8, "height"] = "";
dt[10 :: 17, "height"] = "";
dt[19 :: 28, "height"] = "";
dt[30 :: 39, "height"] = "";
New Column( "new",
formula(
If( Row() == 1, last = 0 );
If( Is Missing( :height ) == 0,
If( last == 0,
x = .;
last = Row();
,
x = Row() - last
);
last = Row();
,
x = .
);
x;
)
);
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?짐 감사합니다!
저는 항상 Excel을 사용해 왔으며 이러한 간단한 데이터 프로세스는 쉽습니다.
Excel을 통해 데이터를 처리하고 JMP를 사용하는 전문 모듈을 사용하고 싶지 않습니다. 대신 JMP를 사용하여 모두 처리하십시오.
이 공식으로 JMP를 할 수 있다고 생각합니다. 하지만 어떻게 쓰는지 알아
Contains(:[Index(1,Row())],,-1)
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?"> 0"과 같은 매개 변수는 JMP에서 작동하지 않지만 Excel에서는 작동합니다.
Contains(:[Index(1,Row())],">0",-1)
Contains(:[Index(1,Row())],!is Missing(:),-1)
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?이 공식으로 어떤 결과를 기대하고 있습니까?
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?이 처리 된 "Big Class를 사용하고 있습니다. 설명 할 JMP "데이터 :
행의 높이 열이 비어 있지 않으면 행 위의 높이 열 데이터의 마지막 행에서 비어 있지 않은 행 수의 간격을 찾습니다.
예를 들어, dt [18, "height"]는 비어 있지 않고, 18 행의 맨 위에 비어 있지 않은 마지막 행은 DT [9, "height"]입니다. 따라서 dt [18, "new"]는 다음을 반환합니다. 18- 9 = 9
감사!Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?내가 제공 한 공식이 충분하지 않습니까?
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?Excel은 고유 한 코딩 바로 가기가있는 JMP를 비롯한 많은 언어와 같습니다. 그들 중 일부는 많은 언어에서 더 보편적으로 사용되지만 대부분은 자신의 언어 내에서 고유 한 구문으로 유지됩니다. JMP의 이러한 구문 항목은 모두 Scripting Guide에서 다룹니다.
계산을 수행하는 또 다른 방법이 있습니다. 작은 데이터 테이블에서는 잘 작동하지만 행이 많으면 비용이 많이 듭니다.
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt[2 :: 8, "height"] = "";
dt[10 :: 17, "height"] = "";
dt[19 :: 28, "height"] = "";
dt[30 :: 39, "height"] = "";
New Column( "new",
formula(
If( Is Missing( :height ) == 0,
curRow = Row();
x = curRow - Max( Current Data Table() << get rows where( Row() < curRow & Is Missing( :height ) == 0 ) );
,
x = .
);
x;
)
)
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?짐 감사합니다!
VBA를 사용하고 종종 루프를 작성하여 내 프로젝트를 완료합니다.
수백만 줄 이상의 데이터를 자주 사용하는데 속도가 핵심 문제입니다.
JMP가 더 빠른 것 같습니다.
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?감사!
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?다음 한정 간격으로 가져 오기 위해 "new2"의 다른 열을 추가하고 싶습니다.

두 열 ( "new", "new2")을 동시에 계산하고 인쇄하는 방법은 무엇입니까?
감사!
Re : 위의 마지막 행이 null이 아닌 간격을 어떻게 계산합니까?열 데이터를 행렬로 이동 한 다음 새 열을 원하는 형식으로 새 행렬을 생성 한 다음 완료되면 행렬을 데이터 테이블로 이동하는 것은 간단합니다. 모든 매트릭스 조작은 메모리에서 수행됩니다.