열에서 조건이 있는 첫 번째 요소 찾기안녕하세요, 저는 그룹과 점수라는 2개의 열이 있는 데이터가 있고, "10000000000이 아닌 그룹별 첫 번째 점수를 반환하는 first라는 세 번째 열을 계산하려고 합니다. 따라서 이 샘플 데이터에서 그룹 a = 0, 그룹 b = 53. 그룹 c에는 10000000000만 포함되어 있으므로 아무것도 표시되지 않습니다.
누군가 jsl이 아닌 이 열에 대한 jmp 수식으로 나를 도울 수 있습니까? 정말 고맙습니다!
| 그룹 | 점수 | 첫 번째 |
| ㅏ | 10000000000 | 0 |
| ㅏ | 0 | 0 |
| ㅏ | 100 | 0 |
| ㅏ | 10000000000 | 0 |
| ㅏ | 8 | 0 |
| ㅏ | 10000000000 | 0 |
| ㅏ | 10000000000 | 0 |
| ㅏ | 10000000000 | 0 |
| 비 | 53 | 53 |
| 비 | 10000000000 | 53 |
| 비 | 1 | 53 |
| 씨 | 10000000000 | . |
| 씨 | 10000000000 | . |
| 씨 | 10000000000 | . |
해석학Re: 열에서 조건이 있는 첫 번째 요소를 찾습니다.다음은 문제를 해결하는 다른 접근 방식입니다.이 접근 방식은 스크립트입니다.이전의 단일 수식 열 접근 방식보다 더 효율적이어야 합니다.먼저 첫 번째 값을 찾아 새 테이블로 추출한 다음 업데이트 플랫폼을 사용하여 값을 원래 데이터 테이블로 다시 병합합니다.
names default to here(1);
dt=current data table();
// Create a column that finds the first values
dt<<NEW column=""></NEW>
Re: 열에서 조건이 있는 첫 번째 요소를 찾습니다.그것은 많은 행입니다. 이 수식은 메모리가 덜 필요할 수 있습니다. 첫 번째 값 ≠ 10000000000은 항상 10000000000보다 작다고 가정합니다.
If(Col Min(:score, :group) == 10000000000,
.,
Col Min(
:score[Col Min(Row(), :group, :score == 10000000000)],
:group
)
)
Re: 열에서 조건이 있는 첫 번째 요소를 찾습니다.고마워 짐! 귀하의 수식을 내 데이터에 직접 붙여넣고 다시 확인했습니다. 상위 ~7000개 행에서 작동했지만 그 이후에는 10000000이 아닌 첫 번째 숫자가 표시되지 않고 모두 "."입니다. 수식을 입력했을 때 수식은 오랫동안 실행되었으므로 jmp를 고정 해제하려면 esc를 눌러야 했습니다. 이것이 이런 일을 일으키는 것입니까? 나는 완전히 약 7000k 행을 가지고 있습니다.Re: 열에서 조건이 있는 첫 번째 요소를 찾습니다.수식의 화면 덤프에서는 열을 올바르게 참조하고 있는지 확인할 수 없습니다.즉, ":"을 열 이름 앞에 배치하지만 curgroup 및 value 앞에는 배치하지 않습니까?
어떤 오류 메시지가 나타납니까?
제대로 작동하지 않는다는 것은 무엇을 의미합니까?올바른 값을 얻지 못하거나 결과를 제공하지 않습니까?
데이터 테이블에 내 수식이 적용된 Jim의 수식이라는 열이 있는 샘플 데이터 테이블을 첨부했습니다.이렇게 하면 만들려고 하는 것과 비교하기 위해 공식의 작업 버전을 가질 수 있습니다.
Re: 열에서 조건이 있는 첫 번째 요소를 찾습니다.안녕 짐, 답변 주셔서 감사합니다. 수식에 붙여넣고 열 이름을 바꿔보았지만 정답이 나오지 않았습니다. 아래 스크린샷을 확인하도록 도와주시겠습니까? 고맙습니다.

Re: 열에서 조건이 있는 첫 번째 요소를 찾습니다.다음은 수식을 작성하는 한 가지 방법입니다.
curgroup = :group;
value = :score[Min(
Current Data Table() << get rows where(
:group == curgroup & :score != 10000000000
)
)];