Hello Chris,
This is a real life example. I've got this code from a macro that produces SQL code in LOG (options mprint):
[pre]
proc SQL;
create view pd as
select
case
when dlq = 1 and iltv=0 and RB < 555 then 100*1+0 when dlq = 1 and iltv=0 and
555 <= RB < 634 then 100*1+1 when dlq = 1 and iltv=0 and 634 <= RB < 672 then 100*1+2 when dlq = 1 and iltv=0 and 672 <= RB then
100*1+3 when dlq = 1 and iltv=1 and RB < 558 then 100*1+50+0 when dlq = 1 and iltv=1 and 558 <= RB < 644 then 100*1+50+1 when dlq =
1 and iltv=1 and 644 <= RB < 707 then 100*1+50+2 when dlq = 1 and iltv=1 and 707 <= RB < 732 then 100*1+50+3 when dlq = 1 and
iltv=1 and 732 <= RB then 100*1+50+4 when dlq = 2 and iltv=0 and RB < 646 then 100*2+0 when dlq = 2 and iltv=0 and 646 <= RB then
100*2+1 when dlq = 2 and iltv=1 and RB < 556 then 100*2+50+0 when dlq = 2 and iltv=1 and 556 <= RB < 631 then 100*2+50+1 when dlq =
2 and iltv=1 and 631 <= RB then 100*2+50+2 when dlq = 3 then 100*dlq when dlq = 4 then 100*dlq when dlq > 4 then 500 else 999
end as pnam label="RC75 RB Pools",
date, SUM(PD*N) as Nb, SUM(N) as N,
SUM(PD*N)/SUM(N)*10000 as bps label="PD, bps" format=6.1,
SUM(Bal) as Bal format 15.0
from _w.ds75_&t
group by date, pnam
order by date, pnam
;quit;
[/pre]
Automatic identation does not help in this case. All Case clauses are messed.
Sincerely,
SPR