try this:
make a variable: "v_runningsum_reset" as "=if isnull(period) then 1 else 0". Perhaps you must define it with a context like "=if isnull(period in ([Store])) then 1 else 0"
then change your definition to:
=RunningSum([V_PeriodNum];([Store], [v_runningsum_reset]))
= RunningSum([No.Of Weeks];([Store], [v_runningsum_reset]))
Aufter this change, the sum will be reseted for each store and the the changed status of filled / unfilled period
Hope that helps
Andreas