BookmarkSubscribe
Choose Language Hide Translation Bar

Can this two-step formula be calculated in one step?

dt = Open( "\$SAMPLE_DATA/Big Class.jmp" );

Big Class.jmp, for example
Increase column :B =: weight /: height
Increase the number of columns :C to count the number of columns :B starting from the same row up to >1.9 in the first 5 rows, and calculate the range of 6 rows at a time.
Is there a formula that can do this calculation quickly?

I tried to write the formula in the lower left corner of the graph, but it's not correct.

Thanks! 3 ACCEPTED SOLUTIONS

Accepted Solutions

Re: Can this two-step formula be calculated in one step?

This matches for me.

x = Index( Row() - 5, Row() );
// you have to do element wise divide :/
Sum( :weight[x] :/ :height[x] > 1.9 );

Vince Faller - Predictum

Re: Can this two-step formula be calculated in one step?

Try this formula:

Sum(:weight[Row() - 4 :: Row()] :* (:height[Row() - 4 :: Row()] > 60));

Re: Can this two-step formula be calculated in one step?

And jmp's [Index(Row()-1,Row()-1)] like excel's INDIRECT()
12 REPLIES 12

Re: Can this two-step formula be calculated in one step?

This matches for me.

x = Index( Row() - 5, Row() );
// you have to do element wise divide :/
Sum( :weight[x] :/ :height[x] > 1.9 );

Vince Faller - Predictum

Re: Can this two-step formula be calculated in one step?

Thank for vince_faller's help!

Re: Can this two-step formula be calculated in one step?

@vince_faller wrote:

This matches for me.

x = Index( Row() - 5, Row() );
// you have to do element wise divide :/
Sum( :weight[x] :/ :height[x] > 1.9 );

Taking file Big Class.jmp as an example, I would like to ask another question, which is how to replace the original two-step formula with one-step calculation:

I'm going to simplify the data first: I'm going to add 100 that rows are 8 multiples of the "height" (in the red box).

Increasing "tem" = = if (: weight > : height, 1, 0)
Increase the column 2 "ongoing", computation requirement is: how to "tem" column no 0, will "tem" list of all the various numerical accumulated;If "tem" column ==0, "ongoing" column this line has a value of 0, the following from the "tem" columns from the line began to cumulative sum.

Thanks for your time. Re: Can this two-step formula be calculated in one step?

I tried to write the formula for tt column, but the parameter c cannot be updated, so the result is incorrect.

Re: Can this two-step formula be calculated in one step?

correct

c=1;
If( :weight < :height,
c = Row();

:tt = 0; ,
Sum( :weight[Index( c, Row() )] :/ :height[Index( c, Row() )] > 1 );
);

Re: Can this two-step formula be calculated in one step?

I see :

if(row()==1,

c=1;

Sum( :weight[Index( c, Row() )] :/ :height[Index( c, Row() )] > 1 ),

If( :weight < :height,
c = Row();
:tt = 0;
,
Sum( :weight[Index( c, Row() )] :/ :height[Index( c, Row() )] > 1 );
)

);

Re: Can this two-step formula be calculated in one step?

Continue to ask similar questions and find no answer in the community:
figure out the total : weight of :height> 60 of the from this row to the top 4 rows.

thank you! Re: Can this two-step formula be calculated in one step?

Try this formula:

Sum(:weight[Row() - 4 :: Row()] :* (:height[Row() - 4 :: Row()] > 60));

Re: Can this two-step formula be calculated in one step?

I see.
That like excel's =SUMPRODUCT(()*())

Thank ms!