My Workspace
What is it: This is a personal workspace for you. No one can access it unless you share it.
Use case: Good for personal projects or just testing purposes. Can also be shared with other users (if you and they have a Pro license).
Do not use if: If you are developing a dashboard with a team, you should use a company workspace.
Why?: The issue comes when publishing. If you publish a dashboard to your own "My Workspace", other developers cannot publish to the same (your) "My Workspace". See below for my personal experience with this.
Workspace
What is it: These are company wide workspaces just like "My Workspace". Can be shared but everyone still needs a Pro license. Users can create their own reports and dashboards based on the datasets within the workspace. Read more here: https://docs.microsoft.com/en-us/power-bi/collaborate-share/service-new-workspaces
Use case: Should be used for publishing a dashboard where multiple users are accessing it. Consumers should be comfortable with the Power BI service user interface.
Do not use if: There may be cases where your dashboard exposes sensitive data which should only be seen by management. Because it's on a shared workspace, anyone can access it (unless you design the workspace for specific people which can be found hiding under the Advanced section).
Bonus: Can create dataflows with these workspaces. Dataflows cannot be created with your personal workspace.
Apps
What is it: Apps are a designated space for viewers of your reports and dashboard. This is the main mode of distribution for Power BI reports and dashboards. Apps offer a more simple UI without the complexities of an entire workspace. See more info here: https://docs.microsoft.com/en-us/power-bi/consumer/end-user-apps
Use case: Your users do not need to build their own reports. They only want to view the reports.
Do not use if: You expect your users to build their own reports based on the data.
My Personal Experience.
There once was a time where I developed a dashboard for my client and published it to "My Workspace". This dashboard was shared with multiple groups in the company, had RLS, the whole shebang.
This was okay for the time being because I was the only one managing it. However, the I eventually needed to pass this dashboard to another developer. Because it was published to My Workspace, they needed to recreate all of the shared connections on their end. If I had used a company workspace, the transition would have been much smoother.
Comentarios