Connection to PowerBI is successful. Looks like the Connector creates an enterprise application with the relevant permissions upon clicking 'Save and Authorize'.
Problem is with the REST API requests, we are seeing the below error:
It is evident that the user is not licensed, but I am not sure how to get a license for this Enterprise application in PowerBI for things to work. This maybe a question to PowerBI than to Celigo! But, trying my luck here to see if anybody else has faced this.
Hi Vreddhi,
What is your goal with connecting to PowerBI through the connector?
Goal is to push data from Netsuite to PowerBI. Lets say creating a dashboard, and populating some tiles with data.
The reason I ask is that PowerBI API's are not set up to handle holding data directly within PowerBI. The PowerBI API's work for a scenario where you only want to hold a snapshot of data and are ok with replacing the previously synced data. This is because PowerBI only has API's for adding new rows and deleting all existing rows. This can also result in a broken reports that are dependent on that snapshot between the deleting the old data and inputting the new data.
A common solution to avoid this API and PowerBI limitation is to create a Celigo integrator flow that connects NetSuite to a data warehouse solution or SQL database(think Snowflake, Google Big Query, Azure, MS SQL, mySQL). Then you can build your PowerBI dashboards, reports and snapshots with the warehouse or SQL database as the source of data. This gives you a lot more flexibility in managing data and keeping historical data. The Celigo integrator flows can then have all the merge, delete, insert functionality with that warehouse and manage the frequency and content of the data being synced.
Something to think about before heading down the path of getting a Enterprise User license for PowerBI.
Maybe a naive question, but does the data in Netsuite persist? Why should we duplicate it with another middleware?
The data does persist in NetSuite. It's just a limitation of PowerBI not being able to accept and persist data through the API or connect directly to NetSuite as a data source. As you build out a PowerBI dashboard and report you need that persistent source of data and that is where the data warehouse acts as that data source for PowerBI. With the flows keeping that data source up to date with relevant data you would want to report on.
@vreddhibhat PowerBI has these 2 available api endpoints for datasets:
You'll notice, it's missing an update row endpoint. Because it's missing that, you can either
- always add rows, in which case you would have multiple rows of the same record id (which you could potentially query out when making your dashboard)
- or you can delete all rows, then add all rows again
Either of these options are viable, but they will both start to to be nonperformative with heavy volume, so it depends what type of data you are going to sync over. If you want to sync a simple saved search that summarizes data then either of those 2 routes would work well. If you are wanting to sync your entire transaction table, then you should go down the data warehouse route.