대화식 접근 방식을 사용하여 이에 대한 스크립트를 캡처합니다. 먼저 데이터 테이블부터 시작하겠습니다.

필요하지 않기 때문에 Count를 중단했지만 거기에 있으면 아프지 않을 것입니다.
점수 열을 선택한 다음 Cols, Utilities, Make Binning Formula로 이동했습니다.

오프셋을 0.5로 설정하고 빈 너비를 0.1로 설정합니다.

새 열 (Score Binned)을 마우스 오른쪽 단추로 클릭하고 열 속성 복사 :

그런 다음 새 스크립트 창을 열고 붙여 넣으면 (ctrl-V) 다음 JSL이 생성됩니다.
Add Column Properties(
Value Labels(
{-0.5 = "-0.5 — -0.4", -0.4 = "-0.4 — -0.3", -0.3 = "-0.3 — -0.2", -0.2 =
"-0.2 — -0.1", -0.1 = "-0.1 — 0", 0 = "0 — 0.1", 0.1 = "0.1 — 0.2", 0.2 =
"0.2 — 0.3", 0.3 = "0.3 — 0.4", 0.4 = "0.4 — 0.5", 0.5 = "0.5 — 0.6", 0.6 =
"0.6 — 0.7", 0.7 = "0.7 — 0.8", 0.8 = "0.8 — 0.9", 0.9 = "0.9 — 1", 1 =
"1 — 1.1", 1.1 = "1.1 — 1.2", 1.2 = "1.2 — 1.3", 1.3 = "1.3 — 1.4", 1.4 =
"1.4 — 1.5", 1.5 = "1.5 — 1.6", 1.6 = "1.6 — 1.7", 1.7 = "1.7 — 1.8", 1.8 =
"1.8 — 1.9", 1.9 = "1.9 — 2"}
),
Use Value Labels( 1 ),
Formula( 0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 ) )
)여기서 두 가지 사항 : 0.5 미만 (설명에 존재하지 않음) 또는 1보다 큰 점수는 신경 쓰지 않으므로 속성을 약간 변경하고 원하는대로 레이블 이름을 편집 할 수 있습니다. 또한 점수가 정확히 1 인 경우를 캡처하기 위해 If 문을 추가했습니다.
Add Column Properties(
Value Labels(
{0.5 = "0.5 — 0.59", 0.6 = "0.6 — 0.69", 0.7 = "0.7 — 0.79", 0.8 = "0.8 — 0.89", 0.9 =
"0.9 — 1"}
),
Use Value Labels( 1 ),
Formula(
If(
(0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )) == 1, 0.9,
0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )
)
)
);(0.599는 0.5에서 0.59 사이로 표시되기 때문에 이러한 레이블은 기술적으로 정확하지 않습니다.)
현재 데이터 테이블을 사용하고 Score Binned라는 새 열을 추가하고 해당 열에 다음 속성을 추가하는 경우이 스 니펫 주위에 일부 코드를 래핑하여 재사용 할 수 있습니다.
dt = Current Data Table();
dt << New Column("Score Binned", Character);
dt:"Score Binned"n << Add Column Properties(
Value Labels(
{0.5 = "0.5 — 0.59", 0.6 = "0.6 — 0.69", 0.7 = "0.7 — 0.79", 0.8 = "0.8 — 0.89", 0.9 =
"0.9 — 1"}
),
Use Value Labels( 1 ),
Formula(
If(
(0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )) == 1, 0.9,
0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )
)
)
);이제 테이블로 돌아가서 테이블> 요약을 클릭하면 원하는 곳으로 이동할 수 있습니다. Group과 Score Binned를 Group에 넣습니다. 이것이 실제로 필요한 전부입니다.


이제 N Rows는 우리가 원하는 것입니다. 이름이 잘못되었으므로 왼쪽의 "Source"라는 단어를 두 번 클릭하고 테이블 생성 스크립트를 복사하고 명명 된 테이블 참조를 "dt", 작업 테이블로 바꾸고 catch 변수 "summ"의 새 테이블 :

dt = Current Data Table();
dt << New Column("Score Binned", Character);
dt:"Score Binned"n << Add Column Properties(
Value Labels(
{0.5 = "0.5 — 0.59", 0.6 = "0.6 — 0.69", 0.7 = "0.7 — 0.79", 0.8 = "0.8 — 0.89", 0.9 =
"0.9 — 1"}
),
Use Value Labels( 1 ),
Formula(
If(
(0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )) == 1, 0.9,
0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )
)
)
);
summ = dt << Summary(
Group( :Group, :Score Binned ),
Freq( "None" ),
Weight( "None" )
);마지막으로 원하는대로 N 개 행의 이름을 "Total_Count"로 바꿉니다.
dt = Current Data Table();
dt << New Column("Score Binned", Character);
dt:"Score Binned"n << Add Column Properties(
Value Labels(
{0.5 = "0.5 — 0.59", 0.6 = "0.6 — 0.69", 0.7 = "0.7 — 0.79", 0.8 = "0.8 — 0.89", 0.9 =
"0.9 — 1"}
),
Use Value Labels( 1 ),
Formula(
If(
(0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )) == 1, 0.9,
0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )
)
)
);
summ = dt << Summary(
Group( :Group, :Score Binned ),
Freq( "None" ),
Weight( "None" )
);
summ:"N Rows"n << Set Name("Total_Count");이제 요약 테이블을 닫고 소스 테이블에서 Score Binned 열을 삭제 한 다음 스크립트를 테스트합니다.

최종 JSL 다시 :
dt = Current Data Table();
dt << New Column("Score Binned", Character);
dt:"Score Binned"n << Add Column Properties(
Value Labels(
{0.5 = "0.5 — 0.59", 0.6 = "0.6 — 0.69", 0.7 = "0.7 — 0.79", 0.8 = "0.8 — 0.89", 0.9 =
"0.9 — 1"}
),
Use Value Labels( 1 ),
Formula(
If(
(0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )) == 1, 0.9,
0.5 + 0.1 * Floor( (:Score - 0.5) / 0.1 )
)
)
);
summ = dt << Summary(
Group( :Group, :Score Binned ),
Freq( "None" ),
Weight( "None" )
);
summ:"N Rows"n << Set Name("Total_Count");첨부 된 데이터에 대한 테스트를 거쳤습니다.:flushed_face:

이를 수행하는 몇 가지 방법이 있습니다.그러나 아래 예제는 실제로 기본 JMP 기능을 기반으로하기 때문에 Help 풀다운 메뉴에서 사용할 수있는 JMP Documentation Library에서 Discovering JMP 및 Using JMP 문서를 읽는 것이 좋습니다.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Score Category",
character,
formula(
If(
:Score < .6, "0.50-0.59",
:Score < .8, "0.60-0.79",
:Score < .9, "0.80-0.89",
"0.90-1.00",
)
)
);
dtSum = dt << Summary(
Group( :Group, :Score Category ),
Sum( :Count ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
dtSum << delete columns( :N Rows );
dtSum:Name( "Sum(Count)" ) << set name( "Total_Count" );
// or
dt:score << set property(
"value labels",
{0.5 <= "0.50-0.59" < 0.6, 0.6 <= "0.60-0.79" < 0.8, 0.8 <= "0.80-0.89" < 0.9, 0.9
<= "0.90-1.00" <= 1}
);
dtSum = dt << Summary(
Group( :Group, :Score ),
Sum( :Count ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
dtSum << delete columns( :N Rows );
dtSum:Name( "Sum(Count)" ) << set name( "Total_Count" );