Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?브래킷이 있어야 할 위치에 있는지 확인했습니까?


Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?@jthi , 오른쪽.
코드를 수정했습니다.
... 그리고 다른 경우에 대해 내 시스템에서 외계인 목록이 어떻게 보이는지 스크린샷을 추가했습니다.
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?결국 수행하려는 작업에 따라 몇 가지 가능한 해결 방법이 있습니다.
- :alien = 1로 "공백" 행 추가(외계인이 1인 것을 제외하고 다른 모든 값이 누락됨)
- 목록 상자(또는 다른 것)를 사용하여 사용자 지정 필터를 만든 다음 고유한 논리 및 옵션을 가질 수 있습니다.
- 아무것도 발견되지 않으면 일종의 역 필터를 사용하십시오.
- 찾을 수 없는 경우 다른 보기 사용
- 필터링되는 항목(또는 이 경우 필터링되지 않음)을 더 명확하게 하기 위해 데이터 필터를 숨기지 마십시오.
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?다음을 통해 접근하는 이유에 대한 몇 가지 통찰력 어디() 역동적이지 않다
Where()를 사용하여 분석을 필터링하면 새로운 연결된 개인 데이터 테이블이 생성됩니다. :
데이터 테이블의 비공개 하위 집합이 생성됩니다.
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?사용자에게 Jmp에 문제가 있음을 표시하는 해결 방법입니까? 사용자가 문제를 보지 않고 Jmp로 작업하기를 원합니다 
다른 해결 방법과 관련하여:
Jmp가 "뭔가 잘못하는 것"을 방지하기 위해 바퀴를 재발명(나만의 데이터 필터 만들기)하는 것이 마음에 들지 않습니다.
따라서 남은 것은 옵션 # 1입니다.
일치하는 행을 찾지 못해 데이터 필터가 지워지지 않도록 데이터 테이블에 더미 행을 추가합니다.
몇 가지 불쾌한 단점이 있습니다. 더미 행은 다른 모든 곳에서 수동으로 "제거"해야 합니다...
- 열 번호(if(:dummy_row, ., :alien), ...);
- 그래프 빌더(..., Where(Ismissing(:dummy_row));
- dfRows = myDataFilter << 필터링된 행 가져오기;
NRowsAfterDummyScreening=NItems(Loc(-dt[dfRows,"더미"]+1));
그리고 사용자가 활성화하지 않는 한 작동합니다.
그룹화 열( 1 )에 대한 누락을 포함합니다.
향후 버전의 Jmp에서는 일치하는 항목이 없을 때 데이터 필터가 재설정되지 않도록 하는 옵션이 있기를 바랍니다. 소원은 다음과 같습니다.
로컬 데이터 필터: 현재 데이터에 맞게 조정하는 옵션
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?문제를 해결하는 방법을 찾았습니다.
Include missing for grouping columns( 1 )
데이터 필터 사용 외계인 = 1 그리고 더미 = 0 - 추가 설정 제외된 행 수(1) [기본값].
그런 다음 데이터 필터는 많은 연령 그룹에 대해 alien=1 및 dummy=0인 행이 없음을 인식하지 못합니다.
인지하지 못하기 때문에 선택을 재설정하지 않습니다 
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "dummy", Nominal );
dt << New Column( "alien", Nominal );
For( myAge = 12, myAge <= 17, myAge++,
dt << add rows( {:name = "xxx", :age = myAge, :dummy = 1, :alien = 1} )
);
:alien[12]=1;
:sex[12]="";
:alien[39]=1;
New Window( "Outlier Screening",
Data Filter Context Box(
H List Box(
dt << Data Filter(
Local,
Add Filter( columns( :age ), Where( :age == 13 ), Display( :age, N Items( 6 ) ) )
),
dt << Tabulate(
Show Control Panel( 0 ),
Include missing for grouping columns( 1 ),
Add Table(Row Table( Grouping Columns( :name, :sex ) ) ),
Local Data Filter(
Close Outline( 1 ),
Mode( Show( 0 ) ),
//Count Excluded Rows( 0 ),
Add Filter( columns( :dummy, :alien ), Where( Is Missing( :dummy ) ), Where( :alien == 1 ) )
)
)
)
)
);
NB: 언젠가 전체 데이터 세트에 외계인이 한 명도 없으면 이 솔루션은 실패할 것입니다.
이 경우 ...
- 더미 연령 그룹("-99")에서 더미 = 0인 추가 외계인을 숨길 수 있습니다.
... 그리고 아무도 더미가 아닌 외계인을 전체 클래스에 포함하지 않도록 주의하세요. - 또는: 데이터 필터를 두 개로 분할합니다.
그런 다음 둘 다 재설정되지 않도록 충분한 일치 행을 얻습니다.
더보기...Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "dummy", Nominal );
dt << New Column( "alien", Nominal );
For( myAge = 12, myAge <= 17, myAge++,
dt << add rows( {:name = "xxx", :age = myAge, :dummy = 1, :alien = 1} )
);
:sex[12] = "";
New Window( "Outlier Screening with worarounds",
Data Filter Context Box(
H List Box(
dt << Data Filter( Local, Add Filter( columns( :age ), Where( :age == 13 ), Display( :age, N Items( 6 ) ) ) ),
Data Filter Context Box(
H List Box(
dt << Data Filter( Local, Add Filter( columns( :dummy ), Where( Is Missing( :dummy ) ), Display( :age, N Items( 6 ) ) ) ),
dt << Tabulate(
Show Control Panel( 0 ),
Include missing for grouping columns( 1 ),
Add Table( Row Table( Grouping Columns( :name, :sex ) ) ),
Local Data Filter( Close Outline( 1 ), Mode( Show( 0 ) ), Add Filter( columns( :alien ), Where( :alien == 1 ) ) )
)
)
)
)
)
);
Jmp 대시보드를 사용한 이상치(:alien:) 스크리닝 - 방법?내 클래스의 외계인을 나열하여 아웃라이어 스크리닝을 수행하고 싶습니다.
첫번째 시도: 로컬 데이터 필터
나는 Big Class의 모든 외계인들에게 꽤 충격을 받았습니다!
... 하지만 데이터 필터가 무시되었다는 것을 알아차렸습니다.
이것은 관련이있는 것 같습니다 데이터 필터: 제한을 지정하는 방법 :
값이 데이터 필터에서만 사용되고 데이터 테이블에서는 사용되지 않는 경우 데이터 파일러에서 제거됩니다.
이 동작은 Jmp의 다른 동작을 방해합니다. 마지막 필터 값이 선택 취소되면 모두 행이 선택됩니다(없음 대신).
그래서, 현재의 데이터 필터의 동작, 이 접근 방식은 작동하지 않습니다 
다음으로, 나는 어디() 절 집계 보고서를 제한합니다.
불행하게도 어느 날 클래스에 외계인이 없으면 Where 절은 데이터 세트를 0 행으로 제한하는 대신 오류 메시지를 생성합니다.
This Where-clause for data table 'Big Class' resulted in no rows: :alien == 1
4가지 경우에 대한 "외계인" 목록:




