refactor DataTabulator for better code reuse

2 commits:
* [x] first to refactor DataFormatter
* [x] second adds *post query filtering*