SAS makró kezdőknek – Makróváltozók és függvények

A mai napon a SAS makrókról kezdőknek beszélünk, és arról, hogy a SAS makró hogyan könnyíti meg az életünket a kód redundanciájának vagy ismétlődésének csökkentésével. A SAS makró hihetetlen módot biztosít egy folyamat egyszerűvé és automatikussá tételére. Itt látni fogjuk a különböző SAS makró változókat, a makrók funkcióit a SAS programozási nyelvben. Továbbá megismerjük a SAS Macro kód összetevőit és a SAS Macro néhány előnyét

Lássuk, hogyan működik a SAS Macro.

Ne váljon elavulttá & get a Pink Slip
Follow DataFlair on Google News & Stay ahead of the game

1. Mi az a SAS makró?

A makrók alapvetően segítenek a kód többszöri, különböző helyeken történő újrafelhasználásában anélkül, hogy a teljes kódot újra és újra be kellene gépelni. Ez nemcsak időt takarít meg, hanem hibamentes kódot is eredményez.

Magyarázzuk ezt egy példán keresztül:

proc print data=Policysnapshot;where policydate='09Sep14'd;title "Below are the policy detail for 09-Sep-14";Run;

A fenti SAS kódot a 09-Sep-14-es politika szintű adatok kinyerésére írtuk, és tegyük fel, hogy a felhasználónak naponta kell futtatnia ezt a kódot, miután a dátumot (mindkét helyen) az aktuális dátumra változtatta.

Most nézzük meg ugyanezt a kódot SAS-makrók használatával.

Proc Print Data=Sales.Policysnapshot;Where policydate="&sysdate9"d;Title "Below are the policy detail for %sysdate9";Run;

Ez esetben a felhasználónak nem kell megadnia az aktuális dátum értékét. A kód automatikusan kiválasztja az aktuális dátumot a rendszerből.

Ne felejtsük el elolvasni – SAS függvények

A SAS makró használatának előnyei

A SAS makró lehetővé teszi számunkra:-

  • Megkönnyíti a munkánkat, hogy hasonló kódot többször újra felhasználhatunk, miután egyszer definiáltuk.
  • Egy változóban egyetlen helyen változtathatunk és több helyen is megjeleníthetjük.
  • A programunk adatai vezéreltek, azaz hagyjuk, hogy a SAS az aktuális adatértékek alapján döntse el, hogy mit tegyen

Mindenekelőtt segít csökkenteni a SAS kód olvasásához és írásához szükséges erőfeszítéseket.

A SAS makro kód összetevői

A SAS makro kódnak két összetevője van: Makrók és makróváltozók. Egy SAS programban másképp hivatkoznak rájuk:-

  • &A név a makrováltozóra utal
  • %Név a makróra utal

SAS makrováltozók

A makrováltozó ugyanolyan, mint a hagyományos változó, kivéve, hogy értéke nem adathalmaz, és csak egyetlen karakteres értékkel rendelkezik. A makrováltozó értéke lehet egy változó neve, egy szám, vagy bármilyen szöveg, amit helyettesíteni akarunk a programunkban.
A makrováltozó hatókör lehet lokális vagy globális, attól függően, hogy hogyan definiáltuk. Ha egy makróprogramon belül definiáljuk, akkor a hatókör lokális (csak az adott makrokód számára elérhető). Ha azonban kívül definiáltuk (a fő szövegtestben), akkor a SAS programban bárhol használhatjuk.
A %LET utasítást használjuk a makrováltozók létrehozására és érték hozzárendelésére.
% LET <Makrováltozó neve>=érték;

A %Let utasításban a makrováltozó értéke bármilyen karakterlánc lehet, és a következő tulajdonságokkal rendelkezik:-

  • Hossza tetszőleges lehet 0 és 65 között,534 karakter
  • A numerikus értékek karakterláncként is tárolhatók
  • A matematikai kifejezések nem kerülnek kiértékelésre
  • Az idézőjel az érték részeként is tárolható
  • A hozzárendelés előtt a vezető és az utolsó üres részek eltávolításra kerülnek

SAS A makrováltozókra úgy hivatkozhatunk, hogy a makrováltozó neve után egy zárójelet (&) használunk.

Ne felejtsük el ellenőrizni – SAS karakterláncfüggvények vagy karakterfüggvények

&<Makrováltozó neve>
Példa:-

Makrováltozó neve

