You didn't supply data, so I simulated some data to illustrate. I only used one group, but you can add GROUP=factor to each BAND/SERIES/SCATTER statement to get separate lines/points for factor=0 and factor=1. You can ignore the DATA step and just focus on the PROC SGPLOT statements.
/* Simulate data that looks like the OP's picture */
data Sim;
call streaminit(12);
sigma = 5;
offset = 100;
do t = 1 to 100;
factor = 0;
if t <= 50 then do;
c = 0;
m = -1;
end;
else do;
c = -50;
m = -1.5;
end;
pred = 300 + m*t + c;
lclm = pred - sigma;
uclm = pred + sigma;
y = pred + rand("Normal", 0, sigma);
counter_pred = 300 - t;
counter_lclm = counter_pred - sigma;
counter_uclm = counter_pred + sigma;
output;
end;
run;
title "Time Series Model with Interruption";
proc sgplot data=Sim;
/* plot counterfactual in background */
band x=t lower=counter_lclm upper=counter_uclm / transparency=0.5;
series x=t y=counter_pred / lineattrs=(pattern=dash);
/* then overlay the predictions */
band x=t lower=lclm upper=uclm;
series x=t y=pred;
/* then plot the data */
scatter x=t y=y;
xaxis grid;
yaxis grid;
run;