Power BI - reports embedded, row level security & refresh rate for customers - powerbi

My team plans to build a web platform which gathers data in a DB about different crypto transactions. I am planning to use Power BI to get that data from the db and build some reports which will be embedded into the web platform, reports which will be accessed by users who log in in the web platform.
Is this possible, taking into consideration the following aspects?
I want to apply row level security access so that users who log on the web platform will be able to see only data related to them?
Should I assign a Power BI Pro license to each user who registers the platform in order to be able to see the data or is there any other solution to this?
How often may I set-up data refreshes/updates? 30 minutes?
I am looking to apply row level security access and have users access the reports based on their web platfrom login credentials. Hopefully this is possible. I read something about Power BI Report for Customers using App Owns Data. Is this the right solution?

For the App Owns Data, you will be building a portal on top of an embedded capacity. I assume that you will be using an 'A' Sku.
I want to apply row level security access so that users who log on the
web platform will be able to see only data related to them?
Yes you can use RLS to control what users see what data, in an embedded context . (See here)
Should I assign a Power BI Pro license to each user who registers the
platform in order to be able to see the data or is there any other
solution to this?
No, you don't need a PBI Pro license for each user for your platform, this is handled by the capacity. You'll only need Pro for those who are developing the reports. Your other users, handled by your web portal will be 'read only'.
How often may I set-up data refreshes/updates? 30 minutes?
You can set up the report schedule as normal in the portal, up to 48 times per day with a capacity based Power BI Dataset.
I would take a look at the MS documentation here for more details on the what embedded can do, and also capacity planning for your users.

Related

Stop re-sharing of bi report from user end

I am a new user of power bi. I am currently using free account of power bi and used share to web feature to share my report publicly.
Using free account i want to share my report with multiple users while stopping my report consumers to re-share the report. If that is not possible using free account then is it possible to buy only one pro account and attain my objective defined above?
Buying multiple pro accounts for each individual is not possible as there would be many consumers of my report. Buying premium account is also not possible as it is too expensive.
The only way to share reports is from Pro User to Pro User, via Workspaces or direct sharing or App. In the sharing options for the report to the other users you can turn off the allow the recipients to share as well. Or you can allow workspace consumers to be read only.
Sharing using the 'Share to Web' function creates a publicly accessible URL, if anyone passes that URL to anyone else, they will be able to see it, and it is NOT secure, and you can't limit/restrict access.
For these use cases, the best solution is to embed the report in an (web) application. Start with Tutorial: Embed Power BI content into an application for your customers.

Options for sharing dashboards with sensitive information with PowerBI

