Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago

Automate creation of multiple datasets to dynamically bind to Power BI Embedded Report in ISV app

Hi Everyone,

Scenario: We are currently deploying Power BI reports in customer based application (ISV) which has around 300 clients currently and will increase up to 4000+ in near future.

 

  1. The data is stored in Oracle database which consists of separate schemas for each client.
  2. We are using Direct Query mode as Client wants latest data.
  3. The views created in each Schema have same structure.

Issues that we are facing currently:
The report embedded in application should be dynamic for each client which means it should take data from particular schema  dedicated for the client. To achieve this we are using dynamic binding to bind same report to multiple datasets in our application. We are able to do this manually, but we need to create 300+ datasets (4000+ in future) for each report which is not feasible doing manually. Can you please help me in how to automate cloning of datasets?

 

Also if you could help with any other approach that would be helpful. 

 

P.S. We have tried with changing query parameters using Rest APIs but it is not working properly. We are getting same data in concurrent sessions of different clients.

Eric_Zhang I saw few of your replies on some posts which had similar issue but I could not understand it completely.

 

Do you have any suggestions what else can be done here?

 

Thanks,

Kanchan

6 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi  Anonymous ,

       

      We are using RLS in our embedded solution and that is working perfectly fine. The RLS is applied for each client as each client is a big company which will have thousands of users. So based on their user's role we are applying RLS there.

      BUT my problem is somewhat different, we have so many clients and each client has data stored in a different schema, we need to create a separate dataset for each client pointing to that schema. We are able to do that manually like creating Report A and connecting it to multiple datasets like Dataset A, Dataset B, Dataset C etc in our application.

      Now What we need to do is to create these datasets automatically using some script or something I don't know.

       

      I hope you got my problem statement now.

       

      Thanks,

      Kanchan

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    We are able to data binding as well. BUT we need some method to automate the creation of multiple datasets.

    Imagine creating 1000 datasets manuaaly to connect to a single report. So We want automation through which we can create these datasets automatically. I hope you got my issue now.

     

    Thanks,

    Kanchan

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Anonymous,

      Did these datasets host in the same workspace? If that is the case, you can try to use other rest APIs to loop and list all datasets stored in the group:

      Datasets - Get Datasets In Group - REST API (Power BI Power BI REST APIs) | Microsoft Docs

      After these steps, you can write a custom function to handle the results and extract/concatenated dataset keys as the specific formats and stored them into the report settings for dynamic binding.

      Regards,
      Xiaoxin Sheng