시도했지만 실패했습니다
전문가님 감사합니다!
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
ca = "A";New Column( ca );
Column( ca ) << Formula( height / Lag( height, 5 ) > 1.1 );
dt << run formulas;
Column( ca ) << deleteFormula;
ca = "SumA";New Column( ca );
Column( ca ) << Formula( Sum( A[Index( Row() - 9, Row() )] ) );
dt << run formulas;
Column( ca ) << deleteFormula;
ca = "Sum1";New Column( ca );
Column( ca ) << Formula( Sum( height[Index( Row() - 9, Row() )] / height[Index( Row() - 9 - 5, Row() - 5 )] > 1.1 ) );
dt << run formulas;
Column( ca ) << deleteFormula;//??

공식은 무엇을 해야 하며, 이를 단일 단계로 만들려고 하는 특별한 이유가 있나요?
이를 수행하는 한 가지 방법이 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
ca = "A";
New Column( ca, set each value( :height / Lag( :height, 5 ) > 1.1 ) );
ca = "SumA";
New Column( ca, set each value( Sum( :A[Index( Row() - 9, Row() )] ) ) );
ca = "Sum1";
New Column( ca,
set each value(
As Constant(
a = [];
For( i = 1, i <= N Rows( Current Data Table() ), i++,
If( i > 5,
a = a || ((:height[i] / :height[i - 5]) > 1.1),
a = a || .
)
);
);
If( Row() > 5,
Sum( A[Index( Max(6,Row() - 9), Row() )], . )
);
)
);
여기 또 다른 방법이 있습니다
ca = "Sum1a";
New Column( ca,
set each value(
If( Row() <= 5,
val = .,
theRows = Index( Max( 6, Row() - 9 ), Row() );
val = .;
For Each( {calc}, theRows,
val = Sum( val, (:height[calc] / :height[calc - 5]) > 1.1 )
);
);
val;
)
);짐에게 감사드립니다!
좋아요,
이전에 커뮤니티에서 잊어버리고 얻은 공식입니다.
이제 생각해 보세요. 괜찮습니다.
:\</img>
ca = "Sum1";New Column( ca );
Column( ca ) << Formula( Sum( height[Index( Row() - 9, Row() )] :\</img> height[Index( Row() - 9 - 5, Row() - 5 )] > 1.1 ) );
dt << run formulas;
Column( ca ) << deleteFormula;