Microsoft
Software
Hardware
Network
Question : How I can simplify a series of nested case statements in a MS SQL 2005 query
Hello,
I'm working on an average debt oustanding query and I have my debt principal balances split into months (columns) and debt type (rows). See below a section of my code used to calculate a June year-to-date average outstanding balance. If the debt has been open for the entire period then a simple average is used in my formula. However if the debt is incurred sometime in the middle of the period I need to adjust the denominator in my formula to be the number of periods open. I'm trying to avoid a series of nested CASE statements as I have to do the calculation for each of the twelve months. Any Ideas?
See my image attachment below. The first line should be divided by 2 instead of 6 as the debt was only open for two months at the time of the report.
select
Category
Beg_bal,
Jan_bal,
Feb_bal,
Mar_bal,
Apr_bal,
May_bal,
(Beg_bal + Jan_bal + Feb_bal + Mar_bal + Apr_bal + May_bal) / 6 as ytd_Jun_avg,
from #working
Thanks!
David
average-example.JPG
(28 KB)
(File Type Details)
average example
Answer : How I can simplify a series of nested case statements in a MS SQL 2005 query
use sign function
(Beg_bal + Jan_bal + Feb_bal + Mar_bal + Apr_bal + May_bal)
/ (sign(Beg_bal) + sign(Jan_bal) + sign(Feb_bal) + sign(Mar_bal) + sign(Apr_bal) + sign(May_bal))
as ytd_Jun_avg,
Random Solutions
php like zen cart want return to be categories instead of products
Windows Server 2008 R2: missing start menu of installed applications
Team Foundation Server 2010, deleted web site problem
get 550 5.7.1. Unable to relay for specific domains....
Microsoft AutoUpdate of Office 2008 for Mac
Need help to seperate Select output using TABs
PHP QUESTION - OSCOMMERCE - How to remove short description underneath products in Oscommerce 2.2
How to calculate OSPF cost?
sql job with proxy agent failed to execute
How do i verify an age element using javascript?