필터를 사용하여 요약 테이블을 생성하는 스크립트안녕하세요 여러분
일부 숫자 열(VAL1, VAL2)과 일부 문자 열(CATEG1, CATEG2, CATEG3)이 있는 데이터 테이블이 있습니다.
"CATEG1,23"으로 그룹화된 각 숫자 값의 평균값을 보고하는 요약 테이블을 생성하는 스크립트를 작성하고 싶습니다. 이 작업은 쉽게 수행됩니다.
Data Table( "MyTable" ) <<
Summary(
Group(
:Lot,
:Name( "CATEG1" ),
:Name( "CATEG2" ),
:Name( "CATEG3" ),
),
Mean( :VAL1),
Mean( :VAL2),
Freq( "None" ),
Weight( "None" ),
)
그러나 CATEG1,2,3에 따라 결과를 필터링하고 싶습니다. 예를 들어 CATEG1=="Standard"인 결과만 포함합니다.
"where" 절을 잔인하게 삽입하려고 시도했지만 제대로 작동하지 않는 것 같습니다.
where(:CATEG1 == "Standard")
이 작업은 대화형으로 쉽게 수행할 수 있다는 것을 알고 있지만 스크립트를 통해 수행하고 싶습니다.
감사해요
EV1976
데이터 탐색 및 시각화대량 맞춤화Re: 필터가 있는 요약 테이블을 만드는 스크립트필터링하면 다른 행을 삭제하시겠습니까? 만일이 경우라면:
Big Class.jmp를 예제 테이블로 사용합니다. 요약 테이블에 :sex 값이 "M"인 행만 남겨두기
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
wait(1);
dt_summary = dt << Summary(
Group(:age, :sex),
Mean(:height),
Mean(:weight),
Freq("None"),
Weight("None"),
Link to original data table(0)
);
wait(1);
dt_summary << Delete Rows(dt_summary << Get Rows Where(:sex != "M"));
표를 사용하는 것도 좋은 선택이 될 수 있습니다. 로컬 데이터 필터를 사용하거나 Where(여기서 내가 하는 일)를 직접 추가할 수 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
wait(1);
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:height, :weight), Statistics(Mean)),
Row Table(Grouping Columns(:sex, :age))
),
Where(:sex == "M")
);
스크립팅 인덱스에는 다음과 같은 좋은 제안이 있습니다.
행 삭제:

다음 위치에서 행 가져오기:

위치 선택:

Re: 필터로 요약표를 생성하는 스크립트입니다.두 솔루션 모두 저에게 효과적입니다.
"표로 만들기" 옵션은 제 요구에 완벽하게 맞습니다.
매우 감사합니다
EV1976