Hello,
This is the part of the code that I need help with, see concat statement below.
Solved! Go to Solution.
In the step titled 'Compose 2' you typed the formula into the input box in the step. Formulas always need to be added using the expression tab of the dynamic content dialog. Otherwise they are just text. That's why you are getting the formula in the Assigned to field in the HTML table instead of the comma delimited string of names.
The easiest way to do this is to put it inside a Substring() and start at Index zero and stop at Add(Length(string), -1). So it would look like this.
Substring(concat(.....),0,Add(length(concat(.....)),-1))
Or use the string variable that holds the Concat to keep from duplicating that effort.
Basically you are doing the following
1) Substring() is used to get a portion of an existing string from starting position to ending position.
2) The first parameter is the source string. In your case that is your concat() function
3) the Second parameter is where to start in the string. In your case that is 0 since you want to start with the first character.
4) The third parameter is the length of the string you want from the starting position. So you want the length of the original concat() minus 1. Which would be everything except the trailing comma. (Minus 2 if its a trailing comma plus a space being added.) To get the length -1 you take the Length() and Add negative 1.
The explanation was helpful, thank you!
Substring(concat(outputs('Get_user_profile_(V2)')?['body/displayName'],','),0,Add(length(concat(outputs('Get_user_profile_(V2)')?['body/displayName'],',')),-1))
Now I'm not getting any commas. I do want commas between "Assigned to" display names, just not one at the very end.
Don't use the formula where you are appending the items by concatenating them with a comma. use the formula once you are all done and have the final string with all the comma's including the last one.
Okay, I've read, re-read, tried 16 different ways to make this work. I am trying ... "Once you are all done and have the final string ...." ?? Does the formula you specified last week, see above, get put in a different Action and if so what kind and where in the flow? If you know of somewhere I can get good Power Automate training, self-paced CBT would be ideal, let me know.
Yes, it goes in a different action. I'm assuming you are using the Concat() function inside some kind of Apply to Each loop to append the values to a string variable. It is the string variable that you need to process to get rid of the final comma. If you will post a readable screenshot of your flow I'll show you where you would need the action. For training I would start here:
\Get started with Power Automate - Learn | Microsoft Docs
Thank you for the help!
Here's the first and second parts of the flow. Let me know if you need the last part.
You can use a Compose action at the bottom of the screen shot just outside both loops. That compose would contain this formula
Substring(variables('AssignedTo'),0,Add(length(variables('AssignedTo')),-1))
Then use the output of the compose to send your email or whatever you plan to do with the comma delimited list of names.
Hi @Pstork1 ,
Here's the entire flow. I'm getting the formula as output in the email with the usernames and trailing commas, so I'm still stuck.
This is what's showing up in the email under the Assigned to column:
Substring(variables('bwc1,Timothy,Patricia,'),0,Add(length(variables('bwc1,Timothy,Patricia,')),-1))
In the step titled 'Compose 2' you typed the formula into the input box in the step. Formulas always need to be added using the expression tab of the dynamic content dialog. Otherwise they are just text. That's why you are getting the formula in the Assigned to field in the HTML table instead of the comma delimited string of names.