Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hello Power BI family,
I try to post a question here but I'm not sure if a solution exists.
I'm trying to design a complex architecture for a customer this are the requirements:
- there're 2 parts in this scenario my customer (we call it A) and his customer (we call it B)
- A has his own Power BI tenant with reports and dashboard
- B has his own power bi tenant with a Power BI dataset refreshed on a daily basis
- A wants to connect to the dataset in B's tenant to build a report (live connection would be ideal)
- A will publish report on his own Power BI tenant
My first hypothesis is to leverage B2B access asking B to add A as a Guest User (Distribute Power BI content to external guest users using Azure Active Directory B2B - Power BI) with allow modify (https://docs.microsoft.com/en-us/power-bi/admin/service-admin-portal#allow-external-guest-users-to-e...) 2 problems here:
- No PBI desktop support, reports can be created and managed only on B tenant trough Power BI portal
- No possibility to publish report on A tenant (I think)
Second hypothesis enable XMLA endpoint on B tenant and use Analysis Services connector.
If I ask B to create an account on their tenant to connect the Power BI dataset, A should be able to connect to the cube and to create the reports using Power BI desktop. The target tenant for publish would be A because Power BI desktop will be logged to A one.
Problem here: As soon as report is published on A's tenant the credentials passed trough Analysis Service with Live Connection will be the one used by A and therefore rejected by B's tenant.
I don't know if having the user consuming the report as a Guest with modify on B tenant could solve.
What do think guys about this scenario? Am I missing some alternatives?
I'm thinking also to find a way to dump data out of the dataset (ADLS maybe?) and import back in a newer dataset on A side but it's definitely the last choice.
thank you,
rik
Solved! Go to Solution.
Hi @Rik91
The datasets and workspaces allowed published are had linked to the currently signed in user. Therefore, you can't directly connect the datasets of another tenant. Dataflow is different from it. No matter what user is currently logged in, the cached credentials will be used. Compare to your other workarounds, dataflow is more feasible. For more details, you can refer Connect to Power BI dataflows and datasets using Power BI Desktop with multiple accounts.
Best Regards
Caiyun Zheng
Is that the answer you're looking for? If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Rik91
Yes, we can't directly connect to datasets of other tenant. Dataflow is the best choice. You can refer this official Configuring dataflow storage to use Azure Data Lake Gen2 and it may help you.
Best Regards
Caiyun Zheng
Is that the answer you're looking for? If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
I got in contact directly with Microsoft trough a colleague of mine that's MVP and they confirmed that using a dataset from a different tenant is simply unsupported. I think dataflows could be a good workaround to extract data from tenant B and moving them to tenant A maybe using an organizational Azure Data Lake Storage in order to move them where needed using something like ADF.
Hi @Rik91
The datasets and workspaces allowed published are had linked to the currently signed in user. Therefore, you can't directly connect the datasets of another tenant. Dataflow is different from it. No matter what user is currently logged in, the cached credentials will be used. Compare to your other workarounds, dataflow is more feasible. For more details, you can refer Connect to Power BI dataflows and datasets using Power BI Desktop with multiple accounts.
Best Regards
Caiyun Zheng
Is that the answer you're looking for? If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
I believe we can acheive this with Dataflows. Haven't tried it tho, just a thought!
Dataflows allows you to use someone else credentials while connecting in Power BI Desktop.
Source: Configure and consume a dataflow - Power BI | Microsoft Docs
By leveraging this, may be we can acheive your requirement!
Did you find my answer helpful? Please accept this as solution!
thanks @_sfrost for the answer but it doesn't cover my scenario because using dataflows I would have to connect to all datasources in Tenant B from Tenant A and building a new model. the aim is to fully reuse the existing one on tenat B.
Another option I have could be Power BI Embedded solution. One custom App that encapsulate power bi embedded on tenant A and on tenant B. May it work?
You should be able to apply all kind of transformations on the Service itself, while creating the dataflow. You can simply connect to it from Desktop and build the report. Unless you are using any transformations that are not supported in Power Query Online.
I'm afraid I am not sure about the embedded approach! May be someone else can answer.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.