Another approach would be an AsOf table that connects the current period to all previous periods. You might want something like that if you're going to allow pivoting. The other answer would be to turn off pivoting so the user can't mess up the above() function.