We are a SaaS provider and would like to open up our data to clients through Power BI. Our solution is hosted in AWS with an RDS database and we plan to make the database available through a Power BI Gateway to RDS.
I am currently trying to work out a way to give my clients the ability to (a) design their own dashboard/reports and (b) embed these reports in our web app.
The plan is to embed reports into the webapp is by using the “Embed for your Organisation” approach where the users require a Power BI Pro account.
The key question I have is around managing the Gateway, data sources and data sets. Technically my company will host the Power BI GW in AWS and the idea was that we register the PowerBI GW in our account. Ideally we would then give client users access to either the data source itself or a data set based on it. However when trying to give access to a user of another organisation to either, then I get an error message saying “One or more users were not found within your organization.“.
I read about B2B Guest access but is pretty unclear to me and my first tests were not successful.
Can anyone point me to a reasonable architecture or approach for this?
Please note that for cost reasons, we want to avoid Power BI Premium and Capacities and cost is a constraint.
Related
Recently I have been trying to connect a Google BigQuery database in Power BI Desktop. even though I managed to configure this I am not getting my total databases. To be precise, my private databases. I need to know why is that and about what permissions/IAM role I need, to configure this.
Thanks for any help.
I tried to connect using GCP credentials(company credentials). What I want is, I want all the databases loaded to Power BI and I want to know about the permission details for submission purposes.
Context
I need to start sharing Power BI reports with other users (all users are Power BI Pro licenses).
Reports will be in live connection with an Analysis Services and my original data source are on-premise, therefore, I need to install a gateway to transfer data into the cloud.
Question
We already have a capable server for installing the gateway, therefore, my questions are:
Is it wise to install a Gateway VM on that server even though the server is used for other applications?
I don't have access to Power BI Admin Portal and it is tricky to get access to it since we are a very big company all over the world. Can I use an on premises data gateway without a Power BI Admin account? (While installing gateway just adding my account as admin)
I have a Power BI workbook that I have created in Desktop. It sources from a SQL Server database. I can access this database with account x. My Azure tenant admin has created a data source for this database in our gateway (within the Power BI service), and I have access to this gateway. The admin supplied account y in connecting to this data source. How does this work when I go to refresh the dataset that this workbook creates when I publish it to the service? That is, when I schedule a refresh on the dataset, will it dial into the SQL Server database using account y provided in the data source definition (virtually ignoring / dropping account x's credentials)?
Yep. That's exactly how it works. The automated refresh will use account 'Y.'
Data sources that have been deployed to some hosted location will almost always disregard the credentials used to create the dataset and instead use credentials that are specifically supplied for the refresh. These 'service' accounts will typically have different rules about password resets, have the lowest appropriate levels of access, and be under the prevue of system administrators rather than report authors. Its a very standard practice. It protects against misuse, error, loss of accounts, and segregates actual user activity from automated behaviors in the logs.
However, it is a little odd to me that your admin 'created the datasource' -- is that correct? Or did the admin just wire up the gateway to the datasource that was deployed when you published?
If you want to use a datasource that is already published, then you need to connect to that datasource from PowerBI desktop. Otherwise you'll be pushing out something new that has nothing to do with the resources that your admin created.
I've connected to an on premises SSAS data source with Power BI Desktop and could successfully publish to the web.
I would like to share the datasets themselves with users outside my organisation so that they can drag/drop the dimensions/measures and create reports and dashboards or reports that they would like to see.
From what I've read it's only possible to share preconfigured dashboards and reports with users outside my organisation. Could someone please tell me if it is possible to share the datasets themselves with users outside my organisation?
If you help the external company setup an On premises data gateway on a VM in your network and help them get it connected to your cube the the external users can publish the Power BI Desktop report to their Power BI tenant. Is there role based security in your cube that would apply to external users? If so you will need to setup an alternate UPN suffix and user accounts for the external users on your domain as described here. Or you could setup user mappings to use CustomData to pass their username in to your cube that way. With CustomData you change your SSAS roles to have only a service account as a member (not real users) then use the CustomData() MDX function in the dynamic security MDX expressions.
The whole scenario is described more fully here. Though I was talking about hosting in Azure with VMs joined to AAD Domain Services, you could so it with alternate UPN suffixes or CustomData in a regular Active Directory domain.
If your model is Tabular then Azure Analysis Services may greatly simplify the matter. If that's of interest let me know.
I have a PowerBI instance and a Postgres database on Heroku. In my search the PostgreSQL connectors for PowerBI all seem to be for desktop:
https://powerbi.microsoft.com/en-us/integrations/postgresql/
https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-data-sources/
Has anyone found a connector for the cloud PowerBI solution?
Thanks!
The data source "connectors" for Desktop and the service "connectors" for the cloud are different things.
If you build a report in Power BI Desktop that connects to a PostgreSQL database data source, you can publish that report to PowerBI.com (the cloud) and configure a gateway to allow scheduled refreshes directly from the cloud (i.e. once configured, you can pull data from your PostgreSQL database via the gateway into the report in the cloud on a schedule). It sounds like this is what you were looking to do.
More information about the on-premises gateway, including the list that shows that PostgreSQL can be used via the gateway for a scheduled refresh: https://powerbi.microsoft.com/en-us/documentation/powerbi-gateway-onprem/#list-of-available-data-source-types
You cannot, however, start building a blank report in the cloud and connect to an on-premises PostgreSQL database. When you start out from the cloud, you can only connect to a more limited set of cloud-based data sources (Azure and SSAS). In general, you almost always want to start building your Power BI report in Power BI Desktop and then publish it to the cloud.
The service connectors in Power BI are something entirely different. They provide a quick way to connect to other cloud-based services you may subscribe to and bring in your personal data for reporting. E.g. if you use Salesforce, the Power BI connector will connect directly to Salesforce for you. This is different to connecting to your own database directly. It's not your database you're connecting to, but your data that belongs to a 3rd party service that's already in the cloud. More information here: https://powerbi.microsoft.com/en-us/documentation/powerbi-content-packs-services/
I hope this helps clarify things.