Hi, we are working with powerbi embedded, but have quite a hard time when onboarding a new customer or updating our pbix files. We already create new workspaces & upload pbix files programatic. We are working with import mode and importing csv files from a given external path, as we have achieved the best performance with this way.
Our current progress is, we´re having multiple master-pbix (each for every of our products), changing them when needed and then need to rollout to the different customer by hand. The Rollout progress is our problem at the moment, as it is not programatic it is very error prone and time consuming.
Current rollout process step-by-step - copy "product1_v5_master.pbix" file to "product1_v5_customer-name.pbix" - open "product1_v5_customer-name.pbix", changing variables to receive import-data from the correct customer path - refresh data & save changes - upload "product1_v5_customer-name.pbix" - repeat a ton of times
Our goal is to get rid of these steps and somehow automate this kind of rollout procedure. We´ve tried several ways, tricks & hacks but none is working currently. May be, we´ve missed some tricks that could help us, thats why i´ll describe our non successful tries below.
1. Use Import Mode & Direct Query in combination There is an API-Endpoint where you can change datasources, but only for Direct Query. Idea behind, store the customer paths in Database, access Database via Direct Query, change Database setttings via API Call to map to different customer paths. Well, it is not working as you can only use Direct Query OR Import Mode, not both in parallel.
2. Smart Importer with rollout switch Tried to trick the Importer that the customer-path param is empty in the beginning, if the customer-path variable is empty the importer should get the customer-path from somewhere we can access/modify automatic (http://whatever.com/customer_path.json) and store the data within the customer-path param.
On the second import (when customer-param is not empty anymore) the normal data import should be started. However, did receive a lot of cross linked errros within variables and functions, we did not get this working. Not sure if even possible, decided to stop research on that for now.
3. Work with external Config file The idea, store the customer download_path in an external file and upload this file, also to the same workspace as the pbix is uploaded to. By changing the external file we could rollout different customer.
Problem here, we´ve no clue how to reference to a file_path in the workspace?! Something like file_path "../costumer_config.xlsx" seem not to work. So, any way to access files uploaded within the same workspace? How to deal with them localy?
4. Use information about PBIX Name or Workspace Name Idea hereby is to gather information from current Workspace Name or current/self pbix name to map to a customer destination path. Something like "product1_v5_customer-name.pbix", where the final download path in the importer could look like https://anydomain.com/customer-name.csv
5. Extract PBIX file, change variables in file
We´ve played around quite for a while to extract the pbix file (.zip) and then lookup the download_path variable, changed them and try to get things modified this way. However, there are some validity / checksum checks, we did not get this running
6. Use PBIT Format
Can not be uploaded to workspace. It seems that PBIT only makes sense when working locally, but bring no advantages when working with powerbi service / embedding stuff.
Any help, insights, ideas, tricks are highly appreciated.