I have three fields in my data model: TIME_KEY, MONTH and YEAR. The three are numeric.
The higher the TIME_KEY, the more advanced in the time. In other words, the TIME_KEY X+1 is always after the TIME_KEY x.
I assumed the user only can choose one TIME_KEY :
Your expression =sum({<MONTH=, YEAR=, TIME_KEY={"<=$(TIME_KEY)"}> } VALUE)
You may also create a variable, for example:
vTime_Key = TIME_KEY
and sum({<MONTH=, YEAR=, TIME_KEY={"<=$(vTime_Key"}> } VALUE)
If you want to get a cumulative into your chart (or report) while using one of the three dimensions, you will have to use other methods: cumulative or rangesum/above functions .... or modify your data model to "store" the way to compute the cumulative you want.