Improve company productivity with a Business Account.Sign Up

x
?
Solved

STDEVP in SQL

Posted on 2016-10-24
2
Medium Priority
?
147 Views
Last Modified: 2016-10-27
I have data that is arranged this way (see below) and need to calculate the Dispersion = Standard Deviation/Average of Total_NR rolled up by the MGR_NAME. How can I achieve this in T-SQL? Thank you.

The way it's supposed to work is: Sum (Total_NR) divided by the average of the sum of NR which we should then so a STDEVP on that average.

MGR_NAME      EMPL      HC      Total_NR           Avrg             Dispersion?
JOSE PH        1027         1           $3,974.00          0.000107      
JOSE PH      1233      1           $3,324.00          0.000074      
JOSE PH      1354      1         $51.87                  0.000012      
JOSE PH      1375      1      $2,302.67          0.000049      
JOSE PH      1486      1      $1,230.68          0.000045
0
Comment
Question by:saved4use
  • 2
2 Comments
 
LVL 38

Expert Comment

by:Pawan Kumar
ID: 41857935
can you pls post the expected output for Dispersion column?
0
 
LVL 38

Accepted Solution

by:
Pawan Kumar earned 2000 total points
ID: 41857941
Try..

SELECT stdddv.*,AVG(Avrg) OVER (PARTITION BY MGR_NAME) AvgByManagerName , ny StandardDeviation, ny1  StandardDeviation2 ,
ny/AVG(Avrg) OVER (PARTITION BY MGR_NAME) Dispersion1, ny1/AVG(Avrg) OVER (PARTITION BY MGR_NAME) Dispersion2 FROM stdddv
CROSS APPLY
(
	SELECT STDEV(Total_NR) ny , STDEVP(Total_NR) ny1
	FROM stdddv 
)b

Open in new window


OR....

SELECT stdddv.*,AVG(Avrg) OVER (PARTITION BY MGR_NAME) AvgByManagerName , STDEVP(Total_NR) OVER(PARTITION BY MGR_NAME) StandardDeviation, STDEV(Total_NR) OVER(PARTITION BY MGR_NAME)  StandardDeviation2 ,
STDEVP(Total_NR) OVER(PARTITION BY MGR_NAME)/AVG(Avrg) OVER (PARTITION BY MGR_NAME) Dispersion1, STDEV(Total_NR) OVER(PARTITION BY MGR_NAME) /AVG(Avrg) OVER (PARTITION BY MGR_NAME) Dispersion2 
FROM stdddv

Open in new window

0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This shares a stored procedure to retrieve permissions for a given user on the current database or across all databases on a server.
MSSQL DB-maintenance also needs implementation of multiple activities. However, unprecedented errors can hamper the database management. In that case, deploying Stellar SQL Database Toolkit ensures fast and accurate database and backup repair as wel…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…

606 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