Hi, here's what I'm trying to achieve:
The Excel Online sheet looks (MS Forms Responses) like this
The Start time, Completion time columns are timestamps and i have some other columns (like Meeting date) where the user selects a date from calendar option in MS Forms.
Here's how my flow looks:
Flow Outline
I was able to collect all rows of a user and send mail to them. And here's how it looks:
In the mail (and in the attachement) the user gets the date-time and dates in integers, which is inconvinient.
How should I format the start time, completion time columns to match this format: 16/11/2020 7:22:46 PM (Indian format) and meeting date column to match: 16/11/2020 format?
Without much success, I tried using formatDateTime, addDays, addSeconds functions and kept stumbling on the following errors (one in each of my trials):
After searching for answers, and trying out all existing slutions for almost a week (yes, I'm a newbie to MS Flow 🙂 ), i'm compelled to post here and know the right away of doing this.
Can someone plese tell me the right way to do this?
Any/all help will be much appreciated!
Solved! Go to Solution.
Please have a look at my video tutorials
https://www.youtube.com/watch?v=uFZxXMuLj-E
https://www.youtube.com/watch?v=r1LhHU5lXkM
If you need any further help please let me know.
Thanks
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogHere is something you could use:
addDays
(
'1899-12-30', int(substring(string(outputs('ExcelDateTime')), 0,
indexOf(string(outputs('ExcelDateTime')),'.'))), 'dd-MM-yyyy'
)
You would need to either:
Explanation:
It looks like this:
You can simply use this expression when you create your HTML Table and you will have sensible date values.
Please...
If I answered your question Accept it as a solution ✔️
If I helped you out, please give me some Kudos 👍
Thanks 😙
Please have a look at my video tutorials
https://www.youtube.com/watch?v=uFZxXMuLj-E
https://www.youtube.com/watch?v=r1LhHU5lXkM
If you need any further help please let me know.
Thanks
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogThe issue is that date columns in Excel do not store the date the way you think. What they actually store is the number of days since a fixed point in time: 12:00 AM on January 1, 1900. So, to get a date value out of that, you need to use the "addDays" expression or the "add to time" action. See https://powerusers.microsoft.com/t5/General-Power-Automate/Manipulating-Flow-Excel-Date/td-p/365876 for a more detailed explanation and example.
For what it's worth, if you can get away with just the date, then I would suggest doing that. Basically the value after the decimal point is a fraction of a full day. If that's "clean" (like .25 would be 1/4 of a day or 6 hours; .5 would be 1/2 of a day or 6 hours; etc.), then it's not too bad. However, if it's not a value that provides an even hour result, it involves performing a few calculations and gets a bit messy. I still haven't figured out a truly reliable way to do it.
Here is yet another video that deals with the Date issue in Excel that I published yesterday:
https://www.youtube.com/watch?v=E67YoByn9eA
But your issue is that you have time in there also. Personally I would consider changing the flow that collects form responses and recording the date and time separately. That would then be easier to deal with in this flow.
I must thank @abm, @ChadVKealey & @Paulie78 for the prompt responses. Much obliged!
I checked all the suggestions and I now need to understand how to convert the Start time & Completion time values from timestamp xxxx.xxx to only date integers (like in the example videos provided by abm & Paulie78).
I'm okay if I must deal with the Start time & Completion time as Date only (without time).
My idea is to later filter data for today's date. Time data is of no use for me.
Please suggest how to convert the timestamp to simple dates in PowerAutomate, I do not want to do that in the Excel as i'm worried it might mess up with the live Forms Responses.
Here is something you could use:
addDays
(
'1899-12-30', int(substring(string(outputs('ExcelDateTime')), 0,
indexOf(string(outputs('ExcelDateTime')),'.'))), 'dd-MM-yyyy'
)
You would need to either:
Explanation:
It looks like this:
You can simply use this expression when you create your HTML Table and you will have sensible date values.
Please...
If I answered your question Accept it as a solution ✔️
If I helped you out, please give me some Kudos 👍
Thanks 😙
You can get the time part from excel sheet. Please see this reply from @ymaglaras
Re: Convert Excel date value - Power Platform Community (microsoft.com)
Thanks
If you liked my response, please consider giving it a thumbs up
Proud to be a Flownaut!
Learn more from my blogHi,
Extremely sorry for the delay in reply.
Thanks to @abm @Paulie78, i was able to finally get it working.
Here's what i did:
I added a column to source data which would convert the timestamp into date (integers), which would work with the expressions (provided above) when filtered in PowerAutomate.
Thanks a ton!
User | Count |
---|---|
88 | |
37 | |
26 | |
13 | |
13 |
User | Count |
---|---|
123 | |
54 | |
37 | |
24 | |
21 |