New here, now struggling to create the flow for a children fun park.
Child enters than leaves> system gives the duration in minutes.
Then based on the minutes it played in the park it will need to take a certain price. We have no price for under 30 minutes, then price 1 from 30 to 60, price 2 from 60 to 90 minutes, etc.
I’m using an if to calculate, but for some reason is neither taking the price from the created columns or neither from the custom number entered.
Attached screenshots showing how time is taken.
Columns with differrent tiers.
lastly the if calculation.
You’re not comparing the same things. You are comparing whole numbers to durations which are basically fractions of one day. Essentially what you are doing is comparing the equivalent of 30/60/90 DAYS to your time duration. Not minutes.
How is your MinutesSpent column calculated? I assume is just a subtraction between Leave Time and Entry Time?
That’s the point I’m trying to make. If your MinutesSpent is 30 minutes, the underlying value is still 0.0208, so now you are taking an incredibly small number and multiplying by an incredibly small number, which gives you and even smaller number. Not sure what you are trying to do with that CalculateTime math column.
What I was giving you is the decimal equivalent of 30/60/90 minutes, so you can place them in your IF column so they can be compare to the TimeSpent column, which technically is already a decimal underneath, but displays in a formatted way as minutes.
I understand now. You are also assuming correctly regarding the MinutesSpent.
Calculate time I was just experimenting to see if i will manage to resolve it somehow.
Unfortunately I’m still stuck.
Tried your suggestion as you can see on the screenshot, but don’t know wait is showing me the lowest amount constantly. It is stuck on the frist IF statement.
That formula is giving you a duration, which won’t work in your if-then-else column as you have it.
I think you’ll find this a bit simpler if you convert your durations to whole minutes, rather than trying to deal with fractions of days.
So, use the following formula in your Math column:
Trunc((LT-ET)*1440)
(where ET is the entry time, and LT is the leave time).
This will give you a duration in whole minutes, which you can then use in your if-then-else column like so:
If Duration is equal to or greater than 120, then “2 hour price”
If Duration is greater than 90, then “1.5 hour price”
If Duration is greater than 60, then “1 hour price”
If Duration is greater than 30, then “30 min price”
Else “No charge”
Side note: I can see that you are using User Specific columns for your Entry/Leave times:
Are you aware of the implications of that? In case you aren’t, it means that no user will be able to view the data of any other user. So for example, as an admin you would have no way to aggregate or summarise the data across all users. I suspect this probably isn’t what you want?
Are you referring to my note about User Specific Columns?
The values in User Specific Columns are specific to each user, and every user will see a different value for the same column. To see what I mean, go to the Data Editor and try switching the “Viewing as” to different users. You will see that the values in those columns change (or disappear) as you switch users.
I can’t answer the question of whether or not this is actually what you want - it depends what you intend to do with the data. But if you need to aggregate or summarise it in any way across multiple users, then you shouldn’t use User Specific columns.
Just want to note that this was the problem. You took a duration between two dates and divided by 60. Sure it looks nice in its formatted form, but it’s no longer the same value. With that math 0:05 actually becomes 5 seconds, and not minutes. So that is why all of your values fell into your lowest bracket. You were comparing seconds to minutes instead of minutes to minutes.
If you would have removed that division of 60 then it would have worked, but @Darren_Murphy’s method is definitely easier to understand. Just wanted to explain what was happening.