Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

SAS sistem na Web-u

Pokretanje SAS® sistema na Web

Sažetak

Na najosnovnijem nivou mreže obezbeđuje sredstva da dele SAS skupovima podataka, programima, makroima, itd i koristi više prilagodjen interfejs nego što je predviđeno ovim funkcijama ranije od drugih internet protokola (FTP, e-mail , e-mail liste, diskusione grupe). I, počevši od SAS 6,11, SRS sama može pristupiti udaljenim skupovima podataka i datotekama pomoću mreže zasnovane na URL metodi koji pruža saopštenja o fajlu. Ali koje mogućnosti postoje za povezivanje SAS direktno na Internet, i kako se te mogućnosti mogu istražiti?

Ovaj rad opisuje neke od mojih eksperimenata i iskustava koje istražuju moguće oblike interakcije između SRS i World Wide Web, uključujući

  • pisanje prilagođeno CGI skriptama za statističke i grafičke aplikacije
  • opšti SAS - web CGI gatevay koji služi SAS
  • inteligentne programe za udaljene korisnike

Uvod

Pre nekoliko godina sam počeo da konvertujem SAS vezane materijale za nekoliko kurseva ([Psych3030], [Psych6140]) od mainframe-a na Novell-u zasnovanom na PC laboratoriji. Dokumenti kursa su konvertovani u HTML i povezani sa SAS fajlovima na serveru.

Iako je imao mnogo korisnih efekata, stvorio dva prekinuta okruženja za rad učenika: oni su mogli da pročitaju materijale za kurs i povezane SAS fajlove sa Netscape-a, ali su morali da cut / paste ili da pronađu datoteke na lokalnom fajl sistemu da ih pokrenu sa SAS. Dakle, to je neki osećaj da traže načine da povežu SAS programe više dinamičkih web dokumenata domaćina.

Na serveru vs klijent-strani SAS

Obradu klijent-server modela omogućava obradu zajednički podeljenih dokumenata između lokalnog računara i udaljenog, u idealnom slučaju, svaka mašina je poverila one delove zadatka može da najlakse da izvrši. SAS obrada može vršiti bilo na lokalnom računaru klijenta (koristeći bilo na SAS-isporučeni Plugin za Netscape ili MSIE, ili definisanjem SAS kao ``pomagač App'' za svoj browser), ili na serveru korišćenjem CGI skripte. Isto tako, podaci I resursi i SAS programi mogu biti bilo gde na mreži. Trik je u tome da ih povezuju, tako ``samo radi'' podešavanjem.

Na serveru: Running SAS od A CGIScript

Pretraživaču može biti dozvoljeno da koristi računarske snage, programe ili podatke dostavljene od strane CGI skripte na serveru. CGI skripta je jednostavno program koji se izvršava na serveru i koja prima zahtev od web servera, vodi SAS proces kroz zahtev, i vraća rezultate na web server. Web server, zauzvrat, donosi rezultate nazad u pregledaču kao bilo koju drugu HTML informaciju kao što je prikazano na slici.

(Larger image)

U najjednostavnijem slučaju, CGI skripta je Unique shell skripta (ili neki drugi izvršni program) koji prolazi SAS program preko standardnog ulaza,

!/bin/sh
sas -stdio < myWebApp.sas > myWebApp.lst
cat myWebApp.lst

ovaj metod, prva ilustrovao Larry Hoyle ([Hoyle:mwsug94],[Hoyle:mwsug95]) zahteva vrlo malo Shell programiranja, ali je teret raščlanjivanju specifičan format u kome je Zahtev poslat od strane pretraživača na programu SAS Perlu.

Perl CGI skripte

