cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper V
Helper V

First, Last, FirstN and LastN???!!!

How can I make this work.

 

After trying so many different ways I came up with this.

 

I have a datacard called Job steps and I have 10 textinputs as shown below. (Also see pic for reference)

 

textinput 1

textinput2

textinput3

textinpit 4

.

.

.

.

textinput10

 

I want the textboxes to get back their default values when user opens the submitted form in edit mode.

 

I used If(!Exisitng, "1.", First(Split(ThisItem.JobSteps,"|")).Result). -- - I am checking if it is not an existing form then have 1. in the textinput, if not (if its edit form) have the defaulted value that the user submitted when they created this form.

 

Technically the above formula works for my First TextInput but how can I get back the other TextInput information?

 

I tried the formula (See below) For the second textinput but I am not sure how to make this work.

 

My patch function for this coloumn is 

jobsteps: Concatenate(TextInput7.Text,"|", TextInput8.Text, "|", TextInput14.Text)

 

 

Any help is highly appreciated!!!

 

2 ACCEPTED SOLUTIONS

Accepted Solutions
Highlighted
Super User
Super User

If I understand correctly, you want to get back element N from an array.

For element 1 you are using: If(!Exisitng, "1.", First(Split(ThisItem.JobSteps,"|")).Result)

For element 2 you can use a combination of Last and FirstN, e.g.

If(!Exisitng, "1.", Last(FirstN(Split(ThisItem.JobSteps,"|"),2)).Result)

So you are saying, return the first 2 items and give me the last one.

To get element 3 would be:

If(!Exisitng, "1.", Last(FirstN(Split(ThisItem.JobSteps,"|"),3)).Result)

View solution in original post

Highlighted

@asdeev

 

For the second and so on you could try

Last(FirstN(Split(ThisItem.JobSteps,"|"),2))).Result)

Change the 2 to 3,4,5,6,7 and so on.

 

Should work I would think.


Paul

 

 

View solution in original post

5 REPLIES 5
Highlighted
Helper V
Helper V

After trying so many different ways I came up with this.

 

I have a datacard called Job steps and I have 10 textinputs as shown below. (Also see pic for reference)

 

textinput 1

textinput2

textinput3

textinpit 4

.

.

.

.

textinput10

 

I want the textboxes to get back their default values when user opens the submitted form in edit mode.

 

I used If(!Exisitng, "1.", First(Split(ThisItem.JobSteps,"|")).Result). -- - I am checking if it is not an existing form then have 1. in the textinput, if not (if its edit form) have the defaulted value that the user submitted when they created this form.

 

Technically the above formula works for my First TextInput but how can I get back the other TextInput information?

 

I tried the formula (See below) For the second textinput but I am not sure how to make this work.

 

My patch function for this coloumn is 

jobsteps: Concatenate(TextInput7.Text,"|", TextInput8.Text, "|", TextInput14.Text)

 

 

Any help is highly appreciated!!!

Helper V
Helper V

After trying so many different ways I came up with this.

 

I have a datacard called Job steps and I have 10 textinputs as shown below. (Also see pic for reference)

 

textinput 1

textinput2

textinput3

textinpit 4

.

.

.

.

textinput10

 

I want the textboxes to get back their default values when user opens the submitted form in edit mode.

 

I used If(!Exisitng, "1.", First(Split(ThisItem.JobSteps,"|")).Result). -- - I am checking if it is not an existing form then have 1. in the textinput, if not (if its edit form) have the defaulted value that the user submitted when they created this form.

 

Technically the above formula works for my First TextInput but how can I get back the other TextInput information?

 

I tried the formula (See below) For the second textinput but I am not sure how to make this work.

 

My patch function for this coloumn is 

jobsteps: Concatenate(TextInput7.Text,"|", TextInput8.Text, "|", TextInput14.Text)

 

 My datasource is SQL and Jobsteps is one of the coloum in it.

 

Any help is highly appreciated!!!

Highlighted

@asdeev

 

For the second and so on you could try

Last(FirstN(Split(ThisItem.JobSteps,"|"),2))).Result)

Change the 2 to 3,4,5,6,7 and so on.

 

Should work I would think.


Paul

 

 

View solution in original post

Highlighted
Super User
Super User

If I understand correctly, you want to get back element N from an array.

For element 1 you are using: If(!Exisitng, "1.", First(Split(ThisItem.JobSteps,"|")).Result)

For element 2 you can use a combination of Last and FirstN, e.g.

If(!Exisitng, "1.", Last(FirstN(Split(ThisItem.JobSteps,"|"),2)).Result)

So you are saying, return the first 2 items and give me the last one.

To get element 3 would be:

If(!Exisitng, "1.", Last(FirstN(Split(ThisItem.JobSteps,"|"),3)).Result)

View solution in original post

Highlighted

@PaulD1
@KroonOfficeSol

 

This is awesome! Thank you thank you thank you!! It works.

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

News & Announcements

Community Blog

Stay up tp date on the latest blogs and activities in the community News & Announcements.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Community Highlights

Community Highlights

Check out the Power Platform Community Highlights

Top Solution Authors
Top Kudoed Authors
Users online (8,396)