Can this formula be completed in one step?I tried, but failed
Thanks Experts!
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;//??

Basic Data Analysis and ModelingWindowsRe: Can this formula be completed in one step?What is the formula supposed to do and is there a specific reason to try and force it to be a single step?
Re: Can this formula be completed in one step?Here is one way to do it
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() )], . )
);
)
);
Here is another way
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;
)
);Re: Can this formula be completed in one step?Thank Jim!
OK、
It's a formula I forgot and got in the community before.
Now think of it, it is OK:
:\</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;
Re: Can this formula be completed in one step?