I am trying to track the usage in my Power BI reports, the report Microsoft provides its kinda useful:
but I realized the data is wrong, since it doesn't track users accessing from Teams (and most of my users access through Teams):
How to solve this issue?
(My data source is a SSAS cube, so I was thinking of perhaps tracking somehow the access to the ssas instance?)
Related
I work for a small team of developers using Power BI Desktop to create reports for different customers. An increasing number want to pull data from Business Central. I'm also finding they don't want to create an account for me on their tenant but are happy to provide 'guest' access. My question is, when starting a new project for a customer, is my only option to remove all credentials for the Business Central connector and start again with the appropriate ones? Also, if I want to publish to the customer's tenant I cant seem to sign in as myself, so how do I do this? Uploading files directly is possible, but we like to use pbi datasets and then point other reports at these datasets. Trying to upload these files just results in an error.
Years ago I used a BI product called Hyperion Interactive Reporting. It allowed me to connect to a data source and create data models from which I would create reports. So far, sounds like Power BI right?
It also had the ability to connect to a metadata repository database. This database would contain data that mapped the actual, often cryptic, table and column names in the database to human-readable, business terms. For example a column that I saw in Hyperion as "Cost Center" may have been in the database as costCenter, work_order, or PROJECT-NUMBER. (It would also allow me to define the default join paths, but let's keep this question smaller.) This provided a way to make report development easier.
In Power BI, I see that I can manually rename columns, one-at-a-time. (And each time I touch something minor like this, Power BI takes several seconds to validate the entire file.) But I also see the need for many models that use the same data sources. So I may be defining the "Cost Center" column a few hundred times (a handful of reports per data set to answer a specific type of question, a few data sets that need Cost Center because the transformations in the model will be different for each type of question, several different combinations of data sources that include Cost Center, etc.)
Is there a way to connect Power BI to a metadata repository? Is there a way in Power BI to say, "Across all of my models/datasets, if I'm using the costCenter column from the Financial database, display Cost Center to the user"?
With about 20,000 columns in my data warehouse and 20,000 reports in my current reporting system, this could become a big deal if we intend to migrate to Power BI.
TLDR; There isn't an easy way to achieve this. What you have now is probably better than you could achieve without a ton of work. If you do try it, use SSAS instead of Power BI Desktop to author models.
Does Power BI have a metadata repository? No. There are tools that can get metadata from Power BI models, but you would have to manually build the metadata repository. If you want a centrally managed environment like this, I would highly recommend using SQL Server Analysis Services (SSAS) for on premise, or even better, Azure SSAS in the cloud. (Azure SSAS will get new features sooner than SSAS installed on premise.) While Power BI Desktop is a great self-service tool, I wouldn't author in it if I needed to control or report across the environment. There just aren't easy ways to corral all of the Power BI models in a report and it's a much more manual process. SSAS will need IT Support and is a higher cost and you will hit more issues than Power BI Desktop, but you will need it if you need central control. It's possible that more management controls will be added to the PowerBI.com service over time, but as of November 2021, you can't do this easily.
So what's the difference between Power BI Desktop and SSAS? The same Power BI engine in Power BI Desktop also exists in SSAS. When you start Power BI Desktop, it's actually starting a SSAS instance behind the scenes. Using SSAS directly just makes it easier for you to connect to the database behind the scenes and see all the models in the environment from one place, while Power BI Desktop doesn't let you peak behind the scenes and it only loads a single model at a time.
How do you get the metadata? It is an easy thing to get SSAS metadata using Power Query (or any SQL tool) to pull Direct Management View (DMV) data. DMVs are management tables that hold all of the metadata of the model, and you just use SQL commands to get the data. Search on "SSAS DMV" to learn more. I have a Excel file that uses Power Query to pull all the key DMV views for all our models in our servers. It makes it easy to do the kind of analysis as in your example.
For Power BI Desktop, you can connect to the hidden SSAS instance and do the same thing, but the report has to be open to do it, and there is no easy way to refresh the data--you pretty much just repeat the process each time. You will connect via localhost:port_number, and the port number is randomly created each time you start Power BI making it impossible to refresh the data pull. There are External Tools such as DAX Studio, Power BI Helper, and dataMarc's Document Model that make that easier, but there's no easy way to automate building the metadata repository for Power BI Desktop files. I would use SSAS directly rather than trying to automate building a large metadata repository.
What about making changes to models? To my knowledge, there aren't any tools that make it easy to make changes across models, though again, you could manually build them. I don't think I would trust my own tool to automate changes across models though. There's just too much that could go wrong. But if you had the need and the budget, you could build it. Look at tools like Tabular Editor, ALM Toolkit, and Microsoft's SSMS, and read on DevOps pipelines for automating updates. These tools work against SSAS and Power BI Desktop, but again, you have to open the Power BI files to work with those models, which makes automation that much harder to do.
Note that all the external tools I've mentioned except Tabular Editor v3 are free (though Tabular Editor v2 is free). PowerBI.tips is a great place to install all these tools from a single installer.
we are running Power BI on Premium Capacity, I have been trying to share my reports and dashboards with people outside the organization, with no luck. I need some solid instructions on how to share content with external users, with people outside the organization. There is nothing online that makes sense. Some articles say, as long as you have Premium you can just share with anyone. Testing this usually does not work too well. Other articles say I have to add them to my Azure AD, then share, but you need Premium. I thought the benefit of Premium is that you can share, with users that are external. We do many dashboards that need to be shared externally, Power BI is difficult to take seriously if it will not allow this functionality. Please help!
With Power BI Premium, yes you can share with anyone, it is focused on sharing with users in your own organisation/tenancy, as with Premium, you can allocate those users with Power BI Free licenses, so they act as 'Read Only' users. It saves the expense of allocating a Power BI Pro License to consume reports. For users external to your O365 tenancy, you can still share in a few ways.
Create a user for them in your active directory so they have to log in with a '#yourdomain.com' email address. They are allocated a Power BI Free license and can be allocated to the relevant workspace or app.
Add the external user as an guest to your domain. This way they can log into using their '#theirdomain.com' email address
With option 2 the guest user will have to use your tenancy id in the url, they can't just go to app.powerbi.com as they will be logging into their Power BI tenancy. It will be something like https://app.powerbi.com/home?ctid=1234f5f6-12f3-4567-8ab9-123a456bc78d
. With the guest user, you can allocate them a Power BI Free, or if they have one allocated to them in their domain you don't have to. (You don't have to have Power BI Premium to use this option, you can allocate them a Pro license if you wanted to, or they can bring their own.)
There is a third option under the licensing term of Power BI Premium, is that you can used Premium as a backend to your own website that hosts Power BI reports (App owns data), like you can do with Power BI Embedded. You have to build you own website that surfaces and handles reports access, so they don't log into Power BI directly, just your website that sits in top of it.
Is there still no way for Power BI Desktop to automatically refresh data without publishing pbix to Power BI Service? Due to threat of private information leakage, we want to maintain our data only via Power BI Desktop (not using Power BI Service first). We have been looking for ways on how to work around the automatic refresh in PBI Desktop for over a day already but all pointing us to publishing pbix to Power BI Service, which will allow us to schedule the refresh after. Any feedback will be much appreciated.
Thank you!
There is no supported way to do this. The easiest workaround is to teach your users to click on Refresh button. Second easiest thing could be to use DirectQuery instead of import mode.
There are some attempts for workarounds from the community, but you should use them with caution:
PBIXRefresher and pbixrefresher-python scripts by Michal Dúbravčík
Write some code that starts opens the .pbix file in Power BI Desktop, finds its PID, then finds the port on which the child Tabular process listen and use Tabular Object Model (TOM) to refresh it
Use Power Update (paid) tool
But leaving workarounds aside, Power BI is compliant with a lot of security standards. Data leaks of data from the cloud in most (all?) of the cases will be caused by a human factors, which is also possible with on-premise data. But if it is a no-go for your organisation, then either use Power BI Server on-premise, or another reporting tool (e.g. SSRS).
There is no way to automate the refresh in PowerBI desktop. You have to manually click the refresh button. Many organisations trust PowerBI Service with their data. However, in the case that you have some serious data residence restrictions, then you can deploy PowerBI Report Server on premises and publish to this without your data leaving your network.
Currently our client is using Crystal reports (11.x), integrated with the old .Net desktop application.
Looking to move towards better reporting solutions: Dashboards, reports with filters, drill downs, better export options & formatting with excel. Still print reports, needs better printing experience with reports
Client already has SQL license - SSRS reporting services fits most of the requirements, but they need better Dashboards. They like Power BI Dashboards.
Does Power BI can replace SSRS with reports + Dashboards or still need both to complement each other?
If your client absolutely requires printable paginated reports, you'll likely still want to complement Power BI with SSRS. I've also seen this as a pain point for some organizations, but in many cases I am able to work with a client to adopt Power BI as an alternative; one can make the case that paginated reports are not required when you have the ability to drill down and even export row-level data if desired.
In situations where all employees who need to consume the information have access to licensing and technology (even a tablet or phone will do), then you can potentially supplant SSRS/Crystal entirely with Power BI. Your biggest issues are going to be when reports are mass-printed to low-level employees in operational positions, particularly those who don't work on a computer.
This is definitely more of an expectations management conversation and working with the organization to distill down precisely what their requirements are. It can get political, and even if they don't really need paginated, printed reports, some users will insist on them.