취소
다음에 대한 결과 표시 
표시  만  | 다음에 대한 검색 
다음을 의미합니까? 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
언어 선택 변환 막대 숨기기
게시된 스레드 원본 보기

일치하는 열 이름을 기준으로 셀 강조 표시

Aam_jmp
Level IV

테이블의 모든 Studentized 열에 대해 최소값을 노란색으로 표시하는 스크립트가 있습니다. 원시 열에서 이러한 값에 인접한 값도 강조 표시하고 싶습니다. 예를 들어, Studentized Resid Rest Pulse의 경우 Rest Pulse 열의 -2.321144119, 즉 44에 인접한 셀입니다. jsl에서 어떻게 할 수 있습니까? 정규식 또는 일치가 도움이 될 수 있습니까? 감사합니다undefined

dt = current data table();
col = dt << get column names( string );
nc = N Items( col );
For( i = 1, i <= nc, i++,
 Cols = Column(dt,i);
 If( Contains( col[i], "Studentized Resid" ),
 Min = dt << get rows where(as column(Cols)==(Col Min( Cols )));
 Cols << color cells(Yellow, Min);
 )
 );

나는 다음과 같은 것을 찾고 있습니다.

 

undefined

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

1 채택된 솔루션

채택된 솔루션
txnelson
Super User

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

귀하의 문제를 이해하지 못할 수 있습니다."Studentized ....."가 포함된 열에 대해 발견된 최소값에 인접한 셀의 색상을 지정하려면 수행하기만 하면 됩니다.열 이름 목록......colNamesList가 있고 열을 살펴보고 있습니다."Studentized......"가 포함된 열을 찾으면 색상을 지정하려는 다른 열의 이름과 최소값인 행을 찾습니다.즉, 색칠하려는 세포에 인접한 세포도 알고 있습니다.....

column( Substr( colNameList[i], 19 ) ) <<  << color cells( Yellow, MinRows )

"Studentized......" 열의 색상 바로 뒤에 이것을 추가하면 해당 셀에 색상이 지정됩니다.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

12 응답 12
pmroz
Super User

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

다음은 하드 코딩된 열 이름을 사용하는 한 가지 방법입니다.

dt = Current Data Table();
col = dt << get column names( string );
nc = N Items( col );
For( i = 1, i <= nc, i++,
 Cols = Column( dt, i );
 If( Contains( col[i], "Studentized Resid" ),
  Min = dt << get rows where( As Column( Cols ) == (Col Min( Cols )) );
  Cols << color cells( Yellow, Min );
  :Rest Pulse << color cells( Yellow, Min );
  :Run Pulse << color cells( Yellow, Min );
  :Max Pulse << color cells( Yellow, Min );
 );
);

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Aam_jmp
Level IV

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

@pmroz 응답해 주셔서 감사합니다. 그러나 이러한 문제에 대한 보다 역동적인 해결책을 찾고 있습니다.

a) 많은 열

b) 미래의 다른 열 이름.

작업을 수행할 수 있는 JMP 기능이 있습니까? 감사합니다

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

txnelson
Super User

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

처리해야 하는 열의 입력을 어떻게 예상하십니까?   

스크립팅 가이드를 읽었습니까?이 책에는 아이디어를 제공하는 많은 예가 있습니다.

도움말==>도서==>스크립팅 가이드

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Aam_jmp
Level IV

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

스튜던트화 열이 있거나 일치하는 모든 원시 열이 강조 표시됩니다. 스크라이팅 가이드를 보고 있었고 Regex Match와 하위 문자열을 사용하여 "Studentized Resid"가 없는 열 이름을 추출하려고 했습니다. 내가 원하는 것을 달성하는 데 도움이 되기를 바라면서 여기에 강조 표시된 열의 행 번호 목록도 보관하고 있습니다. 더 나은 접근 방식은 대단히 감사하겠습니다.@txnelson

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

txnelson
Super User

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

합리적인 접근 방식처럼 들립니다.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Aam_jmp
Level IV

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

나는 아직도 이 문제를 어떻게 해결할 수 있는지 알 수 없었다. 가장 최근 스크립트에 도달하기 위해 다른 질문과 스크립팅 가이드를 살펴보았습니다.

가장 최근 스크립트는 다음과 같습니다.

dt = current data table();
col = dt << get column names( string );
nc = N Items( col );

For( i = 1, i <= nc, i++,
 Cols = Column(dt,i);
 If( Contains( col[i], "Studentized Resid" ),
 Min = dt << get rows where(as column(Cols)==(Col Min( Cols )));
 Cols << color cells(Yellow, Min);
 //show(Loc())
 MinValue = Col Min(Cols);
 ColValue = As List(Cols << Get Values);
 show(Loc(ColValue,MinValue));
 show(substr(col[i], 19,100));
 
 )
 
 );

Substring 메서드를 사용하여 열을 일치시키는 방법을 누군가가 보여주면 정말 감사하겠습니다. 미리 감사드립니다.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

txnelson
Super User

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

다음은 간단한 스크립트 재작업입니다.샘플 데이터와 함께 작동하며 데이터 테이블에 있는 만큼의 열과 함께 작동해야 합니다.

dt = Current Data Table();

// I changed the name from "col" to colNameList to keep from
// it being confused with the variable "Cols".  It isn't
// confusing to JMP, just to me
colNameList = dt << get column names( string );
nc = N Items( colNameLIst );

// Loop across all columns
For( i = 1, i <= nc, i++, 

 // Create a variable that contains the "column" representation
 // of the column name string value
 Cols = Column( dt, i );
 
 // If the column name starts with the string "Studentized Resid"
 // and if so, then process
 // I changed this because your Substr() function below indicates
 // that the column with "Studentized Resid" will be at the beginning
 If( Left( colNameList[i], 17 ) == "Studentized Resid", 
  
  // Find the minimum value for the column
  MinValue = Col Min( Cols );
  
  // Find all of the rows that have the minimum value.  There
  // could be more than one row with the minimum value, but this
  // code only uses the first row
  MinRows = dt << get rows where( As Column( Cols ) == MinValue );
  
  // Theoretically, there should always be a matching value for this,
  // but it is a good way to make sure the code will not fail.  Also,
  // if you ever want to deal with the posibility of more than one
  // row matching the minimum, you would do it using this type of
  // code structure
  If( N Rows( MinRows ) > 0,
   Cols << color cells( Yellow, MinRows )
  );
  
  // Output the requested values
  Show( Substr( colNameList[i], 19 ), Cols[MinRows[1]] );
 
 );
);

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Aam_jmp
Level IV

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

@txnelson 안녕하세요 Jim, 제가 여기에 빠진 것이 있으면 죄송합니다. 모든 학생 열에 대해 인접한 원시 열도 강조 표시하고 싶었습니다. 이 작업을 수행할 수 없습니다.

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.

Jeff_Perkinson
Community Manager Community Manager

Re: 일치하는 열 이름을 기준으로 셀 강조 표시

하위 문자열() 당신이 놓친 기능?

 

resid_colname="Studentized Resid Rest Pulse";

//There are 19 characters in "Studentized Resid "
 
orig_colname = substr(resid_colname, 19);

show(orig_colname);
/*:

orig_colname = "Rest Pulse";

원래 English (US) 로 작성된 이 게시물은 귀하의 편의를 위해 번역되었습니다. 답장을 보내면 English (US) 로 다시 번역됩니다.