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
Level I

## 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
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
2 REPLIES 2
Highlighted
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
Highlighted
Level I

## 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.