BookmarkSubscribe
Choose Language Hide Translation Bar
Highlighted
akash_nigam_gma
Community Trekker

Operating on selected rows

Hello Everyone,

Is it possible for me to operate a function on selected rows without using the FOR loop.

For example

k = dt<< Get Rows Where (pt:Parameter = ot:Parameter);

For (i=1,i<= Nrow(k),i++,

pt:value[k] = pt:value[k]/5;   // I want the value of selected rows only to be divided by 5.

);


Is it possible for me to rewrite the code without using simple JMP function for it ? I dont like using too many for loops.


Thanks in advance!


regards,

Akash

0 Kudos
6 REPLIES 6
ian_jmp
Staff

Re: Operating on selected rows

NamesDefaultToHere(1);

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

Wait(3);

k = dt << getRowsWhere(:sex == "M");

h = Column(dt, "height") << getValues;

h[k] = h[k]*0.5;

Column(dt, "height") << setValues(h);

anders_bankefor
Community Trekker

Re: Operating on selected rows

Hi Ian,

what does "Wait(3);" do in this context?

BR

Anders

0 Kudos
ian_jmp
Staff

Re: Operating on selected rows

It causes JMP to pause for 3 seconds, and I inserted it so that you could see what's happening (run the code and look at the column called 'sex'). You can remove it of course.

ms
Super User ms
Super User

Re: Operating on selected rows

Or try the "Divide To" assignment:

dt:height[k] /= 5

David_Burnham
Super User

Re: Operating on selected rows

Just curious, why don't you like using loops?

-Dave
0 Kudos
akash_nigam_gma
Community Trekker

Re: Operating on selected rows

Thanks for replies.

Just that i deal with huge amounts of data and running loops for every action increase the processing time. I hope inbuilt functions/operators will be more optimized than me writing loops.

0 Kudos