Ajay,
One of the things you could do as well is use something like TM1Connect. TM1Connect will allow you to publish TM1 views as if they were SQL tables. It has an ODBC connector as well. From PowerBI it just looks like an ordinary table, but TM1Connect allows you to incorporate dimensions, hierarchies, attributes as table columns.
The connection to TM1 is direct connect as well as cached, so you can pull data in real time or you can set it up so that it pulls on a periodic basis to ease the query burden on TM1. This is important because PowerBI and other products like Tableau and Qlik will run a series of queries against the same dataset to investigate the query metadata. If you don't have some level of caching, it puts a pretty heavy burden on TM1 to constantly pull views just so it can get the names of the columns or distinct values of a particular column, etc.
While it does require licensing, it does not require scripting. If you have a lot of different or changing data sources, you will find your scripting is costing you more than licensing.
Check out TM1Connect at
www.TM1Connect.com.Hope this helps!
------------------------------
Steven Garno
------------------------------