I have one calculated column in SP-lists. I am trying to get the value from this column in the flow action as a part of e-mail body. I have the classical problem with too many zeroes when I refrence to a column as a dynamic content.
To address this issue I have done two things so far:
- I used round-formula in the calculated column: Round( Value(['many column refrences i my SP-list']); 0 )
- I then tried to use Float function inside the email body: float(triggerBody()?['name of my calculated column']), after I read this post.
Result of this is that I am getting this error message in failed e-mail part of the Flow:
InvalidTemplate. Unable to process template language expressions in action 'Send_an_e-mail' inputs at line '1' and column '1814': 'The template language function 'float' was invoked with a parameter that is not valid. The value cannot be converted to the target type.'.
How do I fix this, guys?
Solved! Go to Solution.
Hi @Jako ,
On your side, it is not necessary to add a "initialize variable" action within your flow. On my above solution, I just want to show you how do convert the "Totalsum avrunder" column into the expected value you want.
Within your flow, you could directly use the following expression witin the "Send en e-postmelding" action (as that within my "Send an email notification (V3)" action):
split(string(body('Oppdater_element')?['Totalsum avrunder']),'.')[0]
If you want to add a "Intialize variable" action within your flow to store the converted "Totalsum avrunder" value, please add a "Initialize variable" action under your "Oppdater element" action.
Yes, the "Update Item" action within my flow represents a update in the SP list with refrence to calculated column.
In addition, the "Send an email notification (V3)" action is a preview version of the "Send an email" action. It would not make effect on the result within your flow.
More details about using expression in flow actions, please check the following blog:
https://flow.microsoft.com/en-us/blog/use-expressions-in-actions/
Best regards,
Hi @Jako ,
Could you please share a bit more about the Calculated column in your SP list? Does the Calculated column return a Number value?
Further, could you please share a screenshot about your flow's configuration?
Based on the issue that you mentioned, I think there is something with the float expression you used in your flow. Actually, the float function is used to convert a string version for a floating-point number to an actual floating point number. The argument you typed within the float function should be a Number string value.
I have made a test on my side, please check the following screenshot:
On your side, please consider modify your float formula within your flow as below:
float(string(triggerBody()?['name of my calculated column']))
If you want to directly type above formula within the email body of the "Send an email" action, please type the following formula:
@{float(string(triggerBody()?['name of my calculated column']))}
Also please check the Calculated column returns a proper value within your flow. You could add a "Compose" action within your flow, then set the Inputs field to your Calculated column Dynamic content, then run your flow, then check if the proper value is displayed within the "Compose" action.
Please consider take a try with above solution, then check if the issue is solved.
Best regards,
Thank you for your reply, @v-xida-msft.
I have tried to make it work with the suggestions, but still no success.
I am sure I did not provide with enough info, so I will start from the begining.
So I have a flow where the information filled in the MS forms is gathered in the SP list.
Then follows the approval with following emails, there is also update in the SP list.
Here is the overview:
One of the coulmns in the SP list is not filled in by flow, but created to sum up other columns in that list.
It is create as a Calculated colmn with number value. The formula inside multiplies the values in each column with spesific number, in other words the value in the column is the number of orders which is then multiplied with spesific price. There is also ROUND formula. It all looks like this:
=ROUND( Value(([SMØRBRØD ASSORTERT] * 34) + ([HVERDAGSSKIVER ASSORTERT] * 31) + ([BAGUETT MED OST OG SKINKE] * 51) + ([SANDWICH MED KYLLING OG BACON] * 53) + ([CROISSANT MED SKINKE] * 43) + ([CROISSANT MED REKESALAT] * 44) + ([WRAPS MED KYLLING] * 45) + ([PASTASALAT MED BRØD (450g)] * 105) + ([LUNSJTALLERK (430g)] * 105) + ([FRUKT I BITER (180g)] * 31) + ([WIENERBRØD] * 28) + ([FORMKAKE] * 25) + ([RUNDSTYKKE MED OST] * 29) + ([RUNDSTYKKE MED SKINKE] * 29) + ([FROKOSTBRØD] * 46) + ([PIZZASNURR] * 35) + ([Diett] * 15) + ([Buffe] * 72) + ([MARSIPANKAKE] * 439) + ([FLØTEKAKE] * 419) + ([SJOKOLADEKAKE] * 419) + ([MINERALVANN (0,5L)] * 30) + ([APPELSINJUICE (0,25L)] * 24) + ([EPLEJUICE] * 24) + ( [KAFFE (1L)] * 38) + ([TEPOSE] * 10) + ([Transport ]) + ([Emballasje])); 0 )
Here is the overview of the SP list:
When I use a dynamic content reference directly in the e-mail, it looks like this when the responder receives an e-mail:
This how it looks in the flow itself:
The challenge here is the remove the extra zeroes in the e-mail message.
I hope this has made it more clear.
I have tried with initialize variable and compose, but I was not successful. I am not sure where in the flow I should put it and what "Value" I should give it.
Thank you for your reply, @v-xida-msft.
I have tried to make it work with the suggestions, but still no success.
I am sure I did not provide with enough info, so I will start from the begining.
So I have a flow where the information filled in the MS forms is gathered in the SP list.
Then follows the approval with following emails, there is also update in the SP list.
Here is the overview:
One of the coulmns in the SP list is not filled in by flow, but created to sum up other columns in that list.
It is create as a Calculated colmn with number value. The formula inside multiplies the values in each column with spesific number, in other words the value in the column is the number of orders which is then multiplied with spesific price. There is also ROUND formula. It all looks like this:
=ROUND( Value(([SMØRBRØD ASSORTERT] * 34) + ([HVERDAGSSKIVER ASSORTERT] * 31) + ([BAGUETT MED OST OG SKINKE] * 51) + ([SANDWICH MED KYLLING OG BACON] * 53) + ([CROISSANT MED SKINKE] * 43) + ([CROISSANT MED REKESALAT] * 44) + ([WRAPS MED KYLLING] * 45) + ([PASTASALAT MED BRØD (450g)] * 105) + ([LUNSJTALLERK (430g)] * 105) + ([FRUKT I BITER (180g)] * 31) + ([WIENERBRØD] * 28) + ([FORMKAKE] * 25) + ([RUNDSTYKKE MED OST] * 29) + ([RUNDSTYKKE MED SKINKE] * 29) + ([FROKOSTBRØD] * 46) + ([PIZZASNURR] * 35) + ([Diett] * 15) + ([Buffe] * 72) + ([MARSIPANKAKE] * 439) + ([FLØTEKAKE] * 419) + ([SJOKOLADEKAKE] * 419) + ([MINERALVANN (0,5L)] * 30) + ([APPELSINJUICE (0,25L)] * 24) + ([EPLEJUICE] * 24) + ( [KAFFE (1L)] * 38) + ([TEPOSE] * 10) + ([Transport ]) + ([Emballasje])); 0 )
Here is the overview of the SP list:
When I use a dynamic content reference directly in the e-mail, it looks like this when the responder receives an e-mail:
This how it looks in the flow itself:
The challenge here is the remove the extra zeroes in the e-mail message.
I hope this has made it more clear.
I have tried with initialize variable and compose, but I was not successful. I am not sure where in the flow I should put it and what "Value" I should give it.
Hi @Jako ,
Based on the Calculate formula you used within your SP list, I think the "Totalsum avrunder" column should return a Number value without decimal places, is it true?
If the result the "Totalsum avrunder" column returns is a Number value without decimal places, I think the string function and split function could achive your needs:
Within your Email body, you could take a try with the following formula:
Within your the email body of your "Send Email" action, type the following formula:
split(string(body('Update_item')?['Totalsum avrunder']),'.')[0]
Note: The 'Totalsum avrunder' represents the Calculated column in your SP list.
Please take a try with above formula within your email body, then check if the issue is solved.
Best regards,
Hi again, @v-xida-msft.
It is correct that "Totalsum avrunder" should return number value without decimals. This is also what I chose when I was creating it.
I have no doubt that what you suggest is the solution, but I am not sure where do I place "Initialize variable" as a integrated part of my existing flow. I am also not sure what to put as "Value"
In the next part you have a update in SP.
Is that a update in the SP list with refrence to calculated column?
@v-xida-msft , one more thing. I see that you use E-mail "V3", while I dont.
Do you know if this make any diffrence?
Hi @Jako ,
On your side, it is not necessary to add a "initialize variable" action within your flow. On my above solution, I just want to show you how do convert the "Totalsum avrunder" column into the expected value you want.
Within your flow, you could directly use the following expression witin the "Send en e-postmelding" action (as that within my "Send an email notification (V3)" action):
split(string(body('Oppdater_element')?['Totalsum avrunder']),'.')[0]
If you want to add a "Intialize variable" action within your flow to store the converted "Totalsum avrunder" value, please add a "Initialize variable" action under your "Oppdater element" action.
Yes, the "Update Item" action within my flow represents a update in the SP list with refrence to calculated column.
In addition, the "Send an email notification (V3)" action is a preview version of the "Send an email" action. It would not make effect on the result within your flow.
More details about using expression in flow actions, please check the following blog:
https://flow.microsoft.com/en-us/blog/use-expressions-in-actions/
Best regards,
User | Count |
---|---|
122 | |
87 | |
86 | |
75 | |
67 |
User | Count |
---|---|
214 | |
180 | |
137 | |
96 | |
83 |