I am connected to Tabular Model via Live Mode in Power BI. Is there a way I can change from Live Mode to Import Mode. I remember in older versions of Power BI at bottom right corner we used to have the flexibility to change it from Live to Import Mode, however I don't see that anymore in the latest versions.
Switching from Live connection to Import mode currently is not supported. You can vote for this idea, if you want to. You should create a new report and copy/paste as much as possible from your existing report.
I believe once you create a power bi file with a live connection to SSAS, you cannot change the storage mode to Import. I found the following question and answer on Microsoft documentation, not the exact question but similar. Basically says you cannot mix or change storage modes for SSAS live connection.
Question: If I created a live connection, can I connect to another data source in the same Power BI Desktop file?
Answer: No. You can't explore live data and connect to another type of data source in the same file. If you’ve already imported data or connected to a different data source in a Power BI Desktop file, you need to create a new file to explore live.
Reference: Connect to Analysis Services tabular data in Power BI Desktop
Related
I have a Power BI report and it allows me to get data using the import mode, direct query mode, live connect (to dataset) mode.
Also the recent feature allows me to convert the live connect mode to direct query mode so that I can combine live connect dataset with more data sources.
My goal is to connect my report to 2 live datasets in direct query mode. However, I am only able to connect to 1 live dataset in direct query mode and then get data from additional sources. Is connecting to 2 live datasets not supported?
Link: https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-composite-models#use-composite-models
When you use DirectQuery, composite models make it possible to create
a Power BI model, such as a single .pbix Power BI Desktop file, that
does either or both of the following actions:
Combines data from one or more DirectQuery sources. Combines data from
DirectQuery sources and import data.
Step 1: Ensure settings are correct. It is currently a preview feature to enable DQ for PBI datasets and AS:
Step 2: Add a new source, choose Power BI Dataset.
Step 3: Add another source, this will pop up. Choose to add a local model:
After another data set has been added, the storage mode is still DQ:
This was done on Version: 2.110.1161.0 64-bit
I have developed a Power BI report using Power BI Desktop, pointing to a private on premise development database as the datasource so that I was able to develop and test it easily. Then, I published it from my Power BI Desktop pbix to the work area of my customer.
As a result, the work area contains the published report and the dataset. Later, my customer has changed the dataset so that it now points to the correct on premise production database of their own. It works perfectly.
Now, I want to publish a new report for my customer using the previously published and reconfigured dataset. The problem is that I can't see any option in Power BI Desktop to have the report point to the published dataset, nor I can't see any option to avoid creating a new dataset each time I publish a report, nor any way to reconfigure from the web portal the new published report to point to the same dataset as the first one.
Is there any way to do this or any work around for this scenario? I think the most reasonable solution would be to be able to change the dataset of any report, so that the datasets of any report could be interchangeable.
Update:
I had already used connection specific parameters, but I'm not given rights to change the published dataset, so thats a dead end.
Another thing I have come up to is that in Power BI Desktop you cannot change the connection parameters values to those of production enviroment and publish the report if you can't access the target database from your computer, because PowerBI Desktop ask you to apply changes first, and when it tries to apply the values it tries to connect to the corresponding database and, obviously, ends with a network related error or timeout error trying to connect to the database server, therefore cancelling changes and returning to the starting point.
It's always a good practice to use connection specific parameters to define the data source. This means that you do not enter server name directly, but specify it indirectly using a parameter. The same for the database name, if applicable.
If you are about to make a new report, cancel Get data dialog, define parameters as described bellow, and then in Get data specify the datasource using these parameters:
To modify an existing report, open Power Query Editor by clicking Edit Queries and in Manage Parameters define two new text parameters, lets name them ServerName and DatabaseName:
Set their current values to point to one of your data sources, e.g. SQLSERVER2016 and AdventureWorks2016. Then right click your query in the report and open Advanced Editor. Find the server name and database name in the M code:
and replace them with the parameters defined above, so the M code will look like this:
Now you can close and apply changes and your report should work as before. But now when you want to change the data source, do it using Edit Parameters:
and change the server and/or database name to point to the other data source, that you want to use for your report:
After changing parameter values, Power BI Desktop will ask you to apply the changes and reload the data from the new data source. To change the parameter values (i.e. the data source) of a report published in Power BI Service, go to dataset's settings and enter new server and/or database name:
If the server is on-premise, check the Gateway connection too, to make sure that it is configured properly to use the right gateway. You may also want to check the available gateways in Manage gateways:
After changing the data source, refresh your dataset to get the data from the new data source. With Power BI Pro account you can do this 8 times per 24 hours, while if the dataset is in a dedicated capacity, this limit is raised to 48 times per 24 hours.
This is a easy way to make your reports "switchable", e.g. for switching one report from DEV or QA to PROD environment, or as part of your disaster recovery plan, to automate switching all reports in some workgroup to another DR server. In your case, this will allow you (or your customers) to easily switch the datasource of the report.
I think the only correct answer is that it cannot be done, at least at this moment.
The most closest way of achieving this is with Live connections:
https://learn.microsoft.com/en-us/power-bi/desktop-report-lifecycle-datasets
But if you have already designed your report without using the Live connection but your own development enviroment and corresponding connection parameters then you are lost, your only chance is redo all your report with the Live Connection, or the queerest one solution, to use an alias in your configuration matching the name of the database server and the same database name that in the target production environment.
I have a dash made with Power BI, but I'm using Linux now and can't use it. I'd like to start using Data Studio, but I need to use the dashes I've already created with Power BI.
You can use your PowerBI dash from Linux, you just need to publish the dash to the PowerBI service after which you access it through a modern browser (e.g. Chrome). See the docs here.
In terms of getting your data out of PowerBI Desktop (thick client), there is no automated way. The best you can to is to create a PowerBI dash with a table visual and then include all relevant columns and rows to export in the table. Use the PowerBI export data feature to dump out to Excel. The same technique works in PowerBI service (the web version after you hace published). See the docs here.
If you want to try get to your PowerBI service (published data) from an API, that is not possible in any general format. The only option comes with the Premium version of PowerBI where you can connect to an XMLA endpoint to access the data. Typically organisations do their data wrangling in a tool before passing the data on to PowerBI To avoid the lack of open connectivity (to the processed data in PowerBI).
So, currently I'm having difficulty understanding how Power BI Embedded can be setup so that each customer can access data from their own separate Azure Analysis Service, this is an App Owns Data situation. Analysis Services will be running in In-Memory mode and it will be accessed from Power BI via Live Connect.
Ideally I would like the Power BI Report to be ignorant of the data set/data source until the embedded report is provided with a parameter (e.g. connection string) which the report interprets so that it knows which server to connect to. So, ideally have: one Workspace, one Report, and zero (or a fake) Dataset.
The following is roughly what I'm looking to do (note the Red and Blue flow access a different server):
It looks like if I created both a Report and Dataset per customer I can achieve my goal but this seems like a poor approach since if the Report needs to be updated this involves updating, potentially, hundreds of reports. Also creating hundreds of Reports seems like unnecessary overhead when all Power BI needs to change for each request is the connection string pointing to the data source.
So is it possible to share the Workspace and Report across all customers but having completely separate data sources? Or is my approach in conflict with the way Power BI expects to function?
To date, I've tried using Query Parameters when configuring the data source in Power BI Desktop but I get the following error:
The connect live option for this file is disabled because it already contains data from another data source. You cannot explore live data and connect to another type of data source in the same file.
Please note,
Every report in Power BI can be connected to only one Dataset.
There is NO ability to dynamically change a connection string on the fly.
Currently, and in the foreseeable future, you'd have to clone the report & dataset per customer (or per connection setup) and modify the new dataset's connection string to match.
You can then dynamically choose which report to display based on your customer's needs.
Cloning a report can be done using:
POST https://api.powerbi.com/v1.0/myorg/reports/{report_id}/Clone
POST https://api.powerbi.com/v1.0/myorg/groups/{group_id}/reports/{report_id}/Clone
https://msdn.microsoft.com/en-us/library/mt784674.aspx
Changing the connection string would be done using:
POST https://api.powerbi.com/v1.0/myorg/datasets/{dataset_id}/Default.SetAllConnections
(similar API for groups)
https://msdn.microsoft.com/en-us/library/mt748181.aspx
using the C#.NET library provided by Power BI team, you'd use
Reports.CloneReport(string reportKey, CloneReportRequest requestParameters)
Datasets.SetAllDatasetConnections(string datasetKey, ConnectionDetails parameters)
I have a report (.pbix file) successfully deployed to Power BI Report Server and I want to connect it to a Shared Data Source I've created (as I always do when I deploy SSRS reports) independently, but I do not see any possibility to do that...
It seems like there is only option to use embedded data sources and configure them all separately for Power BI reports.
Is it true or I just haven't figure it out?
Data Source
Report
Unfortunately, no, it is not possible to connect a Power BI report to a shared data source like you're hoping. I had the same hopes, but I guess Microsoft hasn't gotten there yet.
See: https://community.powerbi.com/t5/Desktop/Shared-data-Source/m-p/175620/highlight/true#M76987
Although it is fairly straight forward with Power BI Service (PowerBI.com), it is not the case with Power BI Report Server, running on premise.
There is a feature request that remains 'declined' so far, on the Power BI Idea site.
This link should be helpful.
Shared data source connection (live to Tabular SSAS) for reports published on Power BI Report Server