Más makrováltozót is deklarálhatunk és a SAS kódban különböző helyeken használhatjuk. A makrováltozó nem oldódik fel, ha szimpla idézőjeleken belül érjük el őket. Ezért a hivatkozásukhoz kettős idézőjeleket kell használnunk.

;

macro-változó-1 <…macro-változó-n>
egy vagy több SAS makrováltozó neve.

A %GLOBAL utasítás egy vagy több globális makrováltozót hoz létre, és null értékeket rendel a változókhoz. A globális makrováltozók olyan változók, amelyek a SAS munkamenet vagy feladat teljes végrehajtása alatt rendelkezésre állnak.
A %GLOBAL utasítással létrehozott makrováltozó null értékkel rendelkezik, amíg nem rendel hozzá más értéket. Ha egy globális makrováltozó már létezik, és ezt a változót egy %GLOBAL utasításban adja meg, a meglévő érték változatlan marad.

Must learn – Mi a SAS szintaxis és hogyan használhatjuk őket

ii. SAS helyi makrováltozók

A helyi makrováltozók szintaxisa a SAS programozásban:

%LOCAL makrováltozó-1 <…makrováltozó-n>;

macro-változó-1 <…makrováltozó-n>
egy vagy több makrováltozó neve
A %LOCAL utasítás egy vagy több helyi makrováltozót hoz létre. A %LOCAL utasítással létrehozott makrováltozó értéke nulla, amíg más értéket nem rendel hozzá. A helyi makrováltozók olyan változók, amelyek csak annak a makrónak a végrehajtása alatt állnak rendelkezésre, amelyben definiálták őket.

A %LOCAL utasítással biztosíthatjuk, hogy a programban korábban létrehozott makrováltozókat ne változtassák meg véletlenül az aktuális makróban azonos nevű változókhoz rendelt értékek. Ha egy helyi makróváltozó már létezik, és ezt a változót a %LOCAL utasításban adja meg, a meglévő érték változatlan marad.

A fogalom megértése – SAS adathalmaz – Speciális & Beépített adathalmaz a SAS-ban

iii. Összehasonlítás – Globális vs. helyi változók

  • Mind a %LOCAL utasítás, mind a %GLOBAL utasítás meghatározott hatókörű makrováltozókat hoz létre. A %LOCAL utasítás azonban olyan helyi makrováltozókat hoz létre, amelyek csak a változót tartalmazó makró végrehajtása során léteznek, míg a %GLOBAL utasítás olyan globális makrováltozókat hoz létre, amelyek a munkamenet vagy a feladat időtartamára léteznek.
  • Ha egy helyi és egy globális makrováltozót azonos névvel definiál, a makróeszköz a helyi változót tartalmazó makró végrehajtása során a helyi változó értékét használja. Amikor a helyi változót tartalmazó makró nem hajtódik végre, a makróeszköz a globális változó értékét használja.

A SAS makrók funkciói

A SAS makró függvényei hasonló szintaxissal rendelkeznek, mint az adatlépésekben található megfelelő függvények, és az eredményeket is hasonló módon adják vissza.

i.%UPCASE() függvény

Ezt a függvényt használjuk a betűk nagybetűvé alakítására:

Szintaxis:- %UPCASE (argumentum)

Példa:-

%Let heading=this is detail of country;Proc Print Data=Orion.Country;Title %UPCASE(&heading);Run;

Azt a címet írja ki, hogy “EZ AZ ORSZÁG DETAILJA”.

Tárja fel a SAS programozás legfontosabb alkalmazásait

ii. %SUBSTR() függvény

Ez a függvény a megadott karakterek számát adja vissza a megadott pozíciótól.

Szintaxis:- %SUBSTR (argument, position )
Ha nem adunk meg karakterszámot, a %SUBSTR függvény a karaktereket az adott pozíciótól a karakterlánc végéig adja vissza.

Példa:-

%Let abc=this is detail of country;%LET def=%SUBSTR(&abc,19,7);Proc Print Data=Orion.Country;Title %Upcase(&def);Run;
Ez mind a SAS makró oktatókönyvben volt. Reméljük, hogy tetszettek a magyarázataink.

Összefoglaló

Ezekben a SAS makrók oktatóanyagban tehát. Remélem, megtanultál néhány új módszert az adatok manipulálására a SAS-ban. Mostantól sok időt takaríthat meg azzal, hogy a SAS makrókat beépíti a programjába. Maradjon velünk, hogy még több ilyen érdekes dolgot tanulhasson a SAS-ben.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.