열에 최소값 할당안녕 여러분,
파일이 2개 있습니다.
첫 번째 파일:

두 번째 파일 :

첫 번째 파일에서 최소 연령을 검색하고 두 번째 파일에서 가장 낮은 연령을 할당하는 스크립트를 작성하려고 합니다.
예를 들어
세 개의 이름이 있는 첫 번째 행 샘, 존, 스미스 따라서 최소 연령 열의 값은 최소{샘, 존, 스미스} 최소{21, 27, 32} = 21
내 최종 출력은 다음과 같습니다.

제안 사항이 있으십니까?
감사
스크립팅Re: 열에 최소값 할당Column() 함수는
d2:Column(2)[I]
그것은 명시된 바와 같습니다
Column( dt, 2 )[I]
인덱스가 변수인 경우 완성된 스크립트는 다음과 같습니다.
Names Default To Here( 1 );
dt1 = Data Table( "1st" );
dt2 = Data Table( "2nd file" );
indexd2minage = 2;
indexd2name = 1;
indexd1name = 1;
indexd1age = 2;
Current Data Table( dt1 );
For( i = 1, i <= N Rows( dt2 ), i++,
Column( dt2, indexd2minage )[i] =
Col Min(
If(
Contains(
Column( dt2, indexd2Name )[i],
as Column( dt1, indexd1Name )
),
Column( dt1, indexd1age ),
.
)
)
);Re: 열에 최소값 할당안녕 @txnelson ,
열 이름을 열 인덱스로 바꾸려고 했지만 실행되지 않습니다.
어떤 제안?
Names default to here(1);
dt1=data table("1st");
dt2=data table("2nd file");
current data table(dt1);
For(i=1,i<=nrows(dt2), i++,
dt2:Column(2)[i] =col min(If(contains(dt2:Column(1)[i],dt1:Column(1)),dt1:Column(2),.));
);
Re: 열에 최소값 할당이 스크립트에서 열 이름을 열 인덱스로 바꾸는 것을 의미합니다.
Names Default To Here( 1 );
dt1 = Data Table( "1st" );
dt2 = Data Table( "2nd file" );
Current Data Table( dt1 );
For( i = 1, i <= N Rows( dt2 ), i++,
dt2:Minimum Age[i] = Col Min( If( Contains( dt2:Name[i], dt1:Name ), dt1:age, . ) )
);
Re: 열에 최소값 할당다음은 내가 준 예 중 하나입니다.
Column( "Age" ) << Get Property( "Units" );
JSL 구문 참조에서 Column() 함수에 대한 문서를 검토하면 다음과 같습니다.
Column(<dt>, "name", "formatted")
Column(<dt>, n)
Description
Gets a reference to the data table column.
Arguments
dt Optional reference to a data table. If this is not supplied, the current data table is used.
name Quoted string that is the name of the column.
formatted Quoted string that returns the formatted string of the cell value.
n Column number.
Syntax Guide에서 예제를 읽으면 다음과 같습니다.
The Column function can also identify a column. For Big Class.jmp, the following expressions
all refer to age, the second column in the table:
Column( "age" );
Column( 2 );
Column( dt, 2 );
Column( dt, "age" );
Re: 열에 최소값 할당안녕 @txnelson ,
위 스크립트에서 열 이름 대신 열 인덱스를 어떻게 정의할 수 있습니까?
감사
Re: 열에 최소값 할당get 속성의 구문은 다음과 같습니다.
obj << Get Property( the property you want to retrive );
따라서 Age 열에 대한 열 속성 중 하나를 다음과 같이 요청합니다.
:Age << Get Property( "Spec Limits" );
// or
Column( "Age" ) << Get Property( "Units" );
그리고 JMP를 사용하면 고유한 열 속성을 만들 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.
dt1:Sam << Set Property("Age", 3);
dt1:Andy << Set Property("Age", 4);<BR />theAge = dt1:Andy << Get Property( "Age" );
Re: 열에 최소값 할당안녕 @txnelson ,
빠른 응답에 감사드립니다.
내 질문을 명확히하지 않았습니다.
1. 데이터 테이블 1st_file에는 9개의 열이 있습니다. 예
2. 데이터 테이블 1st_file에는 각 열에 대해 1행의 데이터가 있습니다.
열 머리글을 마우스 오른쪽 버튼으로 클릭하고 "열 속성"을 선택하면 광범위한 목록 선택한 특정 열을 참조하는 항목.
이러한 광범위한 목록 값을 2nd_file의 열로 가져올 수 있습니까?
" 구문을 사용할 수 있습니까? 속성 가져오기() "
예를 들어 .
dt1 << 속성 가져오기("나이");
그런 다음 for 루프를 사용하여 두 번째 파일에 할당합니까?
다시 한 번 감사드립니다
Re: 열에 최소값 할당먼저 몇 가지 용어를 명확히 할 필요가 있습니다.
- 데이터 테이블 1st_file에는 9개의 열이 있습니다.
- 데이터 테이블 1st_file에는 각 열에 대해 1행의 데이터가 있습니다.JMP에서 열 속성으로 참조하는 항목이 없습니다.열 머리글을 마우스 오른쪽 버튼으로 클릭하고 "열 속성"을 선택하면 선택한 특정 열을 참조하는 광범위한 항목 목록이 표시됩니다.
위에서 언급한 이유는 Column Property라는 키워드를 사용했을 때 즉시 JMP Column Properties라는 아이디어가 떠올랐기 때문입니다.그것은 나에게 많은 혼란을 초래하는 많은 잘못된 가정을 설정했습니다.
그 외에도 문제를 해결할 수 있는 몇 가지 방법이 있습니다.
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column( "Minimum Age" );
// Transpose the data into a standard data table format
dt3 = dt1 << Transpose(
invisible,
columns( :Sam, :Andy, :John, :Ed, :Jonny, :Smith, :Scott, :George, :Mathew ),
Output Table( "Transpose of 1st_file" )
);
Current Data Table( dt3 );
For( i = 1, i <= N Rows( dt2 ), i++,
dt2:Minimum Age[i] = Col Min( If( Contains( dt2:Name[i], dt3:Label ), dt3:Name( "Row 1" ), . ) );
Show( dt2:minimum Age[i] );
);
Close( dt3, nosave );
데이터를 처리하는 데 시간이 조금 더 걸리지만 보조 테이블 생성은 필요하지 않습니다.
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column( "Minimum Age" );
For( i = 1, i <= N Rows( dt2 ), i++,
ages = {};
For( k = 1, k <= N Cols( dt1 ), k++,
If( Contains( dt2:Name[i], (Column( dt1, k ) << get name) ) > 0,
Insert Into( ages, Column( dt1, k )[1] )
);
);
dt2:Minimum Age[i] = Min( ages );
);Re: 열에 최소값 할당안녕 @txnelson ,
Age 값이 열 속성에 저장되면 어떻게 될까요? 1st_file의 열 속성(Age)을 2nd 파일의 열(Minimum Age)로 어떻게 가져올 수 있습니까?

