Basteln Sie heute mit SAS 9.4 Weihnachtssterne (SAS Adventskalender 20. Türchen)

0

tuer20_blog

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   */

B1

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).

Tags
Share

About Author

Toby Text

Principal Solutions Architect

Sie schauen gerade auf mein Profilbild und verstehen wahrscheinlich genau so wenig wie ich, nämlich gar nichts. Vermutlich sehen Sie wahrlos verstreute Pixel auf einem Quadrat. Einige davon bilden wenige offensichtliche Grundmuster, die aber auch nichts konkretes aussagen. Man hat nicht die geringste Idee über die Zusammenhänge der Pixel und den Gesamtinformationen des Bildes. So sieht die mühsame Realität des Alltages eines Data Scientist aus. Wie das menschliche Auge bei der Betrachtung des Bildes, so ist der Data Scientist ratlos und benötigt Hilfe, wenn sich die Berge an operativen Daten vor ihm anhäufen. Hätten Sie gedacht, dass Sie die Lösung zum Verständnis des obigen Bildes vielleicht sogar schon seit langem mit sich in Ihrer Tasche tragen, davon nur noch nicht wussten? Überlegen Sie mal kurz und probieren Sie es aus. Und so wie Sie mit Ihrer Intuition vielleicht eine praktikable Lösung gefunden haben, so hat ein Data Scientist im richtigen Moment den genialen Einfall und findet einen erleuchtenden methodischen Ansatz den er allerdings noch nie konkret angewendet hat, zu dessen Realisierung er nur noch in die Tasche greifen muss, um die passende Softwarefunktionalität für die Implementierung herauszuziehen. Über solche interessante Softwarefunktionalität für Ihre Projekte möchte ich Sie informieren in meinem Blog.

Leave A Reply

Back to Top