How to get average time in Cognos 11 - cognos

I am working on a data where I have to calculate average time attendance for days of the week or month
Our Data source is Cognos 11
how to get average time in Cognos 11?

Create a list with day of week, etc and your metric - calculated time
Group by day of week
Select from the swing out menu (I think it's the third option) Summarize, then choose average
Depending on the data source/database you will want to convert your start times to the lowest level (maybe minutes)
Either use a timediff function or if you have to, build it yourself (see below for suggestions on how to do that)
To build the number of minutes yourself, see if there are functions like Hour() and Minute() to deconstruct this.
Hours from time = hour([Start Time])
Take the hours and divide by 60
Add this to the minutes. Now you have total minutes
Total Minutes = ([Hours from time] * 60) + [Minute]
Take the average across the users (or whatever grouping you want) to get the average time per week
Average Minutes = average([Total Minutes] for [Work Date])
Then take the average minutes and convert that back to the time

Related

Excel formula or VBA Identifying gaps in overlapping dates and times

I am attempting to find any gaps calculated in minutes between a start and stop date/time range. Essentially time when there are no appointments in the schedule, this is a 24hr service and I am looking for "dead" time when there isn't a customer in the office.
Currently I was attempting to use the =SUMPRODUCT((A2<B$2:B$19)*(B2>A$2:A$19))>1 to find overlaps and the issue I am running into is if there are any overlap in start or stop it disqualifies and does not truly identify the space between appointments just if that appointment is double booked at all.
Here is a new version of the Gap and Island solution to this problem, using Excel 365 functionality:
=LET(start,A2:A19,
end,B2:B19,
row,SEQUENCE(ROWS(start)),
maxSoFar,SCAN(0,row,LAMBDA(a,c,IF(c=1,INDEX(start,1),IF(INDEX(end,c-1)>a,INDEX(end,c-1),a)))),
SUM(IF(start>maxSoFar,start-maxSoFar,0)))
The algorithm is very simple:
- Sort data by start time if necessary, then for each pair of times:
- Record the latest finish time so far (maxSoFar) (not including the present appointment)
- If the start time (start) is greater than maxSoFar, add start-maxSoFar to the total.
The first time interval is a special case - initialise maxSoFar to the first start time.
It can be seen that there are only two gaps in the appointments, from 4:15 to 7:31 (3 hours 16 minutes) and from 11:48 to 14:17 (3 hours 29 minutes) totalling 5 hours 45 minutes.
Why didn't I just use Max to make the code shorter? I don't know:
=LET(start,A2:A19,
end,B2:B19,
row,SEQUENCE(ROWS(start)),
maxSoFar,SCAN(0,row,LAMBDA(a,c,IF(c=1,INDEX(start,1),MAX(INDEX(end,c-1),a)))),
SUM(IF(start>maxSoFar,start-maxSoFar,0)))
To find the gaps between appointments in a schedule, you can try using the following formula:
=SUM(B2:B19)-SUMPRODUCT((A2<B$2:B$19)*(B2>A$2:A$19))
You can then convert the duration to minutes by multiplying the result by 1440 (the number of minutes in a day).
=1440*(SUM(B2:B19)-SUMPRODUCT((A2<B$2:B$19)*(B2>A$2:A$19)))

Calculate difference between two dates to calculate hours and minutes

I would like to get the difference in hours and minutes between two dates with the numbers after the colon in the number of minutes for a SharePoint List on SharePoint 2013. For example:
1st Date: 1/5/2019 1:00 AM
2nd Date: 1/6/2019 2:15 AM
Total: 25:15
=INT((([Date Time Test]-Created)*1440)/60) this gives total of hours. If I remove the 60, that gives total number of minutes or I have tried this: =INT((([Date Time Test]-Created)*24) which also gives the number of hours.
The way I see it, you will need three calculated columns:
one to calculate hours
one to calculate minutes
last one displays the hours & minutes
The big disadvantage of this approach is that all three columns will have to be included in the relevant views.
Second approach (depending on your SP version) - have a workflow calculate hours & minutes and output the result to a single line of text column.
Lastly you can also consider column formatting, depending on SP version again.
You could try to CONCATENATE the hours and minutes, for example:
=CONCATENATE(INT((([SDate]-Created)*1440)/60),":",INT(([SDate]-Created)*1440))

how to Calculate payment hours+minutes in excel

let’s say I am getting paid 20$ per hour by by my employer and he wants to calculate hours+minutes (not only hours).
if I just want to calculate hours I will use =x*20 in excel
but I want to calculate hours and minutes, let’s say I worked for 1.30 hours, I can use same formula and write 1.30*20= but this doesn't work
the rate in cents is something like 33 cents, how can I just type something like 1.30 (one hour and 30 min) and get the result calculated according to 20$ per hour.
I don’t want to write in minutes because then each time I have to calculate manually then write and it will be messy.
I want to just type hours and minutes in one filed and get the result based on 20$ per hour on the other field. thanks
I use this formula: =ROUND(HOUR(X) + MINUTE(X)/60;2)*20 where X is the cell with the time
I'd use something like: =(TRUNC(x)+MOD(x,1)/0.6)*20
Trunc(x) = hours
Mod(x,1) = fractional part (0.3)
Convert the Mod value to Minutes by dividing by 0.60
Where x = the hour.minute value. (e.g., 1.3 = 1 hour 30 minutes)
This is probably a really long way to do it.
Take the time, as 1.3 for 1 hour 30 mins, remove the minutes and convert to a number you can multiply by, add the hours back and multiply by the hourly rate.
`=(((Time-INT(Time)) * 100/60) + INT(Time))*20

How to change the default format to Total hours: Total minute: Sec in excel?

I have a column which has total machine hours of certain activity. For instance, I have values like followed,
Total Production Time
5:35:55
36:35:09
55:24:45
I couldn't perform any calculation with this column neither import the column into other tools because excel gets this fields has hh: mm: ss AM/PM format. Even if I change to this column into text it gives me some decimal value.
My ultimate aim to calculate total minutes [total hours]*60 + minutes or make this column as it is to import it to my tool where I can achieve the same
I wanted to convert this hour into minutes.
Excel sees date/time as the number of days since 1/1/1900. Time is a decimal fraction of a day.
So 12 hours is 0.5
To get the number of minutes you would multiply by 24 hours and 60 minutes:
=A1*24*60
This will return the number of minutes.

How to get the difference in minutes between two dates in Microsoft Excel?

I am doing some work in Excel and am running into a bit of a problem. The instruments I am working with save the date and the time of the measurements and I can read this data into Excel with the following format:
A B
1 Date: Time:
2 12/11/12 2:36:25
3 12/12/12 1:46:14
What I am looking to do is find the difference in the two date/time stamps in mins so that I can create a decay curve from the data. So In Excel, I am looking to Make this (if the number of mins in this example is wrong I just calculated it by hand quickly):
A B C
1 Date: Time: Time Elapsed (Minutes)
2 12/11/12 2:36:25 -
3 12/12/12 1:46:14 1436.82
I Have looked around for a bit and found several methods for the difference in time but they always assume that the dates are the same. I exaggerated the time between my measurements some but that roll over of days is what is causing me grief. Any suggestions or hints as to how to go about this would be great. Even If I could find the difference between the date and times in hrs or days in a decimal format, I could just multiple by a constant to get my answer. Please note, I do have experience with programming and Excel but please explain in details. I sometimes get lost in steps.
time and date are both stored as numerical, decimal values (floating point actually). Dates are the whole numbers and time is the decimal part (1/24 = 1 hour, 1/24*1/60 is one minute etc...)
Date-time difference is calculated as:
date2-date1
time2-time1
which will give you the answer in days, now multiply by 24 (hours in day) and then by 60 (minutes in hour) and you are there:
time elapsed = ((date2-date1) + (time2-time1)) * 24 * 60
or
C3 = ((A3-A2)+(B3-B2))*24*60
To add a bit more perspective, Excel stores date and times as serial numbers.
Here is a Reference material to read up.
I would suggest you to use the following:
Combine date to it's time and then do the difference. So it will not cause you any issues of next day or anything.
Please refer to the image with calculations. You may leave your total minutes cell as general or number format.
MS EXCEL Article: Calculate the difference between two times
Example as per this article
Neat way to do this is:
=MOD(end-start,1)*24
where start and end are formatted as "09:00" and "17:00"
Midnight shift
If start and end time are on the same day the MOD function does not affect anything. If the end time crosses midnight, and the end is earlier then start (say you start 23PM and finish 1AM, so result is 2 hours), the MOD function flips the sign of the difference.
Note that this formula calculates the difference between two times (actually two dates) as decimal value. If you want to see the result as time, display the result as time (ctrl+shift+2).
https://exceljet.net/formula/time-difference-in-hours-as-decimal-value
get n day between two dates, by using days360 function =days360(dateA,dateB)
find minute with this formula using timeA as reference =(timeB-$timeA+n*"24:00")*1440
voila you get minutes between two time and dates
I think =TEXT(<cellA> - <cellB>; "[h]:mm:ss") is a more concise answer. This way, you can have your column as a datetime.

Resources