Hi @walk545 ,
Have a look at this solution. it is a bit low-tech but you should be able to get the result you want. just open the attached file and run the following script on it.
Names Default To Here( 1 );
dt = current data table ();
dt << New Column( "Row", formula( :Row() ), eval formula );
dt:row << delete formula;
dt << Sort( replace table,
By( :name, :Change Shirt Date, :Next change shirt date ),
Order( Ascending, Ascending, Ascending ),
);
for each row ( if (:shirt color == "na", :shirt color = lag (:shirt color, 1)) );
dt << sort (replace table, By (:Row), order (Ascending));
A similar issue was addresses in this post https://community.jmp.com/t5/Discussions/help-creating-a-column-that-is-a-cumulative-sum-based-on-ot...
let us know if this helps.
Ron