Calculate Days between same date field in multiple records, looping for each record
Be patient as I am a newbie to Sql Server (using 2008 R2) and SSIS. I have looked at multiple solutions in this and many other forums before submitting the question.
I am looking at records to identify the number of days between two dates. We review drug information. A member uses drug A (Code identifies this called GPI) and has refills throughout time. The goal is to calculate the days between Refill
1 and refill 2, then refill 2 to refill 3, etc. When that member record set is complete, we move to the next member record set.
The basic data would be as follows. Each record shown below would be a separate record in a single table :
Member
Drug Code
DateService
Days Between
1
A
3/1/2012
0
1
A
3/27/2012
27
1
A
4/21/2012
26
1
A
6/15/2012
56
1
F
2/25/2012
0
1
F
3/20/2012
25
1
F
4/17/2012
29
1
F
8/1/2012
107
5
B
2/15/2012
0
5
B
3/10/2012
25
5
B
4/10/2012
32
5
B
6/28/2012
80
5
B
7/10/2012
13
5
B
8/20/2012
42
The days between is the value I am looking to calculate. The First record for the grouping of Member and Drug Code will be zero ( 0 ) as there is no preceding date to calculate against. The process would then loop through the records at the grouping
(Member and Drug Code) until those records are calculated. It would then move on to the next group of Member/Drug records.
Any assistance would be greatly appreciated. Any clarification I can provide, I would be more than happpy too. Thank you in advance!
TSQL- Finding the difference in days of multiple records in SQL ServerWITH OrderDates AS (
SELECT
ROW_NUMBER() OVER (ORDER BY OrderDate DESC) AS RowNumber,
OrderDate
FROM OrdersTable
WHERE SKU = 'AA0000'
SELECT
AVG(DATEDIFF(DD, O2.OrderDate, O1.OrderDate)) AS AverageFrequency
FROM OrderDates O1
LEFT JOIN OrderDates O2
ON O2.RowNumber = O1.RowNumber + 1
Fabio Bilicki
Similar Messages
-
Working days between two date fields and Changing Factory Calendar
Hi,
I have to calculate working days between two date fields excluding the weekends and public holidays for Switzerland.
I have written the routine using factory calender and its working fine except for two problems now:
1. If any one of the date field is empty then teh rsult should be zero.
2. And the below code is working from 1996 but my cleints wants it to work for years before 1996 as well.
I also tried to change the Start date in SCAL for factory calendar but it says enter values between 1995 to 2020.
I am new to ABAP. Please help me how i can achieve these for below code.
DATA: IT_HOLIDAYS type TABLE OF ISCAL_DAY,
IS_HOLIDAYS TYPE ISCAL_DAY.
DATA: T_DATE TYPE SY-DATUM,
P_DATE TYPE SY-DATUM.
DATA : X_DATE(4) TYPE C.
DATA: CNT TYPE I.
REFRESH : IT_HOLIDAYS.
CLEAR : IT_HOLIDAYS.
T_DATE = SOURCE_FIELDS-/BIC/ZCCCHP812.
P_DATE = SOURCE_FIELDS-/BIC/ZCCCHP810.
CALL FUNCTION 'HOLIDAY_GET'
EXPORTING
HOLIDAY_CALENDAR = 'CH'
FACTORY_CALENDAR = 'CH'
DATE_FROM = P_DATE
DATE_TO = T_DATE
TABLES
HOLIDAYS = IT_HOLIDAYS
EXCEPTIONS
FACTORY_CALENDAR_NOT_FOUND = 1
HOLIDAY_CALENDAR_NOT_FOUND = 2
DATE_HAS_INVALID_FORMAT = 3
DATE_INCONSISTENCY = 4
OTHERS = 5.
DESCRIBE TABLE IT_HOLIDAYS LINES CNT.
X_DATE = T_DATE - P_DATE - CNT.
RESULT = X_DATE.
Please help
Regards
Zabina
Edited by: Syed786 on Nov 2, 2011 9:15 AMHi Zabina,
Try this function module 'DURATION_DETERMINE'.
Give the factory calendar and unit as DAY
With regards,
Rajesh -
How to calculate days between 2 dates excluding public holidays over SAP ?
Hi
Have a universe over SAP data. Trying to calculate days between 2 dates. SAP holds Public Holiday data in various tables e.g Thol and data is updated via scal. Using my univeres as a source I want to run reports for different countries so need to have various bank holidays not just UK. In SAP function modules handle this. Has anyone designed a solution to cater for this situation in a universe ?
Thanks in advance
MHi,
I assume you mean SAP R/3 (ECC) when you write SAP and SAP BW.
Are you using BW? If so, I would load the data into SAP BW, create a query using customer exit variables and build your universe on top of that...
-J -
How to calculate days between two DATES
How to calculate days between two DATES ?
which is the functional module for that ?
help meHi,
use function module : it works,
HR_HK_DIFF_BT_2_DATES
give output format = 03 and get the value in days.
code is as below :
data : DATE1 type P0001-BEGDA,
DATE2 type P0001-BEGDA,
YEARS type P0347-SCRYY,
MONTHS type P0347-SCRMM,
DAYS type P0347-SCRDD.
date1 = '20070331'.
date2 = '20070101'.
CALL FUNCTION 'HR_HK_DIFF_BT_2_DATES'
EXPORTING
DATE1 = date1
DATE2 = date2
OUTPUT_FORMAT = '03'
IMPORTING
YEARS = years
MONTHS = months
DAYS = days
EXCEPTIONS
INVALID_DATES_SPECIFIED = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
write : days.
Reward points, if helpful,
Regards,
Sandeep Kaushik -
Hi all,
I have the following requirement:
I have a date field 0calday and the user would like to add a specific no.of days to it, like for example 10 or 15 days. Then we use this computed date field in calculations in the query. Could you please help and let me know how we can no.of days to a date field? And also how we can compute no.of days between two date fields?
Regards,
Ashmith RoyHi Ashmith,
When the user enters both date and no. of days, and if you want to calculate no of days from the user entered date I think you can go for an exit where you can use the available function module which calculates the no of days from starting of the month for the given date. Then you can add up the days entered by the user and use another available function module which converts it to the dat format again based on the given days and the old date. I don't remember the function module names but i am sur ethey are available.
If the above thing is made possible then I think getting no of days between two dates is not a problem. Well i hope this will help you. -
Function module to calculate no of days between two date ranges
hi experts,
can some one please suggest a function module that can calculate no of days between specified date range.
for example : if i enter date range between 26.02.2011 to 20.05.2011, then it should calculate no of days between these dates.
Moderator message : Basic date questions not allowed. Read forum rules before posting. Thread locked.
Edited by: Vinod Kumar on May 25, 2011 10:57 AMHi,
Please search SDN.. there are lots of posts for teh same.
[http://wiki.sdn.sap.com/wiki/display/ABAP/FunctionModulerelatedonDate+calculations] -
Calculate Difference in Days Between two Dates
Hi,
I'm trying to figure out how to calculate the difference in days between two dates using JavaScript in LiveCycle. (JavaScript knowledge = minimal)
Where "Start_Date" and "Current_Date" are the names of the two dates in the Hierarchy palette. (both Date/Time Field)
*Current date is using the Object > Value > Runtime Property > Current Date/Time
I need a Text or Numeric field displaying the difference in days. (Difference_in_Days)
I've noticed the following code being pretty standard amongst other responses:
var
Start_Date = new Date(Start_Date);
var
Current_Date = new Date(Current_Date);
var
nAgeMilliseconds = Current_Date.getTime() - Start_Date.getTime();
var
nMilliSecondsPerYear = 365 * 24 * 60 * 60 * 1000;
I know there's code missing, and the above code might not be correct.
Please advise.Where "DateField01" = user entered date field
Where "DateFiled02" = Current Date/Time (Runtime Property)
where "Subform" = the subform containing DateField01
My script now resembles:
var oneDay = 24*60*60*1000;
var firstDate = new Date(Subform.DateField01.rawValue);
var secondDate = new Date(DateField02.rawValue);
(firstDate.getTime() - secondDate.getTime()) / oneDay;
I tried adding:
app.alert(String(diffDays));
Although I assume the reason I didn't get an error is because DateField01 is empty when the form is opened.
If I swap in actual dates instead of fields it works perfectly.
When I use the fields I have no information populating after I enter a date in "DateField01" -
How can I calculate the maximum number of days between two dates in a range of dates?
I have a column of dates spanning the couse of a few months. I would like to know if I can calculate the maximum number of days between each row and display the highest number. I currently have another column that calculates the days betwen the rows and I am currently just looking at the totals and highlighting the highest period.
Is this possible? Any help or suggestions are appreciated.
Thank you,
TrevorThis sounds totally possible, Can you post a screen shot of your table to make responding more focused? If you mean you want to:
A) compute the difference (in days) between two date in the same row, then
B) find the max duration (in days)
Here is my take on this problem:
D2 = C2-B2
select D2 and fill down
F1=MAX(D)
to perform the conditional formatting (to highlight the max duration) select column D, then set up conditional formatting as shown in the 1st image -
How to calculate number of days between two date in Template design?
Hello guys
I have a situation where I have to create a template that returns data, and one of the thing of the existing report is that there is a column that is actually the number of days between start date and end date columns..
So in template, how would I be able to do the same? I have start date and end date columns on the template, now when I created another column using expression like end date - start date and preview the template, I am getting errors saying :
Caused by: oracle.xdo.parser.v2.XPathException: Cannot convert 03/31/2009 to number.
at oracle.xdo.parser.v2.XSLStylesheet.flushErrors(XSLStylesheet.java:1534)
at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:521)
at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:489)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:271)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:155)
at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:192)
Please advice
ThanksHi
There is an extension function you can use, from the javadoc:
date_diff
public static long date_diff(java.lang.String format,
java.lang.String fromDate,
java.lang.String toDate,
java.lang.String locStr,
java.lang.String tzID)
Method to get the difference between two dates in the given locale. The dates need to be in "yyyy-MM-dd" format. This function supports only Gregorian calendar.
Parameters:
format - the format to which the difference is required; allowed formats are y (for Year), m(for month), w(for week), d(for day), h(for hour), mi(for minute), s(for seconds) and ms(for milliseconds)
fromDate - the first date
toDate - the second date
locStr - locale string -> lang-Territory
tzID - timezone ID ->http://java.sun.com/j2se/1.4.2/docs/api/java/util/TimeZone.html
Returns:
the difference in dates in the desired format
For example
<?xdoxslt:date_diff(‘d’,’2009-09-14’, ‘2009-09-20’,’en-US’,1)?>
give a result of 6
You can substitute in columns for the dates, just remember the date format required.
Regards
Tim -
I wanted to know how do you calculate the number of days between two dates
i wanted to know how do you calculate the number of days between two dates in java ? i get both the dates from the database. i guess there are many issues like leap year and Febuary having diff no of months ..etc.
thanks..
I solve my problem as
public class MyExample {
public static void main(String a[]) {
String stdate = "2009-03-01";
java.sql.Date currentDate = new java.sql.Date(System.currentTimeMillis());
java.sql.Date preDate = java.sql.Date.valueOf(stdate);
System.out.println(currentDate);
System.out.println(preDate);
// int dateCom = preDate.compareTo(currentDate);
// System.out.println(dateCom);
long diff = currentDate.getTime() - preDate.getTime();
int days = (int) Math.floor(diff / (24 * 60 * 60 * 1000));
System.out.println(days);
} -
Calculate Working Days between Two Dates
Hi All,
I'm creating a crystal report where I have to calculate the Number of Working Days between a date range, this should exclude the Weekends(done) but also exclude the public holidays which have defined in Holidays Calender.
I'm not using procedure or command, Operating directly with tables.
Any help would be appreciated.
Regards
Edited by: Pari Minhas on Nov 24, 2011 12:00 AMHi All,
I'm creating a crystal report where I have to calculate the Number of Working Days between a date range, this should exclude the Weekends(done) but also exclude the public holidays which have defined in Holidays Calender.
I'm not using procedure or command, Operating directly with tables.
Any help would be appreciated.
Regards
Edited by: Pari Minhas on Nov 24, 2011 12:00 AM -
Calculate business day between two dates
Hi Guys
I need the count of business days between two dates
Date1, Date2 i need the count only business day (exclude sartuday&sunday)
If date1 is null or nothing i need to pass 0
If date2 is null or nothing i need to pass 0
help on thisHi,
To achive this within SSRS, go to the report code window and add the below
Function getBusinessDaysCount(ByVal tFrom As Date, ByVal tTo As Date) As Integer
Dim tCount As Integer
Dim tProcessDate As Date = tFrom
For x as Integer= 1 To DateDiff(DateInterval.Day, tFrom, tTo) + 1
If Not (tProcessDate.DayOfWeek = DayOfWeek.Saturday Or tProcessDate.DayOfWeek = DayOfWeek.Sunday) Then
tCount = tCount + 1
End If
tProcessDate = DateAdd(DateInterval.Day, 1, tProcessDate)
Next
Return tCount
End Function
In the textbox where you need to display the value, add the below expression
=Code.getBusinessDaysCount(parameters!StartDate.Value,parameters!EndDate.Value)
It is assumed the you want to pass the two days from parameters named Startdate and EndDate. If not, modify the expression with required values.
Regards
Please click "Mark as Answer" if this resolves your problem or "Vote as Helpful" if you find it helpful. BH -
Hi Experts,
We have a requirement to fetch the value of 'No of days' between Invoice date and due date (Two variable date fields on the template) in an Analysis.
Please let me know the procedure of how to achieve the same.
Regards,
Revit's good for ideas but implementation a bit different
Oracle Business Intelligence Publisher Report Designer's Guide
This function provides a method to get the difference between two dates in the given locale. The dates need to be in "yyyy-MM-dd" format. This function supports only the Gregorian calendar. The syntax is as follows:
<?xdoxslt:date_diff(‘format’, ‘YYYY-MM-DD’, ‘YYYY-MM-DD’, $_XDOLOCALE, $_XDOTIMEZONE)?>
where
format is the time value for which the difference is to be calculated
Example:
<?xdoxslt:date_diff(‘d’, ‘2006-04-08’, ‘2006-04-01’, $_XDOLOCALE, ‘America/Los_Angeles’)?>
returns
-7 -
Calcutaing Days between to Date Attributes
I have created the formula variables and the Calculated Key Figure for my two date attributes per the How to Calculate with Attributes guide. The calculation for the days between the dates is correct when the two dates are within the same month. The problem occurs when the two dates are in different months. Here's an example... 6/19/2006 - 5/17/2006, the calculated key figure shows 102 days when the correct number or days should be 33. I setup the formula variables for the dates as Replacement Path, Replace variable with KEY, For Intervals Use From Value and Dimension ID = Number
Any suggestion would be helpful.
Regards,
CraigHi Craig Stephen
For Dimension ID = DATE. Try this.Also this link gives u complete solution.
http://www.sd-solutions.com/documents/SDS_BW_Replacement%20Path%20Variables.html -
How to query the number of working days between two dates
I'm looking for a solution to calculate the number of <i>working</i> days between two dates that I can use in a formated search.
Calculating the total number of days is pretty straight forward but does anyone know how to take into account the settings in the HLD1 (Holiday Dates) table?Hi Eric,
If you are purely looking to exclude holidays defined in the HLD1 table, then you should be able to do it with the following query
NOTE: The following query is an example using OINV table and the fields DOCDATE and DOCDUEDATE for a Particular DOCNUM 'xxx'
If you planning to use within the SAP module then replace DOCDATE and DOCDUEDATE with dynamic field references $[$x.x.x]
SELECT DATEDIFF(DAY,T0.DOCDATE,T0.DOCDUEDATE)-
(SELECT COUNT(STRDATE) FROM HLD1 WHERE STRDATE >= T0.DOCDATE AND STRDATE <= T0.DOCDUEDATE)
FROM OINV T0
WHERE T0.DOCNUM = xxx
Best Wishes
Suda
Maybe you are looking for
-
Importing Mailboxes from 10.3.9
The motherboard on my venerable slot-loading 1999 iMac DV, running 10.3.9, finally bit it recently. The cost to repair with labor far exceeded the value of the iMac, so I was not so hurt to have to go out and buy a new MacBook...which is just an awes
-
SAPPHONE (OR) ICI.
Dear all, We want to enable E-mail functionality through our CIC Webclient. But we are using SAPPHONE interface to connect to AVAYA (CTI) system. As my understanding from SAP Help documentation that, ICI supports Telephony and E-mail functionlities.
-
How to use outer join on this query?
Hi all, Hope doing well, sir i am having one query which is here SELECT C.* , P.Comp_Name Parent FROM Comp_Master C LEFT JOIN Comp_Master P ON C.Parent_ID = P.Comp_ID WHERE C.Comp_ID = 5; and here is my table Comp_Master data like this: Comp_ID Paren
-
Request in Yellow State in Delta update cube.
Dear Exprts, In request , no. of transfered record is 73260 & added record in cube 73212 with yellow status. Everything O.K. but in Data package 2 in update rule it has tranfered only 16247 out of 16295. ( this is same diffrence of number of reco
-
IWeb: UMy URL repeats itself
Hi, I hope someone can help me . . . . My website was designed by a friend using iWeb on his Mac. He has now transferred it all to my iWeb application on my Mac. I have made changes to the site, but the url address is repeating itself. So my old webs