Solved

Grouping Problem

Posted on 2004-09-21
8
311 Views
Last Modified: 2008-02-01
Hello Experts,

Today just isn't my day!  I am trying to figure out how I can find the deviation from the linear regression through the use of custom made functions.

So far i have this...

___________________________________________________________________________
Option Compare Database

Function LinRegSlope(n, x, y, xy, xx)

'n = Count of items
'x = Sum of the X Axis
'y = Sum of the Y Axis
'xy = Sum of the X Axis * the Y Axis  SUM(x*y)
'xx = x^2

LinRegSlope = ((n * (xy)) - ((x) * (y))) / ((n * (xx)) - ((x) * (x)))     'The slope of the line

End Function

Function LinRegYInt(n, x, y, xy, xx)


'n = Count of items
'x = Sum of the X Axis
'y = Sum of the Y Axis
'xy = Sum of the X Axis * the Y Axis  SUM(x*y)
'xx = x^2


Dim m As Double ' Slope

m = ((n * (xy)) - ((x) * (y))) / ((n * (xx)) - ((x) * (x)))     'm = The slope of the line

LinRegYInt = (y - (m * x)) / n

End Function
________________________________________________________________________

This is working fine but my problem is the grouping.  Is there a way i can use the SUM and at the same time find the deviation from an indivual record?

Thanks!
0
Comment
Question by:Navicerts
  • 5
  • 2
8 Comments
 
LVL 27

Assisted Solution

by:jjafferr
jjafferr earned 100 total points
ID: 12116628
Hi Navicerts,


you can use the dsum with a where condition
0
 
LVL 16

Accepted Solution

by:
Nestorio earned 400 total points
ID: 12117009
You can use a sum this way in a query:

Select fld1, (select sum(amount1) from table1) as SumAmount
From table1
0
 
LVL 16

Expert Comment

by:Nestorio
ID: 12117115
Example using a function:

Select LinRegSlope((select count(*) from table), (select sum(x) from table), (select sum(y) from table), (select sum(x*y) from table), (select sum(x*x) from table)) as m
From table

0
 
LVL 16

Expert Comment

by:Nestorio
ID: 12119190
Try this:

SELECT x, y, y - (q.m*x+ q.b) AS Deviation
FROM tablexy, [select
        count(*) as n,
        sum(x) as sx,
        sum(y) as sy,
        sum(x*x) as sxx,
        sum(x*y) as sxy,
        ((n * (sxy)) - ((sx) * (sy))) / ((n * (sxx)) - ((sx) * (sx)))  as m,
        (sy - (m * sx)) / n as b  from tablexy]. AS q;

where "x" and "y" are the fields x and y of the table "tablexy"
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 7

Author Comment

by:Navicerts
ID: 12122151
I stopped working on it about an hour after i made the post yesterday, sorry for the delay :)  I'll test this out today and let you guys know how it works out, thank you for all the suggestions!
0
 
LVL 16

Expert Comment

by:Nestorio
ID: 12122707
Hi Navicerts,

I've tested  the last solution I posted and it worked OK. Just one query and no need to use functions.

Regards
0
 
LVL 16

Expert Comment

by:Nestorio
ID: 12160502
Hi Navicerts,

Any updates on this?
0
 
LVL 7

Author Comment

by:Navicerts
ID: 12160879
oops! forgot to come back to this one, i tried out both options and they work.  I am going to go with making the functions because my end users like to do thier own sql statements and use access so i figure ill give them a function they can use.  Unfortunatly i have been sidetracked before i could finish the project (not a surprise here).  But thank you for the soultions!
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Suggested Solutions

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
In Debugging – Part 1, you learned the basics of the debugging process. You learned how to avoid bugs, as well as how to utilize the Immediate window in the debugging process. This article takes things to the next level by showing you how you can us…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

757 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now