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

Get the Max value with filter or condition

Hi there,

 

I'm trying to build a "serial numer", but need a conditional, until today I did it using "CountRows(Filter(", but I have the problem with non delegable formulas.

 

So I think maybe is possible do it with Max funtion, but I don't know how I can do it.

 

My alternative code that I'm trying is:

 

 

Max(Filter('[dbo].[tbPO]';IdProject = proyecto).Line)+1

 

 

If not possible, How I can do it to avoid the issues with non delegable functions?

 

Thank you.

 

 

 

2 ACCEPTED SOLUTIONS

Accepted Solutions

@Manarjomar 

I missed the FIRST function.  Include this:

 

Sort(First(Filter('[dbo].[tbPO]';IdProject = proyecto),Line, Descending)).Line+1


---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

View solution in original post

Thank you @mdevaney your formula doen't work, but I understood your idea and I found that only was an order error. Finally works with this one:

 

If(FormPO.Mode = FormMode.New ; First(Sort(Filter('[dbo].[tbPO]';IdProject = proyecto);Line; Descending)).Line+1;DataTablePO.Selected.Line)

 

Thank you for your help.

 

Regards.

 

 

View solution in original post

5 REPLIES 5
mdevaney
Super User
Super User

@Manarjomar 
MAX cannot be delegated: so just use a Sort function instead.  It does the same thing.

Sort(Filter('[dbo].[tbPO]';IdProject = proyecto),Line, Descending).Line+1

 

Note: I assume 'Line' is a number type.

 

---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

eka24
Super User
Super User

Try:

Max('[dbo].[tbPO]';IdProject)+1

Max(Datasource,Column)+1

------------

If you like this post, give a Thumbs up. Where it solved your request, Mark it as a Solution to enable other users find it.

 

 

Hi@mdevaney ,

 

Yes, you are right, "Line" is a number, but the function doesn't work:

 

Screenshot_1.pngScreenshot_2.png

 

My last function was:

 

Screenshot_3.png

 

Regards.

@Manarjomar 

I missed the FIRST function.  Include this:

 

Sort(First(Filter('[dbo].[tbPO]';IdProject = proyecto),Line, Descending)).Line+1


---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

Thank you @mdevaney your formula doen't work, but I understood your idea and I found that only was an order error. Finally works with this one:

 

If(FormPO.Mode = FormMode.New ; First(Sort(Filter('[dbo].[tbPO]';IdProject = proyecto);Line; Descending)).Line+1;DataTablePO.Selected.Line)

 

Thank you for your help.

 

Regards.

 

 

Helpful resources

Announcements
Power Platform Call June 2022 768x460.png

Power Platform Community Call

Join us for the next call on August 17, 2022 at 8am PDT.

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Users online (1,734)