Is it possible to create dynamic table or pivot based on list of available fields so user can select fields & create a table based on his requirement?
Yes you can use the Climber custom report.
take a look at http://branch.qlik.com/#!/project/57cd3f80cc816d99d6cbd4b6
You can go with Mashup. You can create your list of fields and measures.
Edit JS file based on your need. And you can create your ad-hoc portal.
The Visualization API
This is by default available in Qlik Sense.
Create the Master Dimension and Master Measures, this will be available to the end users.
Users can drag and drop to any visual or create a new visual to work on it.
Retrieving data ...