It is not possible to change a linked entity in a dataflow in Power BI. Linked entities has to be modified only in the dataflow in which they are created. However, sometimes, you need to do a small modification to the linked entity in a chained dataflow. There is a very simple trick, In this article and video, I’ll explain how you can do that.
What is a linked entity?
A linked entity is an entity created in a dataflow but used as a source in another dataflow. A linked entity can be created as simple as selecting the option for it.
A linked entity cannot be modified in the chained dataflow
The chained dataflow is the dataflow that is getting data from a linked entity (I just borrowed the chained dataflow name from the concept of the chained dataset, This is not a formal name for it;)). The linked entity cannot be changed in the chained dataflow. It can be only modified in the original dataflow (the dataflow that the entity is created).
Linked entity also requires Power BI Premium license to be refreshed.
Workaround: Reference from the linked entity
Disclaimer: I am not saying that you should modify the linked entity in the chained dataset. In fact, I recommend you against doing so. If you are making any changes in that entity, it is better to be done in the place of creation, so that all other chained dataflows, use the up-to-date master’s structure. However, I also understand that sometimes, there is a need to apply some small changes in the entity in the chained dataset. so here is the workaround for that.
You cannot modify the linked entity, but you can create a Reference from it;
This would create a computed entity,
However, you no longer need the linked entity, so you can use the workaround I mentioned here by disabling the load of the linked entity.
This action will make the second entity not to be computed entity, and also it will be fully editable. Another point is that the source entity will no longer be linked entity too!
There is a point to consider, however, for this method. If you use the entity like this, then your original entity will not be treated as a linked entity, and you will not even see the data lineage of that in the lineage view.
In the screenshot above the BBIUG Dataflow which is the dataflow that the Date entity has been created first, is not appearing in the second dataflow (the dataflow that we modified the entity using reference and disable load).
Summary
As I mentioned before, I do recommend making all the changes normally in the main dataflow, not chained dataflows. However, in case, there is a small change is needed, this article and video explained a very simple way to do it.
Hi!
I really like those short articles! Good job!
I was wondering if I understand the concept correctly: if we use a linked entity, then the data is actually residing in one place – the “folder” of the original dataflow, is that right? So during our dataflow refresh, the data is not imported, it is actually linked to another place, I think?
But when we use the trick you mentioned above with referencing a linked entity, what will actually happen during refresh is actual load/import of the data, so now we kind of “copied” the data to our “folder”, is that correct?
I think also because of that, the refresh will take significantly longer.
I will be happy to discuss this as this is not fully clear to me 🙂
Cheers,
Adam
Hi Adam
yes, correct. When it is a linked entity, the entity LIVES in the original workspace, and chained dataflows will connect to it only without a copy of the original.
using the method mentioned here, we are actually importing this as another entity. and yes, there will be an import (and data refresh) from the other dataflow into this one.
Cheers
Reza