Die Daten stammen aus dem SASHELP.AIR-Datensatz, einem in SAS integrierten Beispieldatensatz.
1 Codeblock
DATA STEP
Erklärung : Dieser DATA _NULL_-Block generiert dynamisch eine PROC FORMAT-Prozedur. Er erstellt ein Format namens `pct_`, das numerische Werte (einen Prozentsatz von 0 bis 1 darstellend) hexadezimalen Farbcodes zuordnet. Die Farben variieren progressiv von Blau (kalt, niedriger Prozentsatz) zu Rot (heiß, hoher Prozentsatz). Werte außerhalb des definierten Bereichs erhalten standardmäßig eine graue Farbe.
Kopiert!
* Create a format to display colors ranging from Blue (cold) to Red (hot) ;
data _null_ ;
call execute('proc format fmtlib ; value pct_') ;
max=1;
maxloop=255 ;
do i=1 to maxloop ;
color='cx'||put(i/maxloop*255,hex2.)||'00'||put((maxloop-i)/maxloop*255,hex2.) ;
from=((i-1)/maxloop)*max ;
to=(i/maxloop)*max ;
call execute(put(from,best.)||'-'||put(to,best.)||'='||quote(color)) ;
end ;
call execute('.="light gray" other="cxd0d0d0" ; run ;') ;
run ;
1
* Create a format to display colors ranging from Blue (cold) to Red (hot) ;
call execute('.="light gray" other="cxd0d0d0" ; run ;') ;
13
RUN ;
2 Codeblock
PROC SQL
Erklärung : Verwendet PROC SQL, um die Maximal- und Minimalwerte der Variablen 'air' aus dem Datensatz `sashelp.air` zu extrahieren. Diese Werte werden anschließend in den Makrovariablen `&max` und `&min` gespeichert. Eine Makrovariable `&range` wird berechnet, um die Gesamtspanne zwischen Minimum und Maximum zu erhalten, was später zur Normalisierung der Daten dient.
Kopiert!
* get the maximum value of air ;
proc sql ;
select max(air),min(air) into :max,:min from sashelp.air ;
%let range=%sysevalf(&max-&min) ;
1
* get the maximum value of air ;
2
PROC SQL ;
3
select max(air),min(air) into :max,:min from sashelp.air ;
4
%let range=%sysevalf(&max-&min) ;
3 Codeblock
DATA STEP Data
Erklärung : Dieser DATA STEP erstellt einen neuen temporären Datensatz namens 'air'. Er liest den Datensatz `sashelp.air`, extrahiert Jahr und Monat aus der Variablen 'date' und berechnet dann eine neue Variable 'pct'. Diese Variable 'pct' stellt den normalisierten Wert von 'air' dar, ausgedrückt als Prozentsatz über dem Minimum und innerhalb des durch `&range` definierten Bereichs. Sie quantifiziert die relative Luftqualität.
Kopiert!
* express values of air as a percentage of the maximum ;
data air ;
set sashelp.air ;
year=year(date) ;
month=month(date) ;
* percentage is the level above the minimum ;
pct=(air-&min)/&range ;
run ;
1
* express values of air as a percentage of the maximum ;
2
DATA air ;
3
SET sashelp.air ;
4
year=year(date) ;
5
month=month(date) ;
6
* percentage is the level above the minimum ;
7
pct=(air-&min)/&range ;
8
RUN ;
4 Codeblock
PROC TABULATE
Erklärung : Dieser Block generiert einen interaktiven HTML-Bericht ('test.html') unter Verwendung von ODS HTML und PROC TABULATE. Er zeigt eine Kreuztabelle der Variablen 'pct' (Luftqualität in Prozent) an, klassifiziert nach Jahr und Monat. Der Stil der Zellen wird durch Anwendung des zuvor erstellten Formats `pct_` geändert, wodurch der Hintergrund der Tabellenzellen je nach 'pct'-Wert von Blau (besser) zu Rot (schlechter) eingefärbt wird, um eine intuitive Visualisierung der Luftqualität zu ermöglichen.
Kopiert!
* tabulate the results indicating maximum as red, minimum as blue ;
ods html file='test.html' ;
title 'Air Quality over the years' ;
footnote 'Blue (cold) is best, Red (hot) is worst' ;
proc tabulate data=air style={background=pct_.} ;
class year month ;
var pct ;
label pct='Air Quality Percent of worst month' ;
table sum=''*pct*f=percent.,year='Year',month='Month of Year' ;
run ;
ods html close ;
1
* tabulate the results indicating maximum as red, minimum as blue ;
2
ods html file='test.html' ;
3
title 'Air Quality over the years' ;
4
footnote 'Blue (cold) is best, Red (hot) is worst' ;
5
PROC TABULATEDATA=air style={background=pct_.} ;
6
class year month ;
7
var pct ;
8
label pct='Air Quality Percent of worst month' ;
9
TABLE sum=''*pct*f=percent.,year='Year',month='Month of Year' ;
10
RUN ;
11
ods html close ;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.