cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
HansHeintz Resolver I
Resolver I

UpdateIf only processing 100 records at a time

I have a CDS entity of aprox 10000 records.

I want to fill one integer field with the value of another integer field.

I do it like this

 

UpdateIf([@DierEvent];IsBlank(DipoId);{DipoId:If(IsBlank(DierId);0;DierId)})


If I run this code in a button only and exactly 100 items are processes each time.

I have a label saying 

CountRows(Filter(DierEvent;IsBlank(DipoId)))
And did the advanced setting concerning delagation of countrows so I can exactly see how many records are left.
I set the delegation limit to 2000 items.

Funny thing is once I changed the condition in UpdateIf to !(DipoId>0) and it DID do 2000 records but only once. Each subsequent button press was back to 100 updates.
What am I missing?

2 REPLIES 2
Super User
Super User

Re: UpdateIf only processing 100 records at a time

@HansHeintz 

Would this work?

 

UpdateIf([@DierEvent];IsBlank(DipoId);{DipoId:0})

 

I don't see the need for the If statement in your formula since it is already implicit in the UpdateIf()

Microsoft
Microsoft

Re: UpdateIf only processing 100 records at a time

Hi @HansHeintz :

Could you tell me :

Is your question the first time you use this button to update 2000 records, and then you can only update 100 records at a time?

Is there a record with a Direid value <=0 or null?

Firstly, as we know 'UpdateIf([@DierEvent];!(DipoId>0);{DipoId:If(IsBlank(DierId);0;DierId)})' is not delegable.

According to your description(I set the delegation limit to 2000 items), the app should only change the first 2000 records in the data source.After the code is executed for the first time, the values of all records that meet the condition of (DipoId> 0) are replaced with 0 or DierId.After the code is executed for the second time, all of the two thousand records that match! (DipoId> 0) or! (DierId> 0) or IsBlank (DierId) will be updated. If this number is 100, no matter how many times it is executed, only those 100 records will be updated and from the third time, the data source should be changed again.

Secondly,If you are troubled by the delegation problem, just use the delegable function instead !().

For example:

Using

 

DipoId<=0

 

instead of

 

!(DipoId>0)

 

 I think this link will help you a lot :

https://docs.microsoft.com/en-us/connectors/sql/

Best Regards,

Bof

Helpful resources

Announcements
MBAS Gallery 2020

MBAS Gallery 2020

Watch Microsoft Business Applications Summit sessions on-demand.

firstImage

New Ranks and Rank Icons released on April 21!

The time has come: We are finally able to share more details on the brand-new ranks coming to the Power Apps Community!

Users online (8,409)