루프를 통해 각 고유 값의 최대값을 찾습니다.안녕,
X와 Y의 각 값을 반복하고 MaxValue 열에 최대 rn 값을 저장하려고 합니다.
여기에 내가 시도한 내용이 있지만 뭔가 잘못된 것 같습니다. 어떤 충고?
Names Default To Here( 1 );
// Assuming your data table is named 'dt'
dt = Current Data Table();
// Create a new column "MaxValue" and initialize with a large negative number
// Loop through unique Barcode values
// Loop through rows
dt << begin data table();
// Loop through rows
For( i = 1, i <= N Rows( dt ), i++,
currentBarcode = dt:Barcode[i];
// Find the location of the maximum rn value for the current Barcode
maxRNRow = Max( dt:rn[dt:Barcode[i] == currentBarcode] );
// Check if the maxRNRow is not 0 (meaning there is at least one matching Barcode)
If( maxRNRow != 0,
// Update "MaxValue" column with the max rn value for the current Barcode
dt:MaxValue[i] = dt:rn[maxRNRow]
);
);
dt << end data table();
자동화 및 스크립팅Re: 루프를 통해 각 고유 값의 최대값을 찾습니다.대신 이것을 시도해 보세요.
Col Max( :rn, :Y, :X )
편집하다
더 명확하게 하려면 :MaxValue의 수식을 다음과 같이 설정하세요.
Col Max( :rn, :Barcode )
Re: 루프를 통해 각 고유 값의 최대값을 찾습니다.여기에는 루프가 필요하지 않습니다. 당신은 무엇을 할 수 있습니다 @mmarchandTSI byvar와 함께 Col Max를 제안하고 사용하면 Summarize를 사용하여 최대값을 계산한 다음 이를 사용하여 새 열을 만들거나 요약 테이블을 만들고 최대값으로 테이블에 조인(또는 오히려 업데이트)할 수 있습니다. 또한 시작/끝 메시지는 다음과 같습니다.
dt << Begin Data Update;
dt << End Data Update;
Re: 루프를 통해 각 고유 값의 최대값을 찾습니다.@mmarchandTSI Col max는 :Barcode 열에서만 작동합니다. 문제는 일부 테이블에 바코드 열이 없다는 것입니다. 따라서 X 및 Y 좌표를 사용하여 최대 rn 값을 할당할 수 있는지 확인하려고 합니다.
Re: 루프를 통해 각 고유 값의 최대값을 찾습니다.하나 이상의 byvar를 추가할 수 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Maximum Value for Each Age and Sex Group",
Formula(Col Maximum(:height, :age, :sex))
);

콜 맥스()
Re: 루프를 통해 각 고유 값의 최대값을 찾습니다.맞습니다. 제가 게시한 첫 번째 공식은 다음과 같이 여러분이 하고 있는 작업에 적합할 것입니다. @jthi 암시했다.