Liebe Kollegen und Kunden,
ich verfolge diesen Blog schon seit Anfang Dezember, aber nun muss ich mich auch mal zu Worte melden: In den letzten Tagen wurden die Weihnachtswichtel ja regelrecht ausgebeutet, dass es mir die Schamröte ins Gesicht trieb. Schneider-, Schuster-, Maler-, Druckerwichtel mussten täglich ihre Effizienz steigern, immer neue Wünsche von den Lippen der verwöhnten und ungezogenen Kinder ablesen, diese vorauseilend erfüllen und dazu auch noch immer mehr produzieren, einpacken und verschicken. Das ist ja der Wahnsinn. Muss ich alle erst mal daran erinnern, dass die Internationalen Arbeitsrechte auch im Wichtelland gelten? Basteln Sie heute mit SAS 9.4 Weihnachtssterne!
Nun lasst diesen lieben, freundlichen Geschöpfen auch ihren wohl verdienten Feierabend, zumindest in unserer Phantasie! Wenigstens am kommenden Wochenende, bevor in den nächsten Tagen noch mal der Run aufs Fest beginnt.
Also heute ist Entspannung für alle angesagt
Und was gibt es da schöneres als sich bei Adventsgebäck, einem Glas Tee im Kerzenschein hinzusetzen, um in Ruhe und Gemütlichkeit etwas Weihnachtliches zum Schmucke der eigenen Wohnung oder des Weihnachtsbaumes zu basteln? Dafür habe ich nun ein Schnittmuster mitgebracht und unten steht die Arbeitsanweisung zum Basteln.
Das Schnittmuster sieht folgendermaßen aus:
data x(drop=t); do id = 1 to 20; t = (id - 1) * 2 * constant('pi') / 20; x = cos(t); y = sin(t); output; end; run;
data curves(drop=id t: m d); do id1 = 1 to 20; do id2 = id1 + 1 to 20; g + 1; set x(rename=(x=t1 y=t2)) point=id1; set x(rename=(x=t3 y=t4)) point=id2; d = (t4 - t2) ** 2 + (t3 - t1) ** 2; x1 = t1; y1 = t2; output; /* output the starting point */
td = ifn(abs(t4 - t2) lt 1e-12, 1e-12, t4 - t2); m = -(t3 - t1) / td; t1 = mean(t1, t3); t2 = mean(t2, t4); x1 = t1 + ifn(t1 gt 0 or td eq 1e-12, -1, 1) * sqrt(0.1 * d / (1 + m * m)); y1 = m * (x1 - t1) + t2; output; /* output the midpoint */
x1 = t3; y1 = t4; output; /* output the ending point */ end; end; stop; run;
data both; merge x curves; run;
ods graphics / width=600 height=600 noborder; /* Using ODS layout to align 3 graphs on one row */ ods layout start columns=3;
ods region; /* When using EG with HTML output */ ods html(id=eghtml) style=plateau; /* uncomment this for SAS Studio/SAS University Edition */ *ods html5(id=web) style=plateau; proc sgplot data=both noautolegend noborder; scatter y=y x=x / markerattrs=(symbol=circlefilled size=5px); series y=y1 x=x1 / group=g lineattrs=graphdata1(pattern=solid); spline y=y1 x=x1 / group=g lineattrs=graphdata2(pattern=solid) arrowheadpos=both; xaxis display=none; yaxis display=none; run;
ods region; /* When using EG with HTML output, comment */ ods html(id=eghtml) style=dove; /* uncomment this for SAS Studio/SAS University Edition */ *ods html5(id=web) style=dove; proc sgplot data=both noautolegend noborder; scatter y=y x=x / markerattrs=(symbol=circlefilled size=5px); series y=y1 x=x1 / group=g lineattrs=graphdata1(pattern=solid); spline y=y1 x=x1 / group=g lineattrs=graphdata2(pattern=solid) arrowheadpos=both; xaxis display=none; yaxis display=none; run;
ods region; /* When using EG with HTML output */ ods html(id=eghtml) style=statdoc; /* uncomment this for SAS Studio/SAS University Edition */ *ods html5(id=web) style=statdoc; proc sgplot data=both noautolegend noborder; scatter y=y x=x / markerattrs=(symbol=circlefilled size=5px); series y=y1 x=x1 / group=g lineattrs=graphdata1(pattern=solid); spline y=y1 x=x1 / group=g lineattrs=graphdata2(pattern=solid) arrowheadpos=both; xaxis display=none; yaxis display=none; run;
ods layout end;
Nun zur Bastelanweisung
Kopieren Sie den SAS Code (Das Schnittmuster) und schicken Sie ihn im SAS Programm Editor, im SAS Studio oder im Enterprise Guide ab. Wer keine SAS 9.4 (TS1M3) Umgebung hat, kann sich kurz in 5 Minuten bei SAS On Demand for Academics registrieren und den Code in der kostenlosen SAS Cloud abschicken. Lassen Sie sich vom Ergebnis überraschen. Man kann es ausdrucken, ausschneiden und ins Fenster hängen.
Viel Spaß damit! Ich wünsche einen entspannten 4. Advent
Toby Text
P.S: Sollte es länger als eine Minute dauern, bis das Ergebnis vorliegt, so schreiben Sie doch noch schnell noch einen 32 Core SAS High Performance Analytics Server Blade mit auf Ihren Wunschzettel. Wünschen kann man sich ja alles.
/* Quelle: Example from Chapter 5 of Warren Kuhfeld's book “Advanced ODS Graphics Examples”
https://blogs.sas.com/content/graphicallyspeaking/advanced-ods-graphics-examples */
P.S. Sollten Sie auf einen Error im „Spline“- Statement von PROC SGplot stoßen, so müssen Sie einen Upgrade auf SAS 9.4 (TS1M3) vornehmen, sich schnell noch das 32 Core Server Blade wünschen, oder Sie können direkt die obige Grafik mit den drei Sternen ausdrucken. Aber bitte übertreiben Sie es nicht: „Save a Tree“ sonst fehlen und allen nächste Woche die Tannenbäume.
-------->
Unsere bisherigen Themen: Business Analytics allgemein (1), Vergangenes analysieren – Künftiges prognostizieren (2), Assoziationsanalyse (3), Text Analytics / Net Promoter Scores (4), Clusteranalysen (5), Lineare Regression (6), Master Data Management (7), Forecasting (8), Optimierung (9), Textanalyse (10), Entscheidungsbäume (11), Trendanalyse (12), Zusammenfassung des Gelernten (13), Netzwerkanalysen (14), Data Quality Steward (15), Optimierung 2 (16), Prozesskontrolle (17), Predictive Maintenance (18), Scoring (19).