Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi All
I wanted to understand how the rows which are deleted from table are handled in incremental refresh dataset.
Does it identify the deleted rows and delete from dataset OR Do we need to do full refresh in PBI desktop and then publish?
Thanks & regards
Harsh Dhawan
Getting the same issue. Came up with Patricks solution independently but it does not work.
Using RLS seems like a fudge as it will not affect RLS exempt users.
Using intermediate dataflows will work but that is overkill.
I'm thinking of just taking the data in but blanking out attributes in the record.
At a later date a custom full refresh of any partitions with DateDeleted flag records can be done
Latest answer from Guy in a Cube is to use Custom polling expressions
Handling deletes within Incremental Refresh in Power BI
Advanced incremental refresh and real-time data with the XMLA endpoint in Power BI - Power BI | Micr...
Testing it now
I am not sure as it depends on your data!
Key columns: Created date, ETL Date, IsDeleted Flag.
Insert, Update, Delete is possible in any partition at any point
Table to be incrementally refreshed is a fact table
I have access to make database modificaitons if required.
Right now the only solution I can think of is to include - where IsDeleted = False, in the RLS logic for all our RLS groups.
Thanks Gilbert for your reply
I have a table which contains 12 million rows. and it is modelled based on row level permissions from source system
This table is truncated and loaded on daily basis, Now I am being asked to look at the possibility to do incremental refresh for dataset which is loading this table
In case user permissions are removed from any record in source table, that data rows will not be loaded in the next etl run
I am not sure how that row will be removed from power bi dataset during the next incremental refresh if it no longer exists in source table now
Hope my question makes sense!
Cheers
Handling deletes is just what I am after. Thanks for posting that link 🙂
The approach outlined by Patric is not ideal but it's the next best thing - until that capability is added to incremental refresh.
Hi @GilbertQ Patrick's Method in the link doesn't seem to be working. The polling expression folds the query with the delete filter back to the source. This means that the max(lastupdateddate) queries will exclude deleted rows, hence that partition will not be updated.
Do you know of any way to handle this?
The work around I used was to allow all the deleted lines and manage them using Row level security. This was the only was I saw to manage the issue.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
58 | |
34 | |
26 | |
24 | |
23 |
User | Count |
---|---|
62 | |
52 | |
30 | |
25 | |
23 |