메모리의 배열 계산에서 직접 여러 열로 계산된 수식의 결과를 어떻게 얻을 수 있습니까?"Big Class.jmp"의 데이터와 공식을 사용한 계산 요구 사항은 다음과 같습니다.
열 "row6"을 추가하고 행 10에서 최대 6행까지의 최소 높이를 찾습니다.
열 "row7"을 추가하고 행 10부터 최대 7행까지 높이 열의 최소값을 찾습니다.
...
메모리 배열 방법을 사용하여 "row6" -- "row9"의 결과를 직접 찾는 방법은 무엇입니까?
감사해요!
dt=Open("$SAMPLE_DATA/Big Class.jmp");
dt<<NEW column="">9,min(height[Index(Row()-6,Row())])));dt<<RUN formulas="">9,min(height[Index(Row()-7,Row())])));dt<<RUN formulas="">9,min(height[Index(Row()-8,Row())])));dt<<RUN formulas="">9,min(height[Index(Row()-9,Row())])));dt<<RUN formulas=""></RUN></RUN></RUN></RUN></NEW>
스크립팅Re: 메모리의 배열 계산에서 직접 여러 열로 계산된 수식의 결과를 어떻게 얻을 수 있습니까?제 영어 읽기 능력이 제한되어 있기 때문에 참고용으로 기성품 예제만 사용할 수 있습니다.
답은 이 예에서 찾을 수 있습니다.행렬 값 바꾸기
감사합니다 전문가!
Re: 메모리의 배열 계산에서 직접 여러 열로 계산된 수식의 결과를 어떻게 얻을 수 있습니까?내 실제 계산은 다음과 같습니다.
1. 위의 요구 사항에 따라 최소값을 계산합니다.
2. 동일한 원리에 따라 최대값을 계산합니다.
삼. 범주 6, 7, 8 및 9의 최대값/최소값을 각각 입력합니다.
4. 네 가지 비율 중 최소값을 선택합니다.
각 행의 최소 비율을 테이블에 출력합니다. 다른 중간 데이터는 출력하지 않습니다.

Excel의 VBA에 코드를 작성했습니다.
Sub vba()
ar = Range("d2:d" & Cells(Rows.Count, "d").End(3).Row)
ReDim br(1 To UBound(ar), 1 To 8): ReDim cr(1 To UBound(ar), 1 To 1)
For r = 10 To UBound(ar)
n = 99: m = 0
For c = 0 To 8
If ar(r - c, 1) < n Then n = ar(r - c, 1)
If ar(r - c, 1) > m Then m = ar(r - c, 1)
If c > 4 Then br(r, c - 4) = n: br(r, c) = m
Next
Next
Cells(2, "G").Resize(UBound(br), UBound(br, 2)) = br
For r = 10 To UBound(ar)
For c = 1 To 4
If c = 1 Then
cr(r, 1) = br(r, c + 4) / br(r, c)
Else
If br(r, c + 4) / br(r, c) < cr(r, 1) Then cr(r, 1) = br(r, c + 4) / br(r, c)
End If
Next
Next
Cells(2, "f").Resize(UBound(br), 1) = cr
End Sub
이 VBA를 JSL로 어떻게 변경합니까?
감사해요!
Re: 메모리의 배열 계산에서 직접 여러 열로 계산된 수식의 결과를 어떻게 얻을 수 있습니까?고마워요!
이 방법은 전체 메모리 배열 작업이 아닌 것 같습니다.
Re: 메모리의 배열 계산에서 직접 여러 열로 계산된 수식의 결과를 어떻게 얻을 수 있습니까?Names Default To Here( 1 );
dt = current data table();
theHeight = dt:height << get values;
row6=shape([.],40);
row7=shape([.],40);
row8=shape([.],40);
row9=shape([.],40);
row10=shape([.],40);
For(i=11,i<=N Rows(theHeight),i++,
row6[i]=Min(theHeight[i-6::i]);
row7[i]=Min(theHeight[i-7::i]);
row8[i]=Min(theHeight[i-8::i]);
row9[i]=Min(theHeight[i-9::i]);
row10[i]=Min(theHeight[i-10::i]);
);
이러한 문제를 직접 해결할 수 있도록 스크립팅 가이드를 읽어야 합니다.
Re: 메모리의 배열 계산에서 직접 여러 열로 계산된 수식의 결과를 어떻게 얻을 수 있습니까?내가 올바르게 이해했다면 수식을 사용하지 않고 배열에 직접 행 6에서 행 9까지의 결과를 얻고 싶습니까?
아래는 행 6에 대한 공식과 목록 및 동일한 계산이 있는 For Each Row를 사용하는 행 6의 예입니다.
Names Default To Here(1);
dt=Open("$SAMPLE_DATA/Big Class.jmp");
dt<<NEW column="">9,
min(height[Index(Row()-6,Row())])
)
);
);
dt<<RUN formulas="">9,
min(:height[Index(Row()-6,Row())])
)
)
);
show(row6_list);
dt << new column("row6_l", << set values(row6_list));</RUN></NEW>