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."

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

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (2,371)