Using Dataflows from Multiple Tenants in Power BI Desktop

Most people working for a single organization are unlikely to run into this use case, but if you’re a consultant like me then this issue will annoy you. In Power BI Desktop, authentication against data sources is handled separately from authentication in the Power BI service. This makes sense from an architectural perspective, but leads to a confusing and counter-intuitive user experience.

This means that even though you might be logged into Tenant A from the perspective of publishing into the service (i.e. the top right menu), you will not see Tenant A’s dataflows if you had previously authenticated against Tenant B’s dataflows. “Previously” extends to earlier work sessions in different files.

To resolve this, go to Home > Transform data > Data source settings:

Select Global permissions, pick Power BI dataflows, then Edit permissions. You’ll be able to “sign in as different user” using Tenant B’s credentials.

Go back to Home > Get Data > Power BI Dataflows, and you will now see Tenant B’s workspaces and dataflows. You can now resume doing actual productive work!

If you try to refresh a dataflow while you’re authenticated against another tenant, you’ll get a misleading message (“The key didn’t match any rows in the table”) that makes it sound like the dataflow is empty rather than correctly indicating you can’t retrieve it at all.

Between this and the fact Power BI Desktop doesn’t remember multiple accounts (unlike O365 desktop apps), it’s a bit of a hassle going back and forth between tenants, which I tend to do multiple times a day.

Related entries

9 thoughts on “Using Dataflows from Multiple Tenants in Power BI Desktop

  1. Garry Alweyn

    Hi Olivier, what kind of license do you have for yourself and what kind of license is required to access your client tenant workspace accounts?

    Do you need a Pro license yourself and another pro license in your name to access your clients data flows / datasets ?

    Currently, I have a pro account and get client to upload for me. They give me guest user administrator access for Power BI stuff.

    1. otravers Post author

      Hi Garry, what I do with most of my clients is have them set up a service account with Power BI admin rights and a Power BI Pro license, as well as access to other relevant Microsoft apps (typically SharePoint, Teams, Power Automate, some Azure services…). They give me this account’s credentials that they can continue to operate after I’m done, for these clients that I don’t maintain after development. I have my own Pro account for demos and tests and because I sometimes do client work from my own tenant.

    1. otravers Post author

      Yes, you’ll have to pay a separate license for each tenant you need a Power BI Pro user in. I tell my clients to set up a service account in their tenant (e.g. [email protected]) and assign a PBI Pro license to it (or PPU if needed), then share the credentials with me as long as I develop and/or maintain for them. If they want to take it fully in-house or hand over to another contractor, it’s easy and seamless for them to do so.

  2. HannaH

    Can I please check.
    Are you invited into their tenant?
    I have 5 tenants which my client use, and I need to generate reports across all these tenants, PowerBi is attached to one, and it seems I need to invite my other accounts into this PowerBi tenant? Is that correct?
    I can’t see a way to allow PowerBi to be multitenant 🙁
    They don’t like to cross accounts between tenants, they like everything hard-separated.

    Any thoughts please?

  3. Ago

    I’ve got a dataflow in one of my workspaces in my tenant A, I’d like to share it with my customer on his tenant B so he can develop a report autonomously. We both have PRO licence and he’s included as a b2b guest in my tenant. I’ve created a pbix with a query on my dataflows and sent it to him, when he trie to refresh it has an error. Is it possible to share externally my workflow to be read from power bi desktop? Thanks a lot!


Leave a Reply

Your email address will not be published. Required fields are marked *