Forum Discussion
Advantages of using DataFlows compared to DataSets
- 2 years ago
Hello! When you connect to a published dataset, this is a live connection. One advantage of a dataflow over a dataset is that you can define different refresh schedules for different tables. For example, I once had a very large table where the data only changed once a quarter - if I have a dataset and publish to service, everytime the dataset refreshes, it refreshes all the tables. In Dataflows, I can specify that the table that only gets fresh data once a quarter doesn't get refreshed every day like the transactional fact table would.
Additionally, you can create many tables in a dataflow and expose them to be used by others so they can connect back to it with build access and bring in the tables they need and make joins they need. If you had the same tables in a dataset, a person can connect to the dataset as a whole. For example, I have a date table loaded into a dataflow and then anytime I need it, I bring it into my model from the dataflow, so it gets used when and where it is needed.
- 2 years ago
The distinction between "import" and "live" connections can sometimes be a bit nuanced in Power BI, and it's essential to understand how they work in different contexts.
Import Connection: When you connect to a DataFlow or dataset and perform data transformations using Power Query in Power BI Desktop, it is indeed an "import" connection. In this scenario, you are importing the data into the Power BI file, and any changes made to the data (e.g., data cleansing, modeling) are stored within the Power BI file itself. This approach allows you to work with the data offline and apply extensive transformations using Power Query.
Live Connection: In the case of connecting to a published dataset, it is typically a "live" connection. This means that Power BI Desktop sends queries to the dataset in the Power BI service, and the data transformations are performed in the service. You cannot access Power Query transformations because they are not available in this context. Changes to the data source are immediately reflected in your report, but you don't have the same flexibility for data shaping as you do with an import connection.
The terminology can be a bit confusing because, in both cases, you are "connecting" to the data, but the key distinction is whether you are importing the data into your Power BI Desktop file (import) or directly querying it from the service (live).
Regarding your question about whether connecting to a DataFlow should be considered an "import" connection, you are correct. When you connect to a DataFlow from Power BI Desktop, it is essentially importing the data into your report, and you can perform further transformations using Power Query. The ability to use Power Query for data transformation makes it more similar to an "import" connection in terms of data preparation flexibility.
So, to clarify:
- Connecting to a DataFlow: Import connection (with Power Query capabilities).
- Connecting to a published dataset: Live connection (limited data transformation capabilities in Power BI Desktop).
Your choice between these connections depends on your data transformation needs and whether you require the ability to perform extensive data shaping in Power Query during the report development phase.
Hello! When you connect to a published dataset, this is a live connection. One advantage of a dataflow over a dataset is that you can define different refresh schedules for different tables. For example, I once had a very large table where the data only changed once a quarter - if I have a dataset and publish to service, everytime the dataset refreshes, it refreshes all the tables. In Dataflows, I can specify that the table that only gets fresh data once a quarter doesn't get refreshed every day like the transactional fact table would.
Additionally, you can create many tables in a dataflow and expose them to be used by others so they can connect back to it with build access and bring in the tables they need and make joins they need. If you had the same tables in a dataset, a person can connect to the dataset as a whole. For example, I have a date table loaded into a dataflow and then anytime I need it, I bring it into my model from the dataflow, so it gets used when and where it is needed.
Thanks for your reply, i have a follow up question about what have you said, about the connection of a published dataset or dataflow being a live connection.
One difference that i have noticed when connecting to dataset/dataflow is that it is not possible to transform data using power query in the former case.
Shouldn't that make the connection to dataflow to be import connection while that for dataset to be live connection?
Thanks
- 123abc2 years ago
Community Champion
I understand your point, and it's a valid observation. The terminology and behavior can be a bit confusing, so let's clarify this:
1. **DataFlow Connection:** When you connect to a DataFlow from Power BI Desktop, you are indeed importing the data into your report. This means that you can perform further transformations using Power Query in Power BI Desktop. So, in this case, you can transform data using Power Query after connecting to a DataFlow. It's an import connection because the data is brought into your report for further processing.
2. **Dataset Connection:** When you connect to a dataset created in Power BI Desktop, it is typically a live connection. This means that you can't perform further data transformations using Power Query in Power BI Desktop because you are directly querying the dataset without importing the data. The transformations are expected to be done in the Power Query Editor before publishing the dataset.
So, to summarize:
- Connecting to a DataFlow allows you to import data and use Power Query in Power BI Desktop for additional transformations.
- Connecting to a dataset usually establishes a live connection, and data transformations are expected to be completed before publishing the dataset.Your observation is correct, and it highlights the distinction in behavior between connecting to DataFlows and datasets in Power BI. This distinction is mainly due to the different purposes of DataFlows (data preparation) and datasets (reporting) in the Power BI ecosystem.
- 123abc2 years ago
Community Champion
The distinction between "import" and "live" connections can sometimes be a bit nuanced in Power BI, and it's essential to understand how they work in different contexts.
Import Connection: When you connect to a DataFlow or dataset and perform data transformations using Power Query in Power BI Desktop, it is indeed an "import" connection. In this scenario, you are importing the data into the Power BI file, and any changes made to the data (e.g., data cleansing, modeling) are stored within the Power BI file itself. This approach allows you to work with the data offline and apply extensive transformations using Power Query.
Live Connection: In the case of connecting to a published dataset, it is typically a "live" connection. This means that Power BI Desktop sends queries to the dataset in the Power BI service, and the data transformations are performed in the service. You cannot access Power Query transformations because they are not available in this context. Changes to the data source are immediately reflected in your report, but you don't have the same flexibility for data shaping as you do with an import connection.
The terminology can be a bit confusing because, in both cases, you are "connecting" to the data, but the key distinction is whether you are importing the data into your Power BI Desktop file (import) or directly querying it from the service (live).
Regarding your question about whether connecting to a DataFlow should be considered an "import" connection, you are correct. When you connect to a DataFlow from Power BI Desktop, it is essentially importing the data into your report, and you can perform further transformations using Power Query. The ability to use Power Query for data transformation makes it more similar to an "import" connection in terms of data preparation flexibility.
So, to clarify:
- Connecting to a DataFlow: Import connection (with Power Query capabilities).
- Connecting to a published dataset: Live connection (limited data transformation capabilities in Power BI Desktop).
Your choice between these connections depends on your data transformation needs and whether you require the ability to perform extensive data shaping in Power Query during the report development phase.