There are several more use cases for a dataflow, but one that is very useful is the ability to share a dataset between apps. Previously we had to duplicate the dataset to each and every app that needed to use it, increasing the risk that one dataset was ignored, not refreshed properly or otherwise out of sync with reality. By using dataflows we can have several apps rely on the same dataflow (via a dataset), and thus it is quite possible to have a “master dataset”.
Here is one way to do it:
1. Create an app workspace to keep all your dataflows that you are planning on sharing to different app workspaces. This way you have things neatly ordered and you don’t have to go searching for the dataflow in several app workspaces.
2. Create a dataflow in said app workspace.
3. Create a new app workspace for your app.
4. Create a file using Power BI Desktop that connects to the dataflow from step 2 and create all the visualizations you need.
5. Publish this report to the app workspace from step 3.
6. Publish the app to your users.
7. Access the app from “Get Apps > My organization” as a user who has been granted access to the app in step 6.
The beauty of an app is that the dataset underneath has its own refresh cycle apart from the app. That means that the app itself doesn’t have to be refreshed or updated in order for the dataset to update. However – as there is no automatic refresh of a dataset on top of a dataflow, refresh schedules have to be set for both the dataflow AND the dataset. Failure to refresh either (or both!) can lead to some confusion. This all works in Pro as well as Premium.