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.