Jump to content

Parse and Trim in One Calculation


This topic is 2704 days old. Please don't post here. Open a new topic instead.

Recommended Posts

I currently have a field that takes the first line from an address field (could be a law firm or an attorney's name):

GetValue ( Customer ; 1 )

(for example, John Smith, Esq.)

I also have a second field which takes the data from the above field and, if that address line is an attorney's name, removes the trailing ", Esq." leaving only the attorney's name:

Case ( Right ( PDF_BillTo ; 6) = ", Esq." ; Left  ( PDF_BillTo; Length ( PDF_BillTo ) - 6) ; PDF_BillTo  )

(for example, John Smith)

Is there a way to consolidate both calculations into one field so it's more efficient?  I can't seem to wrap my head around this and it's driving me nuts.

Thanks,

Kevin

Link to comment
Share on other sites

The Let() function is very convenient in situations like this, as it allows you to work step by step, without having to nest your statements until they become an unreadable mess.

Let (
name =  GetValue ( Customer ; 1 ) 
;
Case ( Right ( name ; 6 ) = ", Esq." ; Left  ( name ; Length ( name ) - 6 ) ; name  ) 
)

This does the same thing as:

Case ( Right ( GetValue ( Customer ; 1 )  ; 6 ) = ", Esq." ; Left  ( GetValue ( Customer ; 1 ) ; Length ( GetValue ( Customer ; 1 )  ) - 6 ) ; GetValue ( Customer ; 1 )   )

which is not only less readable, but also less efficient, as it has to evaluate the expression GetValue ( Customer ; 1 ) 4 times.

 

 

Edited by comment
Link to comment
Share on other sites

This topic is 2704 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.