I have a dashboard I've built using Power BI, that contains sensitive information. I want to share this dashboard with external users outside of my organization, that do not and will not have PowerBI.
From everything I've read, it appears I have a few options:
The external recipient of the dashboard would need to download Power BI Pro (from my understanding, they won't be able to view my dashboard with anything other than Power BI Pro?)
I somehow embed my dashboard in a Sharepoint which the external recipients have access to - but from what I've read, this seems likely to fail since they don't have Power BI.
I publish dashboard to the web, and have no way to password protect or restrict access.
Are these my only options? Am I correct in that anyone I wish to share the dashboard with needs Power BI Pro to view, or I need to publish it to the open web and let it be publicly available?
If this is the case.. this is just one more reason I am disenchanted by Power BI.
There are other options in addition to these you mentioned already (i.e. directly sharing through adding users to the workspace, embed in SharePoint and Publish to web).
Sharing (except Publish to web, which is public) require both the publisher and the consumer to have Power BI Pro licenses (which is not the case for you). Purchasing Power BI Premium (P SKUs only) will allow you to share reports with non-Pro (i.e. Power BI free users), but they still needs Power BI licenses (although free). Also this will costs you thousands per month and has annual commitment, which means you can't buy this for a month or two.
If this doesn't work for you, you can also:
Export these reports to PDF or PowerPoint and share the files with them.
If the report imports the data (see Dataset modes in the Power BI service), you can send them the .pbix file directly. It can be opened in Power BI Desktop even without having no Power BI account at all.
Publish the report to local instance of Power BI Report Server, where you can control who can access the report. You need either Power BI Premium (P SKUs) or SQL Server Enterprise with software assurance for that.
Embed the report using Power BI's API into custom written application, implementing app owns data scenario (see Tutorial: Embed Power BI content into an application for your customers and for example this answer).
To add to Andrey's answer, depending on the number of users you can use Azure AD B2B so you can have guest users access your Power Bi Reports and allocated work-spaces. However it depends on the number.
For example if you need to add 100 users, and you pay for the Power BI Pro licenses then it would be cheaper to design a basic portal and use the Power BI Embedded option and build you own basic web portal to embedded the reports in (The app owns data scenario). The basic A SKU's start around the same price as about 73 Pro licenses, or £570 per month. There will be extra cost in development of the portal and the running costs on top of the Embedded price
If your external end user is going to pay for the Pro license, then Azure AD B2B could work for you.
Hope that helps

Sharing a Power BI report as a Pro user with non pro users

I would like to share a Power BI report with users within my organization. I have a Power BI Pro account. The other users don't have one. Is this possible?
The users I am sharing with cannot open the report. It says they need to be in a Pro account.
Sharing is Pro feature. This means that the publisher and every consumer needs Power BI Pro license (except for Power BI Premium, when only the publisher needs to be licensed).
You have these options to share the report with non-licensed users:
Buy Premium
Deploy the reports to Power BI Reporting Server on-premise or use other reporting engine (e.g. SSRS)
Send them the .pbix files directly (e.g. by e-mail)
Export the report to file (e.g. PowerPoint) and share it
Use Publish to web - keep in mind that this makes them public and anyone with this link can see them (also there are some limitations, e.g. you can't do this for reports with RLS)
Embed within your application using app owns data scenario (see: Embed Power BI content into an application for your customers)
And of course, buy Power BI Pro licenses for your colleagues :)
If you are Office 365, and have Teams and/or SharePoint, you can use Power BI Embedded, to inset the reports into Teams and SharePoint. Users will be able to access the reports with out a Pro license. Depending on the number of users that will consume the reports you may save so money.
https://jlsql.blog/2018/01/30/power-bi-embedded-sku-differences-and-cost-breakdowns/
this gives an idea of the cost to capacity. As the capacity is limited int CPU and Ram you may need to schedule any data fresh so you don't hit the memory limits

How can we Export data from Web Published Reports

I have published an application that i did with power Bi, for some charts I want to make data downloadable for users.
I couldn't find any straight forward way to do that, some sites talk about implementing a script for that.
Is there any real way for published application that works?
One of the limitations of Publish to web is the inability to export data:
Reports using row level security.
Reports using any Live Connection data source, including Analysis Services Tabular hosted on-premises, Analysis Services Multidimensional, and Azure Analysis Services.
Reports shared to you directly or through an organizational content pack.
Reports in a group in which you are not an edit member.
"R" Visuals are not currently supported in Publish to web reports.
Exporting Data from visuals in a report, which has been published to the web
ArcGIS Maps for Power BI visuals.
Reports containing report-level DAX measures.
Single sign-on data query models.
Secure confidential or proprietary information.
The automatic authentication capability provided with the Embed option doesn't work with the Power BI JavaScript API. For the Power BI JavaScript API, use the user owns data approach to embedding. Learn more about user owns data.
Exporting data is possible, if you publish your report in Power BI Online and share it with your colleagues. But keep in mind, that even in this case it may not be possible or allowed, due to these limitations, e.g. if it has been disabled, or the user doesn't have enough permissions. In addition, it has limits on maximum columns, rows and data size.
The best option is to export the data directly from the data source, which is used to build this report.

SQL DB on AWS with Power BI Embedded

I need your help.
We have a plan to run "SQL DB and Web services" on AWS and need to publish the Power BI report by embedding to web service running on AWS.
Do you think it's possible scenario? IF yes, how can I achieve this?
You can't embed Power BI in a web service, so I will assume you want to embed it in a web application.
You need at least three components in such architecture - a place to store your data (assuming it will be in some kind of SQL Server), Power BI (assuming Power BI Service) and web application.
The database can be managed by your cloud provider (e.g. Amazon RDS) or "normal" instance running in a VM in the cloud. Of course, it could be something else (not SQL Server), or even be in a different cloud (e.g. Azure), or on-premise. The point is that you store your data there and use this as a data source for your reports.
The you need Power BI to create reports. Assuming that you will use Power BI Service (the online portal), you will design your reports in Power BI Desktop, getting data from your data source, and publishing these reports to Power BI Service. At this point you can view these reports in the portal using the browser. Power BI Service will render them using shared resources. For embedding and relatively heavy usage, you should buy a capacity. Think for capacities as resources (CPU, memory) dedicated only for you. They are not shared with other Power BI users. There are different licensing models and ways to buy a capacity. You can buy Power BI Premium or Azure SKUs. This FAQ tries to explain the differences, but in general A SKU means "pay what you use, stop at any moment, without any commitments", while EM SKU and P SKU are for bigger scale projects with monthly or yearly commitment. When you buy a capacity, you can assign it to a workspace containing your reports, and then they will be rendered using your own dedicated resources (which should give you better performance).
And the last part is your application (assuming web application, which you can host in Amazon Web Hosting or in VM), where you want to embed your reports. Generally speaking, there are two scenarios - "user own data" and "app own data". In the first, each of your users needs Azure AD account. Using this account, he will get access to the reports and data, as he has in the Power BI Service itself. In the second scenario, your app uses one "master" account to access the Power BI, thus your users doesn't need their own accounts in Azure AD. You can use your own authentication in your app. Embedding Power BI is quite large topic and your question isn't specific, so I will recommend to start with Embedding with Power BI article, take a look at Power BI Embedded Playground and review the samples.