참고:
의 경우 어디() , 또 다른 문제가 있습니다.
보고서의 행 선택은 정적입니다.
XX가 비외계인으로 변경된 후에도 그는 여전히 보고서에 나열됩니다.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "alien", nominal, set each value( 0 ) );
myDashboard = Function( {myTitle, withWhereClause},
New Window( myTitle,
<<SHOW menu=""> so many aliens ?!?! no, Data filter was ignored (filter is OK, see below)
myDashboard( "1) Data Filter, no alien", 0 );
// 2) Where Cause + no matching row --> error message instead of a report
myDashboard( "2) Where(), no alien", 1 );
dt << add rows( {name = "XX", alien = 1, sex = "M", age = 200} );
// 3) Data Filter + 1 alien
myDashboard( "3) Data filter, 1 alien", 0 ); // new test: --> filter OK --> works
myDashboard( "4) Where(), 1->0 aliens ...", 1 ); // Where Clause + matching row --> dashboard is created, but ...
// XX gets human -> Dashboard #4 stays the same :(
//dt[41, {"alien"}] = 0;
;</SHOW>
데이터 혼합 및 정리데이터 탐색 및 시각화Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?
@jthi 쓴 :- 필터링되는 항목(또는 이 경우 필터링되지 않음)을 더 명확하게 하기 위해 데이터 필터를 숨기지 마십시오.
?
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?@호기 쓴 :
NB: 이 솔루션은 실패합니다 *)
... 매우 놀라운 결과 - 데이터 필터 자체가 아닌 머리글이나 바닥글이 재설정에 대해 아무것도 모르는 것 같습니다.

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "dummy", Nominal );
dt << New Column( "alien", Nominal );
For( myAge = 12, myAge <= 17, myAge++,
dt << add rows( {:name = "xxx", :age = myAge, :dummy = 1, :alien = 1} )
);
:sex[12]="";
New Window( "Outlier Screening",
Data Filter Context Box(
H List Box(
dt << Data Filter(
Local,
Add Filter( columns( :age ), Where( :age == 13 ), Display( :age, N Items( 6 ) ) )
),
dt << Tabulate(
Show Control Panel( 0 ),
Include missing for grouping columns( 1 ),
Add Table(Row Table( Grouping Columns( :name, :sex ) ) ),
Local Data Filter(
Close Outline( 1 ),
Mode( Show( 0 ) ),
//Count Excluded Rows( 0 ),
Add Filter( columns( :dummy, :alien ), Where( Is Missing( :dummy ) ), Where( :alien == 1 ) )
)
)
)
)
);
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?Jmp의 Outlier Screening에 대한 내부 토론을 위해 이 스크립트를 준비했습니다.
그것은 대부분의 측면을 보여주고 해결 방법의 추가 개발을 위한 출발점으로 사용할 수 있습니다 ...
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "dummy", Nominal );
dt << New Column( "alien", Nominal );
:alien[12] = 1;
:sex[12] = "";
:alien[39] = 1;
New Window( "alien screeing",
<<SHOW menu=""></SHOW>
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?감사해요 @호기 - 이것은 분명히 향후 릴리스에서 수정할 버그처럼 보입니다.
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?@danschikore
이 비디오는 무엇이 잘못되었는지 힌트를 제공합니다.
대시보드는 Tabulate의 잘못된 목록으로 시작합니다. 데이터 필터는 "외계인"으로 제한되지만 목록에는 alien=누락된 항목이 많이 있습니다.
잘못된 항목을 제거하려면 사용자가 "내부" 데이터 필터에서 선택을 변경해야 합니다. (비디오의 주먹 부분). (*)
반면에(두 번째 부분) 데이터 필터 컨텍스트 상자의 데이터 필터 관련 - 사용자가 선택을 변경하는 즉시 Tabulate의 내용이 재설정되고 "내부" 데이터 필터의 설정이 무시됩니다.
... 사용자가 (*)를 통해 다시 수정할 때까지
지원 티켓: TS-00046650
Re: Jmp 대시보드를 사용한 이상점 선별 - 방법은?감사해요 
그래서 결국 나는 다시 돌아왔다. @jthi 의 첫 번째 제안:
@jthi 쓴 :
- :alien = 1( 다른 모든 값 누락 외계인을 제외하고 1)
Alien=1, NO for 루프, NO 추가 더미 열 등이 있는 단일 빈 줄입니다.
그런 다음 더미 외계인이 추가 데이터 필터 항목인 sex = missing, name=missing, age=missing에 의해 나타납니다.
- 이렇게 하면 보고서에서 더미 외계인을 선택하여 쉽게 제거할 수 있습니다. 한 해당 데이터 필터의 항목(!= 누락).
- 더미 컬럼을 사용한 접근 방식과 비교한 이점:
"오늘 외계인 없음"인 경우, Outlier Screening은 초기화되지 않습니다 
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "alien", Nominal );
dt << add rows( {:alien = 1} );
addAliens=0;
if(addAliens,
:alien[12]=1;
:alien[39]=1;
);
New Window( "Outlier Screening",
Data Filter Context Box(
H List Box(
dt << Data Filter(
Local,
Add Filter( columns( :age, :sex ), Where( :age == 13 ) )
),
dt << Tabulate(
Show Control Panel( 0 ),
Include missing for grouping columns( 1 ),
Add Table(Row Table( Grouping Columns( :name, :sex ) ) ),
Local Data Filter(
Add Filter( columns( :alien ), Where( :alien == 1 ) )
)
)
)
)
);
Re: Jmp 대시보드를 사용한 이상치 스크리닝 - 방법은 무엇입니까?Jmp 17에서는 Tables/Summary 에 데이터 필터가 도입되었습니다.
여기서 문제는 훨씬 더 심각합니다. 결국에는 잘못된 결과만 나타납니다. 대시보드 왼쪽에는 데이터 필터가 없고 "분명히" 잘못된 설정이 표시됩니다.표/요약 관련 버그 2개
Re: Jmp 대시보드를 사용한 이상치 스크리닝 - 방법은 무엇입니까?Hi @danschikore ,
@danschikore님이 작성하셨습니다:
@hogi 에게 감사드립니다 . 이는 확실히 향후 릴리스에서 수정될 버그인 것 같습니다 .
이 설명은 두 개의 데이터 필터가 있는 특수한 경우를 참조합니까, 아니면 일반적인 경우를 참조합니까?
값이 현재 데이터 테이블에 없으면 데이터 필터는 해당 설정을 잊어버립니다.
Re: Jmp 대시보드를 사용한 이상치 스크리닝 - 방법은 무엇입니까?안녕하세요 @hogi - 비디오에 표시된 첫 번째 문제를 언급하고 있었는데, 외부 필터가 변경될 때 Tabulate가 올바른 하위 집합을 표시하지 않았다는 것입니다. 하지만 여기에 제공된 스크립트가 보이지 않습니다. 기술 지원을 통해 보내셨나요?
-그리고
Re: Jmp 대시보드를 사용한 이상치 스크리닝 - 방법은 무엇입니까?이 비디오는 이전에 동일한 문제가 있는 코드 2개 게시물을 기반으로 했습니다.
Jmp18에서는 훨씬 좋아 보입니다. 이 문제는 해결될 수 있을 것 같습니다.
반면에 설정을 '잊는' 데이터 필터에는 여전히 문제가 있습니다.
https://community.jmp.com/t5/Discussions/Can-animation-of-this-difficulty-be-achieved-with-JSL/mp/755896#M93798
Re: Jmp 대시보드를 이용한 이상치 스크리닝 - 어떻게 해야 하나요?JMP19에서 수정됨:
Jmp 및 JSL의 작은 함정
Re: Jmp 대시보드를 이용한 이상치 스크리닝 - 어떻게 해야 하나요?시청해주세요
JMP 및 JMP Pro의 최신 개선 사항 사용 @ 9분 / @브래디_브래디 작성
강제 값이 데이터 필터의 문제를 해결하는 방법을 라이브 데모로 확인하세요.
정말 매끄럽고 우아해졌어요 : )