Share your ideas for the JMP Scripting Unsession at Discovery Summit by September 17th. We hope to see you there!
Choose Language Hide Translation Bar
Highlighted

How do I compute a 24 hour rolling average

I need to compute a 24 hour rolling average for each individual subject. 

 

I have the following columns:

 

Subject ID

Time stamp

Milk yeild

 

Can anyone help direct me in the right direction?

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
txnelson
Super User

Re: How do I compute a 24 hour rolling average

Here is a simple script that creates your rolling average.  It creates a new column and uses a formula to generate the rolling average. Attached is a sample data table with the new column.  Please validate the calculations

Names Default To Here( 1 );
dt = Current Data Table();

dt << New Column( "Rolling Average",format("Percent",7,2),
	Formula(
		curTime = :Time stamp;
		curSubject = :Subject ID;
		Mean(
			:Milk yield[dt <<
			get rows where(
				:time stamp >= curTime - In Days( 1 ) & :time stamp
				 <= curTime & curSubject == Subject ID
			)]
		);
	)
);

 

Jim

View solution in original post

2 REPLIES 2
Highlighted
txnelson
Super User

Re: How do I compute a 24 hour rolling average

Here is a simple script that creates your rolling average.  It creates a new column and uses a formula to generate the rolling average. Attached is a sample data table with the new column.  Please validate the calculations

Names Default To Here( 1 );
dt = Current Data Table();

dt << New Column( "Rolling Average",format("Percent",7,2),
	Formula(
		curTime = :Time stamp;
		curSubject = :Subject ID;
		Mean(
			:Milk yield[dt <<
			get rows where(
				:time stamp >= curTime - In Days( 1 ) & :time stamp
				 <= curTime & curSubject == Subject ID
			)]
		);
	)
);

 

Jim

View solution in original post

Highlighted

Re: How do I compute a 24 hour rolling average

This worked great! Just what I was looking for. Thank you

Article Labels

    There are no labels assigned to this post.