Proc Template
description
Transcript of Proc Template
Proc Template
Muokkautuvaa tyyliä eri ympäristöissäVirpi Virtanen, LähiTapiola
Jukka Peltola, Elo
Proc Templaten etuja
• Ympäristö voi olla hyvinkin monimuotoinen– MF massatulostusta eri järjestelmille– Windows-alustalla portaaliraportointia– AIX alustalla osa ympäristöstä– Käyttäjien työasemat
Tyylit
• SAS mukana tulee 53 tyylimääritettä (9.2).• Tyylimääritteitä voi tehdä itse.• Perustyylin lisäksi Print- ja Report-proseduurit
osaavat ottaa huomioon lisämääreitä tyylissä. • Tyylejä voidaan käyttää pdf-, html-, rtf- ja
excel-tulostuksissa.
Tyylit
Templaten tarkastelu
• Templatea voi tarkastella SASissa antamalla komennon
Odstemplateskomentorivillä. Jos templateen halutan tehdä muutoksia, on kannattavaa käyttää pohjana olemassa olevaa templatea ja halutut kohdat korvata uusilla.
Tyyli templaten koodi
• Tyylitemplate koostuu lohkoista, joissa määritellään tyylielementtejä.
• Template voi perustua olemassa olevaan templateen (parent).
• Lohkot ovat joko määritteleviä (style) tai korvaavia (replace). Määrittelevä lohko periyttää vanhemmalta määrittelemättömät osat, korvaava tekee uuden määrityksen.
Tyyli-templaten muokkaus
• Jos tyyliä halutaan muokata, kannattaa ottaa pohjaksi joku olemassa oleva tyyli joka on mahdollisimman lähellä haluttua ja tehdä tähän muutokset. Kaikkien tyylien äiti on Default-tyyli.
• Toinen vaihtoehto on määritellä parentiksi sopiva tyyli ja tehdä uusi style-lohko, jossa määritellään muutokset.
Jaetun tyylin käyttöön otto
• Jaetun tyylin saa käyttöön tekemällä viittauksen hakemistoon, johon tyylitiedosto on käännetty:
libname odstyyli ”tyylin sijaintipolku";ods path odstyyli.tyylin_nimi(read)sasuser.templat(update)sashelp.tmplmst(read);
Käyttöönotto
• Jos Proc Template koodi on ’yleisesti saatavilla’ työtilojen koodivinkeistä tai muualta, voi jokainen käyttäjä ottaa itse värityksen käyttöön ajamalla Proc Template koodin.
• Tyyli voidaan ’asentaa’ palvelimelle, jolloin se on käytettävissä raportointisovelluksissa.
• Uusien tyylien automaattinen mukaan tuominen edellyttäisi niiden paketointia asennusohjelmaan -> helpompi ajaa tyyli sisään.
Tyyli käyttöön
• Kannattaa tehdä Proc Templatella:– Liiketoiminnan pääkäyttäjä-tasoinen henkilö
pystyy tekemään värityksen muutokset tarvittaessa.• Tapiola -> LähiTapiola • LähiTapiola -> S-pankki• LähiTapiola -> Elo• jne
Yksinkertaisin puukotettava class color_list "Colors used in the default style" / 'fgB2' = cx0066AA 'fgB1' = cx004488 'fgA4' = cxAAFFAA 'bgA4' = cx880000 'bgA3' = cxD3D3D3 'fgA2' = cx0033AA 'bgA2' = cxB0B0B0 'fgA1' = cx000000 'bgA1' = cxF0F0F0 'fgA' = cx002288 'bgA' = cxE0E0E0;
• Voi tehdä minkä nimiset viittaukset tahansaclass colors ”Tyylin värimaailma” /
"musta” = cx000000 "valkoinen”= cxffffff"läpinäkyvä” = transparent"keltainen”= cxffd200 ...
RGB väritys
• Värien RGB-koodit ovat heksamuodossa:– cx R G B
• SASilla voi muuttaa koodin oikeaan muotoon– Esim. RGB(111, 222, 99)data _null_;r = put(111, hex2.);g = put(222, hex2.);b = put(99, hex2.);varikoodi = "cx" || compress(r) || compress(g) || compress(b);put r = ;put g = ;put b = ;put varikoodi = ;run;
• Lokiin tulostuu:
Omien väritysten käyttöönotto
replace color_list "Colors used in the default style" / 'link' = blue 'bgH' = cx00B92B 'fg' = black 'fgH' = white 'bg' = _undef_;
Fiksua?
• Tyylien on syytä olla tarjolla %includella käytettäviksi.
• Henkilökohtaisiin asetuksiin voi ajaa tyylit myös sasuser.templat:iin.
• Palvelimella olevat tyylit on syytä administratorin päivittää sashelp.tmplmst:iin.
• SAS sivuilta voi ladata päivitykset yleiseen käyttöön.
Eri ympäristöissä eri profiilit
Samat tyylit ovat käytössä vain, jos ne ajaa sisään sasuser.templat:iin.
Fontit define style Styles.Color_laTapiola / store = SASUSER.TEMPLAT; parent = styles.laTapiola; style fonts / ”Otsikko” = ("Calibri, Helvetica, sans-serif",10pt,bold) 'TitleFont' = ("Calibri, Helvetica, sans-serif",12pt,bold) 'StrongFont' = ("Calibri, Helvetica, sans-serif",10pt,bold) 'EmphasisFont' = ("Calibri, Helvetica, sans-serif",10pt,italic) 'FixedEmphasisFont' = ("Courier",9pt,italic) 'FixedStrongFont' = ("Courier",9pt,bold) 'FixedHeadingFont' = ("Courier",9pt,bold) 'BatchFixedFont' = ("SAS Monospace, Courier",6.7pt) 'FixedFont' = ("Courier",9pt) 'headingEmphasisFont' = ("Calibri, Helvetica, sans-serif",11pt,bold italic) 'headingFont' = ("Calibri, Helvetica, sans-serif",9pt,bold) 'docFont' = ("Calibri, Helvetica, sans-serif",10pt); style GraphFonts / 'GraphDataFont' = ("Calibri, Helvetica, sans-serif",8pt) 'GraphValueFont' = ("Calibri, Helvetica, sans-serif",10pt) 'GraphLabelFont' = ("Calibri, Helvetica, sans-serif",12pt,bold) 'GraphFootnoteFont' = ("Calibri, Helvetica, sans-serif",12pt,bold) 'GraphTitleFont' = ("Calibri, Helvetica, sans-serif",14pt,bold);
Käyttö
• Oma tyylielementticlass SystemTitle /
backgroundcolor = colors("läpinäkyvä") color = colors("musta") textalign = rightmargintop = 0.1 cmmarginbottom = 0 cmfont = fonts("otsikko");
• Tyyli tulosteeseenods pdf file = ”tiedoston_sijainti_ja_nimi" style = omatyyli;
Omat kuvaajat• Tehdään myös proc templatella (GTL)define statgraph graphs.kuvatesti / store = testi.testityy; dynamic labeli xb yb grouppi dataskini xs ys legendlabelsit viivacol; begingraph; layout overlay /
walldisplay = (outline fill) xaxisopts = ( label = (labeli)) yaxisopts = ( display = (ticks tickvalues line ) griddisplay = on offsetmax = .1 offsetmin = 0);
barchart x = xb y = yb / group = grouppi grouporder = ascendingname = 'bar'barwidth = 0.5dataskin = dataskinidisplay = (fill);
seriesplot x = xs y = ys / name = 'series' legendlabel = legendlabelsitconnectorder = xaxis lineattrs = (thickness = 4);
discretelegend 'bar' 'series'; entry halign = right "Yhteensä: &lkm" / valign = top border = false;
endlayout; endgraph;end;
• Kutsutaan proc sgrenderillä (template = kuvaajannimi)
Omat kuvaajat
Omat kuvaajat
• Myös piirakkakuvio onnistuu GTL:llä ja sgrenderillä
Alihakemistot tyylitiedostossalibname testi "c:\temp";
ods path testi.testityy(update)
proc template;
define style styles.testik / store = testi.testityy; . . .end;
define statgraph graphs.kuvatesti / store = testi.testityy;. . .end;run;
• Määritellään kirjasto ”testi”• Asetetaan kirjaston tyylitiedosto
päivitys-tilaan• Aloitetaan proc template• Aloitetaan tyylimääritys
– Alihakemisto– Tyylin tai kuvaajan nimi– Tyylikirjasto– Tyylitiedoston nimi (tiedostomuoto
on .sas7bitm)