Fretting over what to wear when you go back to work on Tuesday? The Emily Post Institute has advice on Wearing White After Labor Day. Happy Labor Day!
(Update: Added PERCENT keyword to PIECHART statement)
* Fun With SAS ODS Graphics: Can You Wear White After Labor Day?
Reference: Wearing White After Labor Day, emilypost.com/advice/wearing-white-after-labor-day;
proc format; * Special formats;
picture mmmdd other='%b%0d' (datatype=date); * Dates=mmmdd;
picture ddd other='000 Days'; * Days=nnn Days;
data When2WearWhite(keep=DateRange Days); * Create data to chart;
LaborDay=holiday('LABOR',year(today())); * When is Labor Day this year?;
MemorialDay=holiday('MEMORIAL',year(today())); * When is Memorial Day this year?;
length DateRange $ 30.; * Date range label for chart;
DateRange=put(MemorialDay,mmmdd.)||'-'||put(LaborDay,mmmdd.);
DaysInYear=intck('days', /* How many days in this year? */
intnx('years',today(),-1,'e'),intnx('years',today(),0,'e'));
call symput('degrees', /* Compute degrees relative to piechart origin for start of Memorial-Labor Day pie slice */
put(360-(substr(put(MemorialDay,julian5.),3,3)/DaysInYear*360-90),3.));
Days=LaborDay-MemorialDay+1; * Days between Memorial Day & Labor Day (Definitely OK to wear white!);
output;
Days=DaysInYear-Days; * Rest of year (Maybe OK to wear white?);
DateRange='Jan01-'||put(MemorialDay-1,mmmdd.)||','||put(LaborDay+1,mmmdd.)||'-Dec31 ?';
output;
ods graphics on / reset width=8in height=5in; * Create a pie chart with two slices (Memorial-Labor Day, rest of year);
proc template;
define statgraph laborday;
begingraph / datacolors=(white lightgray); * Memorial Day to Labor Day=White (OK), rest of year=LighGray (OK??);
entrytitle 'CAN YOU WEAR WHITE AFTER LABOR DAY?';
layout region; /* Pie wedges proportional to number of days in date range */
piechart category=DateRange response=Days / /* Position Memorial-Labor Day wedge as if year is a clock w/Jan. 1 at 12:00 */
start=°rees categorydirection=clockwise dataskin=crisp
datalabelcontent=(category response percent) datalabelattrs=(color=black) datalabellocation=callout;
endlayout;
endgraph;
end;
run;
proc sgrender data=When2WearWhite template=laborday;
format Days ddd.;
run;
Hooray! Wearing my white shoes and matching belt in celebration.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.