The POST, LAG, OFFSET function all take a value from a prior or future period and put it in the current period. So if you want to put a value in June based on a condition set in April, you need to test that condition in the prior period. I believe this will give you what you want:
IF PREVIOUS(PREVIOUS(Boolean)) THEN POST(Volume, 2, 0) ELSE 0
I'd like to correct some of the information I saw in this thread, even if you have figured out the issue, future contributors who read this will not be confused. "The POST, LAG, OFFSET function all take a value from a prior or future period and put it in the current period"
This is not accurate.
POST differs from LAG and OFFSET because it actually takes the value from the current period and put it in a future or prior period.
I consider POST as a PUSH while OFFSET and LAG are a PULL
I generally find the technical explanation of Anapedia confusing - until they provide an example. In the case of POST, I believe the first line of the description is wrong, best-case scenario it is very misleading POST (Anapedia) Returns the value in a line item from a future or previous period based on a positive or negative offset value.
It should be Returns the value in a line item TO a future or previous period based on a positive or negative offset value
I also believe that the formula
Einas "Give a Man a Fish, and You Feed Him for a Day. Teach a Man To Fish, and You Feed Him for a Lifetime"
Thanks Elinas for correcting my error, after I posted it I realized that was wrong but forgot to correct. I couldn't agree more with you that the documentation is confusing. To add to the confusion, when another line item is updated and it causes the re-evaluation of all line items, it makes it appear, to me at least, that the POST works differently than it actually does.