Forum Discussion

helixabdu's avatar
helixabdu
Regular Visitor
8 years ago

one dashboard for multi users and multi databases of the same schema

hi :)

 

I have 9 databases with the same schema for 9 clients that all sign in my web applicaiton and every one see his data by a reports build by me in asp.net

 

Now after I see power BI I wonder if I can design just one dashboard for one of the databases then every user login will see his / here data on that dashboard?

 

9 Replies

  • v-jiascu-msft's avatar
    v-jiascu-msft
    Icon for Microsoft Employee rankMicrosoft Employee

    Hi helixabdu,

     

    It seems your scenario is App Owns Data. I don't think that is a good idea. 

    1. Since there is only one report (one dataset), there will be collisions when more than one customer login. For instance, Customer A logs in and asks to load data and then Customer B logs in and also do the same thing. Related API: power-bi/datasets/updatedatasources.

    2. Since there are 9 databases, the performance will be bad if the customer switches the database back to the customer's and reload all the data. 

     

    The workaround could be using one database and applying RLS. Please refer to power-bi/service-admin-rls.

     

    Best Regards,

    Dale

  • helixabdu's avatar
    helixabdu
    Regular Visitor

    Hi v-jiascu-msft

     

    Thanks for the clarification and the links.

     

    actually putting all data in one Databases can not be done for now and the number of databases may increases in the future.

     

    so can I create a Data-set for each Database, then when user connect I just connect the dashboard to that data-set to view his/here data?

    • GTheodorio's avatar
      GTheodorio
      New Member

      Just chiming in. How granular is the data that it can't be consolidated into one database? Also if it's very granular how about aggregating it? You're gonna have to do some sort of aggregation in power BI anyway. As the previous person said, you can then add in RLS to filter the data for specific users. It's probably even much more managebale and better architecture this way tbh.

    • v-jiascu-msft's avatar
      v-jiascu-msft
      Icon for Microsoft Employee rankMicrosoft Employee

      Hi helixabdu,

       

      Since one dashboard or one report won't help in your scenario, I would suggest you create one Dataset for each Database. Though we can bring all data into one Dataset in Power BI, it isn't convenient. For example, the performance will be good for small dataset. Refresh of Dataset could be faster.

       

      Best Regards,

      Dale

      • helixabdu's avatar
        helixabdu
        Regular Visitor

        Hi v-jiascu-msft

         

        I will be more clear this time may be I'm asking the wrong question :)

         

        we have an Accountant+Storage+POS all in one system that work off line on client desktop .. there are Items Table ,Bills Table ,Transactions Table , Accounts Table .. etc . we have about 6,000 client some of the clients need to see the reports on-line without going to there store or ask there employee to send them reports by email.

         

        so I start work with 9 of them on that I upload some of there data on my server then start display the reports for them by using some APIs and Javascrip reports .. all I do is change the database name in the connection string when a client log in to the website and all of them can share the same design of the reports and dashboard and display data of them.

         

        now I need to move to Power BI because adding new reports and designing them are much easy than using javascript with APIs

         

        so what is the possibles to achieve the same as I have with PowerBI

         

        Note:

        - some of my clients have data of more than one million recored for some tables.

        - Some of the reports can be filtered by the clients as they need by some filter controls I added like selecting a date [from] [to].