Frage : Wie ich eine Reihe genistete Fallaussagen in einer Frage Mitgliedstaat-SQL 2005 vereinfachen kann

Hallo, das

I morgens arbeitend an einer oustanding Frage der durchschnittlichen Schuld und ich meine Kreditbetragbalancen haben aufgespaltet in Monate (Spalten) und in Schuldart (Reihen).  Unterhalb eines Abschnitts meines Codes sehen, der verwendet wird, um eine Juni-year-to-date durchschnittliche hervorragende Balance zu berechnen. Wenn die Schuld während des gesamten Zeitraums dann geöffnet gewesen ist, wird ein einfacher Durchschnitt in meiner Formel verwendet. Jedoch, wenn auf die Schuld einmal mitten in dem Zeitraum ich genommen wird, den Nenner in meiner Formel justieren müssen, um die Zahl den geöffneten Zeiträumen zu sein. Ich versuche, eine Reihe genistete FALL-Aussagen zu vermeiden, wie ich die Berechnung für jeden der zwölf Monate tun muss. Irgendwelche Ideen?

See mein Bildzubehör unten. Die erste Linie sollte durch 2 anstelle von 6 geteilt werden, da die Schuld für zwei Monate zu der Zeit des Reports nur geöffnet war.


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 als ytd_Jun_avg,
from #working

Thanks!
David

Antwort : Wie ich eine Reihe genistete Fallaussagen in einer Frage Mitgliedstaat-SQL 2005 vereinfachen kann

eingebaute Signum-Funktion verwenden

(Beg_bal + Jan_bal + Feb_bal + Mar_bal + Apr_bal + May_bal)
/(Zeichen (Beg_bal) + Zeichen (Jan_bal) + Zeichen (Feb_bal) + Zeichen (Mar_bal) + Zeichen (Apr_bal) + Zeichen (May_bal))
als ytd_Jun_avg,
Weitere Lösungen  
 
programming4us programming4us