Tokom prošle godine sam napisao nekoliko prilagođenih CGI programa u Perl-u jer je posebno atraktivan za CGI skripti zbog svoje snažne analitike i obrazaca podudaranja izraza, jake bezbednosne funkcije, kao i zbog toga što velika biblioteka objektno orijentisanih modula za WWW aplikacije dostupna sa standardnom distribucijom ili na cpan ftp lokacije (npr. ftp://ftp.funet.fi/pub/languages/perl/CPAN/). Posebno preporučujemo Linkoln Stajn CGI.pm (verzija 2.3 ili novija) koji rukuje većina detalja CGI obradeod.

WebPower

Određivanje veličine uzorka za faktor ili efekat u ANOVA dizajnu je obično teško zbog potrebe da navedete sve Tretmane koji se podrazumevaju da bi se izračunali ne centralnosti parametra F-raspodele, na kojoj je snaga uzorka.

Zavisni WebPower oblik (http://www.datavis.ca/online/power/) vodi SAS program koji izračunava moć ili veličina koji je potrebno da se postigne kako bi dao snagu za jedan efekat u faktorskoj ANOVA dizajnu. Program se zasniva na određivanju opsega lečenja sredstvima i izračunavanju minimalne snage, ili maksimalno potrebne veličinu uzorka.

Obrazac poziva na Perl CGI skriptu, power.pl, koje analiziraju zahtevne parametre, piše privremeno SAS programom i daje listing fajl na web I tako radi.

Browser SAS sam program se jednostavno naziva SAS makro, fpower.sas,sa ulaznim korisničkim vrednostima zamenjenim za ' $' promenljivih $a, $b, $delta, $alpha, i $out:

options nodate nocenter nonumber;
title 'Power analysis for ANOVA designs';
%include "$power";
%fpower(a=$a, b=$b, delta=%str($delta), 
    alpha=$alpha, $out);

power.pl koristi jedan od standardnih Perl CGI komunalnih paketa I tražene usvojene parametre iz forme. To se rudimentarno proveravaju greške da biste se uverili da su zahtevni parametri važeći, i proverava da li je SRS program pobegao ispravno, proizvodeći listing fajl sa rezultatima. Izlaz je vraćen kao pred-formatiranog teksta (umotano u PRE oznaka), ali to bi bilo lako da se koriste SAS makroi povratni izlazi u obliku HTML tabelepover.pl.

Iako je SAS program veoma jednostavan power.pl paket greška je u zarobljavanju i oblikovanju parametara upita za umetanje u program što predstavlja dodatni napor za interfejs.

sito Dijagrami

Druga web aplikacija (http://www.datavis.ca/online/sieve) pruža web do SAS / IML programa kako bi se skrenuli dijagrami sa podacima u dvosmernoj nepredviđenoj tabeli. CGI skripta, sieve.pl, je dizajnirana da:
  • štampa početnu HTML formu,
  • preuzima ulazne parametre (redova i kolona nalepnice i učestalost tabela), SAS
  • napišite program, interpolacijom podataka na upotrebu u predlošku,
  • pokrenite program, proizvodnju bilo koju PostScript ili GIF datoteku,
  • ratite sliku na pretraživač, zajedno sa linkovima do SAS programa i izlazne listinge
Program predložak opet izgleda sasvim jednostavna (.uz pošteno malo napora u scenariju bio je posvećen masiranju ulaza iz obrasca što će biti sintaksički ispravno SAS / IML):
%let gsasfile= %sysget(GSASFILE);
%let title   = %sysget(TITLE);
%let data    = %sysget(DATA);
filename gsasfile  "&gsasfile";
goptions device=pscolor 
   gsfname=gsasfile gsfmode=replace;
title "&title";
proc iml; 
   %include "$sieve";
   f = { $data };
   vnames = { $var };
   lnames = { $lab };
   title = '$title' ;
   font = '$font';
   run sieve(f, vnames, lnames, title );
   quit;
Napomena ponovo da svi '$' imena su Perl promenljive čije se vrednosti zamenjuju kada se SRS datoteka napiše. Međutim, neki parametri u programu (GSASFILE, TITLE, i DATA) koji su prošli u okruženju, onda preuzimaju makro varijable pomoću %sysget() funkciju Pisanje --- i otklanjanje grešaka - ---sieve.pl, however, međutim, uveren sam da bi trebalo da postoji bolji način, tako da sam napisao opšte namene programa za povezivanje bilo kog SAS programa na web formulare.

sascgi: a SAS-WWW gateway

sascgi je Perl CGI skripta dizajnirana da obezbedi prolaz između web servera SAS programa koji vraća rezultate u web brovser. Moja namera je bila da se obezbedi relativno neopterećen, opšti protokol za pokretanje SAS na Internetu, tako da SRS aplikacija može biti najjednostavnija moguća, i jedan scenario koji bi mogao da posluži širokom spektru primene. Skripta rukuje većinom interakcija sa web serverom, što ga čini mnogo lakšim za pisanje SAS aplikacije da radi na Internetu.

Imate SAS aplikaciju koju želite da učinite dostupnom korisnicima na Internetu. Taj program zahteva neki ulaz od korisnika, izaberite zapise ili promenljive koje se obrađuju, ili podesite parametre za neko računanje. Pišete HTML formu u kojoj korisnik može uneti tražene informacije. Kada korisnik pritisne dugme SUBMIT, pretraživač zove sascgi, prolazeći kroz parametre definisane u obliku; sascgi preuzima parametre, radi SAS, i vraća rezultate na korisnika.

Skripta prolazi ulazne parametre za SAS program što je mnogo lakše nego da pokušava da izuzme %sysget(PARAM), ili sysget('PARAM') Program pretpostavlja da preuzme ove parametre putem sisget (param), orsisget ('PARAM') u koraku podataka. The SAS program može da vrati rezultate na pretraživaču na jedan od tri načina:

  • Štampanje na standardnom izlazu (stdout) iz DATA koraka ili preko proc PRINTO
  • Štampa na listing fajl
  • Proizvodnja jedne ili više grafičkih izlaznih fajlova u PostScript ili GIF formatu SAS.

Program može da komunicira uspeh ili neuspeh (sa porukom o grešci) od pisanja poruke na greške u datoteci ili vraćanja poruke počinje sa 'Greška:'. na stdout blok.

Skripta se koristi u HTML dokumentu ugrađivanje u U dokumentu, referenciranje ove skripte kao ACTION atributa, kao što je ,sledi:

<form method="POST" action="http://your.server/cgi-bin/sascgi"> <input type="hidden" name="SASFILE" value="getlist.sas"> <input type="hidden" name="TITLE" value="Page title"> <input type="hidden" name="OUTPUT_METHOD" value="STDOUT"> <input type="hidden" name="REQUIRE" value="ITEMS LISTS"> ... other form elements ... </form>

<INPUT> oznake definišu imena parametara koji su prenete u SAS programe. Koristite tip = "skriveni" kada ne želite da korisnik izabere ili promeni vrednost, u suprotnom, možete koristiti bilo koji element obrasca koji generiše vrednost

Parametri

Svi parametri su definisani u obliku obrađenom od strane sascgi; .samo oni parametri koji su dati u vrednosti po obliku (po defaultu, ili koje je uneo korisnik) su smešteni u SAS okruženju. Pet obrazaca parametara imaju poseban smisao sascgi:
SASFILE
vrednost definiše ime SAS programa koji se pokreće rezultate
NASLOV
vrednost se koristi kao naslov za izlaz
OUTPUT_METHOD
vrednost govori sascgi kako SAS Program namerava da se vrati Moguće vrednosti su:
  • STDOUT pretpostavlja da je SRS Program daje izlaz koji se može direktno poslati na pretraživač, npr, kao umotan sa HTML tagovima kao < PRE > ... ili < TABLE > ... listing.
  • LST da vrati fajl koji je smešten u < PRE > ... od sascgi, formfeeds su prevedene na horizontalnu vladavinu (< HR >), a rezultat se šalje na pretraživaču.
  • SLIKE /tip vraća umetnutu sliku, izlaz kao <img src="$sasfile.type">. The image type defaults to 'gif'. sascgi . Imidž tip podrazumeva "gif" promenljive.. sascgi očekuje da SAS program proizvede datoteku slika u trenutni direktorijum nazvan po vrednosti GSASFILE.
Navodi
spisak imena forme parametara koji moraju da imaju vrednost u ulazu iz oblika u redosledu za SAS program da se pokrene. To je generalno poželjno da se obezbedi vrednost u obliku (npr. ) ili da se dizajnira SAS program da obezbedi podrazumevane nule.

Pisanja SAS aplikacije

Vaš zahtev treba da bude pismen:
  1. 1 preuzeti sve potrebne parametre iz okruženja, korišćenjem %sysget() makro funkcije ili sysget() funkcije datastep
  2. proizvesti rezultate koji su se vratili u pretraživaču prema OUTPUT_METHOD naveden u najjednostavnijem obliku.
    • OUTPUT_METHOD = LSTamo koristite SAS objekte koji proizvode štampani izlaz na listing fajlstdout.,
    • za OUTPUT_METHOD = STDOUT, koristite data _null_ korak _null_, file STDOUT, Na primer,
      data _null_;
         file STDOUT;
         put "<pre>";
           ... (output results) ...	
         put "</pre>";
      

      Moj %htmltab makro može biti korišćen za proizvodnju izlaza STDOUT koji sadrži bilo Preformatted ispis ili HTML tabelu iz SAS dataset. Takođe možete da koristite SAS-date Izlazne Formatter Data Set Formatter alata sa SRS 6.11 ili noviju .

    • Za OUTPUT_METHOD = IMAGE, Slika, dobijeno ime GSASFILE iz okruženja, i koristite GOPTIONS izjavu sa GSFNAME=odnose na ovaj fileref:
      *-- Retrieve output file name;
      filename gsasfile  "&gsasfile";
      
      *-- Device options;
      goptions device=pscolor 
         gsfname=gsasfile gsfmode=replace;
      

Fajlovi

Ako vaša aplikacija koristi fajlove, datasete ili makroe, možete pojednostaviti svoje aplikacije definisanjem autocall biblioteke, ili odgovarajućim filename sizjavama u config.sas fajla koji se koriste sascgi. Na primer, ako vaša config.sas sadrži
filename macros 
   (' web/sasuser/macros',
    ' web/sasuser/webmacros');
U primeni biste mogli koristiti,
%include macros(htmltab);

Alternativno odredite putanju do fajla.

Testiranje aplikacije

Trebalo bi da možete da testirate vašu aplikaciju iz komandne linije po Postavljanju svih potrebnih parametara u okruženju:
>setenv LISTS 1
>setenv ITEMS 20
>sas getlist

sascgi je takođe dizajniran t ako da može da se pokrene iz komandne linije za debagovanje, na primer, 1 >./sascgi 'SASFILE=getlist.sas&LISTS=1&ITEMS=20' parametri OUTPUT_METHOD, SASFILE, TITLE, i DEBUG mogu da se prenose na ovu skriptu preko forme ili okoline na primer.

Nekoliko radnih, zajedno sa izvornim kodom i daljim objašnjenjima su dostupni online na http://www.datavis.ca/online/sascgi.

Poboljšanja

sascgi se može poboljšati na nekoliko načina:
  • SAS program može da radi na posebnom serveru (koji može da ima bazu podataka ili obradu resursa). Na Unique sistemu, to može da se uradi samo pozivajući SAS preko rsh $sas_server sas $sasfile umesto sas $sasfile.
  • Konfiguracija informacije (ime servera, programske staze, itd) se trenutno nalaze u sascgi Mora biti modifikovan za svaki server. Pružanje CONFIG promenljivih na uvid radi dozvole informacija o konfiguraciji treba čitati na posebnom fajlu, i to će omogućiti nekoliko konfiguracija koja se koristi na jednom mestu sa parametrima..
  • Većina web aplikacija zahtevaju samo relativno mali broj korisnika sa sascgi ne. U ovom trenutku pružaju mogućnost za korisnika da ponude neku dataset unos da se analizira. Ovo se može uraditi tako što koristite datoteke I otpremite objekte u pregledačima (koje su podržane od strane CGI.pmkoda), ili od strane samog SAS, koristeći URL ili FTP metode koje pruža CGI:

Serverno-zasnovan CGI: PHP/FI

alternativa korišćenja prilagođene CGI skripte, ili opšte namene skripte kao sascgi je da ugradite skriptu za rukovanje mogućnostima u HTML dokumentima na strani servera koja uključuje ili JavaScript. PHP/FI (http://www.vex.net/php/) i je jedan javni domen-paket koji se može prevesti u Apache httpd server kao modul za proširenje. Kada se instalira, sve stranice su sa ekstenzijom. .phtml se automatski izvrsavaju za PHP komande.

Ovo je zgodnije (scenario je deo dokumenta), efikasniji (nema potrebe da trpe za dodatni CGI proces za svaku upotrebu), Takođe više bezbedna (sigurnost kontrolišu isti pristup ograničenja koristi od samog servera)

Na primer, ovde je oblik koji omogućava korisniku da unese podatke za dve vrednosti regresije:

<FORM METHOD="POST" ACTION="glm-sas.phtml">
<H2>Input or Paste  Y and X</H2>
Each line should contain a value of the 
response, Y, followed by a value of X.
  <TEXTAREA NAME="yx" ROWS=10 COLS=20>
  </TEXTAREA>
<BR>
What Type of Regression ?
  <SELECT NAME="type">
    <OPTION VALUE="1" SELECTED>Linear
    <OPTION VALUE="2">Quadratic
    <OPTION VALUE="3">Cubic
  </SELECT>
  <INPUT TYPE=SUBMIT VALUE="Submit"><BR>
</FORM>

AKCIJA datoteke, glm-sas.phtml je kao obični html fajl, osim što sadrži ugrađeni PHP kod, držače sa <? ... > Razdvajanje. Linije ispod procesa regresije tip (stvorena u PHP kao promenljive $tipa) .

<HTML><HEAD>
<TITLE>SAS Regression Calculator</TITLE>
</HEAD><BODY>
<H1>SAS Regression Calculator</H1>
<? 
  switch (intval($type));
  case 1;
    $model = "X";
    Echo "<H2>Linear Model</H2>"; break;
  case 2;
    $model = "X X*X";
    Echo "<H2>Quadratic Model</H2>"; break;
  case 2;
    $model = "X X*X X*X*X";
    Echo "<H2>Cubic Model</H2>"; break;
  default;
    $model = "X";  break;
  endswitch;
>
Možete definisati funkcije u PHP da se obrade ili transformišu. Ovde je onaj koji stvara SAS datastep od ulaza ušao u YXoblast u obliku:
<? Function Make_DataStep $dataset, $yx (
    $text = "data " + $dataset + ";";
    $text = $text + "  input y x;"  ;
    $text = $text + "  cards;"  ;
    $text = $text + $yx + ";"  ;
    Return ($text);
  );
>
Konačno, kada ove linije izgrade SAS program kao string, dodajte linije na poziv proc GLM i eho program kao standardni ulaz na SAS. Izlazni spisak datoteka se zatim vratio na pretraživač aplikacija.
<? 
  $sas-program = Make_Datastep ("web", $yx)
    + "proc glm data=web;"
    + "   model y = " + model + ";";
  
  $sas = "/usr/local/bin/sas";
  $execarg = "echo " + $sas-program +
     " | " sas + "-stdio  > glm.lst"
  Exec ($execarg);
  $result = File("glm.lst"); 
  $n = Count ($result);
  $i = 2;
  Echo "<pre>";
  while ($i < $n) {
     Echo "%s<<br>" $result[$i];
     $i++;
    }
   Echo "</pre>";
>
</BODY>
</HTML>
Ova tesna integracija CGI mogućnosti sa HTML trebalo bi mnogo lakše da razvije moćne web baze. Sve standardne mogućnosti za koje ljudi pišu odvojene CGI skripte (oblik pošte, brojači strana, pretraživači osetljivih odgovora, itd) su izgrađeni dobro, a jezik skripte je dovoljno bogat da podrži interesantne oblike klijent-server interakcije. PHP takođe pruža mogućnost za otpremanje datoteka i integriše različite baze podataka i SQL paketa (mSQL, Postgress95 Sibase), kao i GD biblioteku za GIF stvaranja. To ne bi bilo teško da dodate podršku za SAS skupove podataka, ili za direktnu komunikaciju sa SAS sistem klijentu.

Klijent-strana SAS obrada

Server-strana SAS obrade čini najkorisniji i / ili odgovarajući kada: (a) rezultat je takav da se vrati je dna datoteka, kao što su tabele ili grafikoni, (b) rezu ltat je zasnovan na skupovima podataka koji mora ostati na serveru;. (c) server može rukovati eventualno velikim brojem procesa koji se vodi.

Međutim, kada jedna ili više od ovi h uslovanisu tačni, to može biti korisno za web-baziranu interakciju za pokretanje SAS na klijentskoj mašini koju SAS dozvoljava.

SAS Plugin

Nedavno objavljen SAS Plugin za Windows95(www.sas.com/rnd/web/plugin.html)H TML fajl da ugradite referencu na udaljenim SAS programa, podaci skup, SAS, katalog, ili izlazni fajl. HTML < Embed > oznaka se koristi za referencu URL, u obliku sličnom oznakom za zvuk ili grafiku:
<EMBED SRC="http://www.server/path/file.sas"
    ACTION=OPEN>
Kada stranica koja sadrži oznaku < Embed > učita , pretraživač preuzima privremenu kopiju fajla i crta a kciono dugme. Kada kliknete na dugme akcija, dodatak šal je akciju SAS sistema. Za SAS program, otvorena akcija je dnostavno prikazuje program u prozoru uredniku programa. Ostale akcije (Browse, Štampa, upit, predlog) su definisa ni za različite tipove SAS strani.

fajlova, međutim, treba napomenuti da je Potvrdi akcija po sebi opasna: to vodi program dalje bez mogućnosti za korisnika da interveniše.

Server za podešavanje za klijenta SAS obrade

Čak i bez dodatka, serveri i browseri se mogu konfigurisati tako da SAS program files lansira SAS kao spoljnog ``gledaoca'' . Ovo nije dobra ideja,ali ću prvo opisati kako se to na serveru- Side radi.

.sas se obično šalju kao MIME tip text/plain, što znači da se prikazuju kao da je u prozoru. Da biste dozvolili tim fajlovima da se lokalno upravlja SAS server, mora da ih pošaljete kao MIME tip aplikacije, sa podtipom kao što je x-sas ("x" označava eksperimentalni MIME tip). Sa NCS A i Apache httpd servera, ovo se postiže dodavanjem sledeće linije u srm.conf konfiguracijski fajl:

AddType application/x-sas .sas

Dozvolite pregledaču da bude u stanju da pokrene SAS kao gledalac, morate podesite svoj web browser da prizna SAS fajlove koji su poslužile kao application/x-sas. Detalje znatno razlikuju između Netscape, mozaik, MSIE i drugih pretraživača, uputstva za postavljanje - Neki pretraživači su detaljno u http://www.datavis.ca/online/sasweb/.

Kada ovo je podešeno, kada Netscape primi fajlove koji su služili kao application/x-sas,to će

  1. Sačuvati SAS fajl u privremeni direktorijum
  2. Pokrenuti SAS u paketnom režimu na tom fajlu
  3. Zapisati .log i .lst fajlove Netscape-a u privremeni direktorijum.

Ovo nije veoma korisno za web-zasnovane SAS aplikacije, jer rezultati nisu prikazani u prozoru, i nesigurni su, jer ne postoji ništa da zaustavi .sas program. Obavlja neželjeno hemijsko čišćenje odeće na vašem hard-disk.

Korisnik odlučuje

alternativa služenju .sas fajlova kao aplikacije MIME tip je da koristite CGI skript koji omogućava fajl da se služi bilo kao običan plain/text ili kao application/x-sas. Izbor može biti ispitujući CGI promenljive okruženja HTTP_ACCEPT (koji sadrži spisak vrsta pantomimičara prihvatljivim browser), ili tako što se fajl prvo kao text/plain za korisnika da biste je videli, a pruža vezu koja bi da izazove skriptu da ponovo pokrene, ali služe fajl kao application/x-sas.

SAS file CGI skripta

Kao primer ove vrste interakcija, ja sam napisao Perl CGI skriptu, sasfile. Pored toga što pruža više bezbednog okruženja za pokretanje SAS na klijentu, skripta dozvoljava više inteligentnih i pismenih načina da služe SAS programe udaljenim korisnicima

Scenario se obično pozivaju iz web dokumenta, uključujući referencu obrasca

<a href="http://server.name/cgi-bin/sasfile/path/to/file.sas">file.sas</a>

Kada se pozvao na ovaj način, skripta šalje HTML fajl koji sadrži tekst fajla SAS i veza,ovako

<a href="http://server.name/cgi-bin/sasfile/path/to/file.sas?run">file.sas
<IMG SRC="launch.gif"> </a>

Dodavanje ključne reči parametra pokrenuti URL na signal skriptu koristi se da odluči da li da pošalje fajl kaoapplication/x-sas. Priključiti rupu bezbednosti, skript proverava da je zaista zvao iz prethodnog primera, umesto što se direktno ulazi sa trčanja parametrom u prilogu.

Rukovanje obuhvata

Uzorke programa za mojim kursevima su podešene da uključi skupove podataka uskladištenih na zajednički direktorijum, a naveden u programu
%uključuju podatke(datafile);
gde se podaci koje su definisani kao skup direktorijuma sa filename, izjavom u sistemskoj datoteci autoexec.sas file, e.g.,
filename data ('n:\data',
    'n:\psy3030\data',
    'n:\psy6140\data' );

Ovi programi koriste zbirku direktorijuma za makro programe, postavljeni kao autocall biblioteke. Pošto daljinski korisnik nije verovatno da će imati te podatke i makro fajlove, sasfileskripta skenira linije originalnih fajlova za linije koje počinju sa %uključite, a predstavlja listu od njih, u obliku:

file.sas obuhvata reference servera datoteka i makroa. Možda ćete želeti da ih preuzmete na prvom mestu. (Kod većine pretraživača, smena-Klikni na link i izaberite odgovarajuću direktorijum.)
  • %Sadrže podatke (nacije);
  • %sadrže makroe (resline).
Gde je svaki od njih je aktivan link uključenoj datoteci

Pismenost programiranje

Serving .sas fajlova po scenariju nudi i druge prednosti. SAS programi mogu biti više pismeni uključivanjem dokumentacije, zajedno sa programom izvora, na način da se programski kod može čitati lakše, može se koristi za opisivanje algoritama, i tako dalje programa.

Evo nekoliko ideja:

  • kolekcija SAS stavljen na Internet može se automatski skenirati za njihove opise (vadi iz naslova izveštaja, na primer), da biste kreirali kataloge grafičkih drveća i smislene index.html za korisnike. Radim ovo sa mojim datotekama kursa (vidi, na primer Psych 3030 Directory Tree, i Psych 3030 SAS directories), ,što ga čini mnogo lakšim da studenti pronađu ono što traže .
  • Umesto dokumentovanje program se pakuje u blokove, mogu se koristiti specijalne delimeters komentari, kao što su
    /*:
    :*/
    
    Oni koji mogu da naslute CGI skriptu za lečenje linije koje se nalaze u okviru kao običan tekst, pre nego formatiranog teksta sasfile skripta tretira takve komentare na ovaj način .
  • Opšti makroi se mogu dokumentovati sa posebnim komentarima za razdvajanje koji sadrže opise i korišćenja beleške, na primer:
    /*<
    =head1 Description:
      The omelet macro prepares an omelet from
      the contents of a SAS data set.
    =head1 Usage:
        ...
    >*/
    
    Linije uključene u takve dokumentacije blokova onda mogu biti automatski izvađene i pretvarane u web dokumentaciju ili drugih, na sličan način na koji Perl ``pod'' dokumentacija se rukuje, ili način na Unique man stranice može da se transformiše
U vezi ideje [Naras:96] opisuje pismene programske stilove za LispStat u kojima LispStat kod i LaTeKs Opis pomešan u jednom hiper-dokumentu. Hiper-dokument može da se štampa sa LaTeKs, a kod se može pokrenuti iz istog dokumenta

Dalje informacije, izvorni kod, i online demonstracije ovih ideja su dostupni na http://www.datavis.ca/online/. Pokazivači na drugim web baziranim aplikacijama statističkih kompjuterskih koji semogu naći http://www.math.yorku.ca/SCS/StatResource.html.

Published (Last edited): 18-03-2013 , source: http://www.datavis.ca/online/sasweb/sugi22.html