Re: 열에 최소값 할당"에서 예를 들 수 없는 이유 데이터 테이블에 새 열 추가 " 스크립트에 추가하시겠습니까?
스크립팅 가이드로 이동하여 작업 방법에 대한 예제를 얻을 수 있다는 사실을 알고 계셨습니까?그렇지 않다면 숙지하는 것이 좋습니다.
다음은 새 열을 추가하는 새 명령이 포함된 샘플 스크립트입니다.
Names default to here(1);
dt1=data table("1st");
dt2=data table("2nd file");
dt2 << New Column( "Minimum Age" );
current data table(dt1);
For(i=1,i<=nrows(dt2), i++,
dt2:Minimum Age[i] =col min(If(contains(dt2:Name[i],dt1:Name),dt1:age,.));
);Re: 열에 최소값 할당안녕 @txnelson ,
당신의 도움을 주셔서 감사합니다.
두 번째 파일에는 최소 연령 열이 없습니다. 이름이 "Minimum Age"인 두 번째 열을 만든 다음 가장 낮은 값을 할당하려면 어떻게 해야 합니까?
Re: 열에 최소값 할당여기 당신이 원하는 것을 할 짧은 스크립트가 있습니다......핵심은 대부분의 사람들이 계산 함수에 전달되는 것이 조건적일 수 있다는 것을 깨닫지 못한다는 것입니다.아래 스크립트 참조
Names default to here(1);
dt1=data table("1st");
dt2=data table("2nd file");
current data table(dt1);
For(i=1,i<=nrows(dt2), i++,
dt2:Minimum Age[i] =col min(If(contains(dt2:Name[i],dt1:Name),dt1:age,.));
);Re: 열에 최소값 할당파일 첨부