The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I have a power bi datset with incremental refresh factored in (without polling expression).
When I manually refresh the dataset, the refresh works well. I want to be able to refresh the datastset either using Datasets - Refresh Dataset In Group API or Enhanced refresh API
But I am not able to replicate the behavior of manual refresh in this API.
If I use the following as payload
{
"applyRefreshPolicy": "full"
}
It refrehes all partitions and refresh is longer.
The default is automatic which does not refresh the data at all.
Does anyone know what do I need to use in the payload to replicate the exact same behavior of manual refresh through this api
Resources
Datasets - Refresh Dataset In Group
Enhanced refresh with the Power BI REST API
I am not able to determine a payload that would do what I desire
My current payload is
{
"type": "Full"
"objects": [
{
"table": "DimCustomer"
},
{
"table": "DimDate"
}
]
}
Solved! Go to Solution.
Hey @smpa01,
I've dealt with this exact issue before. The problem is that the API doesn't automatically respect your incremental refresh settings like the manual refresh does. Here's what worked for me:
Replace your current payload with:
{
"type": "automatic",
"commitMode": "transactional"
}
Don't specify individual tables initially - let Power BI handle the incremental logic automatically.
Use this approach (worked for most of my datasets):
{
"type": "dataOnly",
"applyRefreshPolicy": true,
"objects": [
{
"table": "DimCustomer"
},
{
"table": "DimDate"
}
]
}
I had the same frustration where manual worked perfectly but API either took forever (full refresh) or did nothing (automatic with wrong settings). The key breakthrough was realizing that "automatic" mode needs the right parameters to actually trigger the refresh logic.
Give the automatic approach a shot first - that's usually the cleanest solution.
Fixed? ✓ Mark it • Share it • Help others!
Best Regards,
Jainesh Poojara | Power BI Developer
Hey @smpa01,
I've dealt with this exact issue before. The problem is that the API doesn't automatically respect your incremental refresh settings like the manual refresh does. Here's what worked for me:
Replace your current payload with:
{
"type": "automatic",
"commitMode": "transactional"
}
Don't specify individual tables initially - let Power BI handle the incremental logic automatically.
Use this approach (worked for most of my datasets):
{
"type": "dataOnly",
"applyRefreshPolicy": true,
"objects": [
{
"table": "DimCustomer"
},
{
"table": "DimDate"
}
]
}
I had the same frustration where manual worked perfectly but API either took forever (full refresh) or did nothing (automatic with wrong settings). The key breakthrough was realizing that "automatic" mode needs the right parameters to actually trigger the refresh logic.
Give the automatic approach a shot first - that's usually the cleanest solution.
Fixed? ✓ Mark it • Share it • Help others!
Best Regards,
Jainesh Poojara | Power BI Developer
Thank you.
I tested all the suggested payloads to determine which one would work for my use case, and I was able to get it working.
Thanks again for your help.
I found the official MS documentation on this topic to be terrible, especially given the complexity and importance of the subject.
it does not explain what type of refresh has what implications downstream. It is left to the user to try different combinations to see if you get what you are hoping for.