Solved

Best way to average

Posted on 2006-10-30
9
327 Views
Last Modified: 2008-03-10
Crystal Reports XI

I have a report that goes from month to date.  There is a field I need to average, so how would I average quantity sold.
Example
Its October 12th
Oct 1 to 7th - 20 sold
Oct 8 to 12th - 10 sold
So the average should be 15 a week.
0
Comment
Question by:ThomasBallardIT
  • 4
  • 4
9 Comments
 
LVL 77

Expert Comment

by:peter57r
ID: 17835837
Hi ThomasBallardIT,
How are you defining a week?
1-7, 8-14, 15-21 etc?
or some other way?

Pete
0
 
LVL 3

Author Comment

by:ThomasBallardIT
ID: 17836007
Yes I would be defining a week as 7 days.  The way it is setup now, is that I pick a date and use the "month to date" thingamuhbob.  So I could pick Oct 2nd or Oct 29th or any day and I need it to be averaged in that manner.

Example
If I picked oct 2nd   - 5 sold for the month     Average would be 5
If I picked Oct 25th  - 90 sold for the month   Average would be 22
If I picked Oct 15th  - 50 sold for the month.  Average would be 25
0
 
LVL 100

Accepted Solution

by:
mlmcc earned 125 total points
ID: 17836101
How do you define the week?

In case 3 - Oct 15 you have 2 weeks
In case 2 - Oct 25 you have 4 weeks

I think you need to ise some kind of test like

IF (Day({?YourDate}) <= 10) then
  TotalSold
ELSE IF (Day({?YourDate}) <= 17) then
  TotalSold \ 2
ELSE IF (Day({?YourDate}) <= 24) then
  TotalSold \ 3
ELSE
  TotalSold \ 4

mlmcc
0
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 
LVL 3

Author Comment

by:ThomasBallardIT
ID: 17836341
This is what I got but I need a date-time field?


if {InvMovements.EntryDate} <= 8 then {InvWarehouse.MtdQtySold}
else
if  {InvMovements.EntryDate} <=15 then {InvWarehouse.MtdQtySold} / 2
else
if  {InvMovements.EntryDate} <=23 then {InvWarehouse.MtdQtySold} / 3
else
{InvWarehouse.MtdQtySold} / 4
0
 
LVL 100

Expert Comment

by:mlmcc
ID: 17836972
The DAY function will pull the Day value out of the DateTime field.

if  Day({InvMovements.EntryDate}) <= 8 then {InvWarehouse.MtdQtySold}
else
if  Day({InvMovements.EntryDate}) <=15 then {InvWarehouse.MtdQtySold} / 2
else
if  Day({InvMovements.EntryDate}) <=23 then {InvWarehouse.MtdQtySold} / 3
else
{InvWarehouse.MtdQtySold} / 4

mlmcc
0
 
LVL 3

Author Comment

by:ThomasBallardIT
ID: 17837142
It appears to be working for the most part, but there a few not dividing by anything when in this case they should all be dividing by 4.



if  Day({InvWarehouse.DateLastPurchase}) <= 8 then {InvWarehouse.MtdQtySold} / 1
else
if  Day({InvWarehouse.DateLastPurchase}) <=15 then {InvWarehouse.MtdQtySold} / 2
else
if  Day({InvWarehouse.DateLastPurchase}) <=23 then {InvWarehouse.MtdQtySold} / 3
else
{InvWarehouse.MtdQtySold} / 4
0
 
LVL 100

Expert Comment

by:mlmcc
ID: 17837193
Could you have some NULL dates?  or bad date fields?

mlmcc
0
 
LVL 3

Author Comment

by:ThomasBallardIT
ID: 17837227
I figured it out

if day(maximum({InvWarehouse.DateLastPurchase})) <= 8 then {InvWarehouse.MtdQtySold} / 1
else
if  day(maximum({InvWarehouse.DateLastPurchase})) <=15 then {InvWarehouse.MtdQtySold} / 2
else
if  day(maximum({InvWarehouse.DateLastPurchase})) <=23 then {InvWarehouse.MtdQtySold} / 3
else
{InvWarehouse.MtdQtySold} / 4

0
 
LVL 100

Expert Comment

by:mlmcc
ID: 17837730
Glad i could help

mlmcc
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I hate sub reports and always consider them the last resort in any reporting solution.  The negative effect on performance and maintainability is just not worth the easy ride they give the report writer.  Nine times out of ten reporting requirements…
Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question