JMP가 맨 아래 행에서 시작하여 열 수식을 평가하도록하는 방법이 있습니까 (기본 맨 위 행과 반대로)?
첨부 된 이미지는 제가 만든 공식 예시입니다. "데이터"값이 누락되지 않는 한 각 행에 대해 "데이터"열의 값으로 채워집니다. 이 경우 "공식"열의 다음 값 (즉, 자체)으로 채워집니다. 이상적으로는 "수식"이라는 열에 현재 표시된 누락 된 값이 "7"로 채워지기를 원하지만 수식이 맨 위 행에서 시작하기 때문에 "수식"열의 다음 값이 누락 될 때까지 7 행에. 이 수식이 맨 아래 행에서 시작하여 위로 평가되면 Lag (: "formula",-1)은 누락 된 값을 반환하지 않습니다. 생각?
참고 : 열 수식 GUI에서 "적용"버튼을 계속 누르면 결국 "수식"열이 한 번에 하나씩 행 1-7에 대해 "7"을 채우지 만 실제로 더 이상 수행 할 수는 없습니다. 빈 데이터의 행 수를 모르는 복잡한 응용 프로그램입니다.
원하는 작업을 수행하는 두 가지 방법이 있습니다.

Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 12 ),
New Column( "data",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., ., ., ., ., ., 7, 8, 9, 10, 11] )
)
);
// Method one
dt << New Column( "Row", formula( Row() ) );
dt:Row << delete formula;
dt << sort( by( :Row ), order( descending ), replace table( 1 ) );
dt << New Column( "formula1",
formula( If( Is Missing( :data ), Lag( :data ), :Data ) )
);
dt:formula1 << delete formula;
dt << sort( by( :Row ), order( ascending ), replace table( 1 ) );
dt << delete columns( {Row} );
// Method two
dt << New Column( "formula2",
formula(
If( Row() == 1,
dMat = :data << get as matrix;
fMat = Matrix( Index( 1, N Rows( dMat ) ) );
fMat[0] = .;
fMat = fMat`;
For( i = N Rows( fMat ), i >= 1, i--,
If( Is Missing( dMat[i] ),
fMat[i] = dMat[i + 1],
fMat[i] = dMat[i]
)
);
);
fMat[Row()];
)
);