Makra SAS pro začátečníky – proměnné a funkce maker

Dnes se budeme zabývat makry SAS pro začátečníky a tím, jak nám makra SAS usnadňují život tím, že snižují nadbytečnost nebo opakování kódu. Makra SAS poskytují neuvěřitelný způsob, jak usnadnit a zautomatizovat určitý proces. Ukážeme si zde různé proměnné maker SAS, funkce maker v programovacím jazyce SAS. Navíc se naučíme Komponenty kódu SAS Makra a některé výhody SAS Makra

Podívejme se, jak SAS Makro funguje.

Nestávejte se zastaralými & Získejte růžový lístek
Sledujte DataFlair na Google News & Zůstaňte ve hře

1. Co je to makro SAS?

Makra v podstatě pomáhají opakovaně používat kód na různých místech vícekrát, aniž byste museli psát celý kód znovu a znovu. To nejen šetří čas, ale vede k bezchybnému kódu.

Pochopíme to na příkladu:

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

Výše uvedený kód SAS je napsán pro získání údajů na úrovni politiky pro 09.-14. září a řekněme, že uživatel potřebuje tento kód spouštět denně po změně data (na obou místech) na aktuální datum.

Podívejme se nyní na stejný kód pomocí maker SAS.

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

V tomto případě uživatel nemusí zadávat hodnotu pro aktuální datum. Kód automaticky vybere aktuální datum ze systému.

Nezapomeňte si přečíst – Funkce SAS

Výhody použití maker SAS

Makra SAS nám umožňují:-

  • Ulehčit si práci tím, že podobný kód po jeho definování opakovaně použijeme.
  • Provádět změny v proměnné na jednom místě a promítnout je na více místech.
  • Data vašeho programu řízená, tj. nechat SAS rozhodnout, co má dělat, na základě skutečných hodnot dat

Především pomáhá snížit úsilí potřebné ke čtení a psaní kódu SAS.

Složky kódu maker SAS

Kód maker SAS má dvě složky: Makra a makroproměnné. V programu SAS se označují různě:-

  • &Název se vztahuje k makroproměnné
  • %Název se vztahuje k makru

Makroproměnné SAS

Makroproměnná je stejná jako standardní proměnná s tím rozdílem, že její hodnota není datový soubor a má pouze jednoznakovou hodnotu. Hodnotou makroproměnné může být jméno proměnné, číslice nebo jakýkoli text, který chcete v programu nahradit.
Obsah makroproměnné může být lokální nebo globální, podle toho, jak jsme ji definovali. Pokud je definována uvnitř makroprogramu, je její rozsah lokální (dostupný pouze pro daný makrokód). Pokud jsme ji však definovali vně (v hlavním těle), pak ji můžeme použít kdekoli v programu SAS.
Pro vytvoření a přiřazení hodnoty makroproměnným používáme příkaz %LET.
% LET <Název makroproměnné>=Hodnota;

Hodnota makroproměnné v příkazu %Let může být libovolný řetězec a má následující vlastnosti:-

  • Může mít libovolnou délku od 0 do 65,534 znaků
  • Číselné hodnoty jsou také uloženy jako řetězec znaků
  • Matematické výrazy se nevyhodnocují
  • Označení uvozovek může být také uloženo jako součást hodnoty
  • Před přiřazením se odstraní úvodní a koncové mezery

SAS Makroproměnné se odkazují pomocí ampersandu (&), za kterým následuje název makroproměnné.

Nezapomeňte zkontrolovat – SAS String Functions nebo Character Functions

&<Název makroproměnné>
Příklad:-

Název makroproměnné

Můžeme také deklarovat více makroproměnných a používat je na různých místech kódu SAS. Makroproměnné se nerozlišují, pokud k nim přistupujeme v jednoduchých uvozovkách. Proto bychom pro odkaz na ně měli použít dvojité uvozovky.

;

makroproměnná-1 <…makroproměnná-n>
je název jedné nebo více makroproměnných SAS.

Příkaz %GLOBAL vytváří jednu nebo více globálních makroproměnných a přiřazuje jim nulové hodnoty. Globální makroproměnné jsou proměnné, které jsou k dispozici během celého provádění relace nebo úlohy SAS.
Makroproměnná vytvořená příkazem %GLOBAL má nulovou hodnotu, dokud jí nepřiřadíte nějakou jinou hodnotu. Pokud globální makroproměnná již existuje a vy ji zadáte v příkazu %GLOBAL, zůstane stávající hodnota nezměněna.

Musíte se naučit – Co je to syntaxe SAS a jak je můžeme používat

ii. Místní makroproměnné SAS

Syntaxe místní makroproměnné v programování SAS:

%LOCAL makroproměnná-1 <…makroproměnná-n>;

makroproměnná-1 <…makroproměnná-n>
je název jedné nebo více makroproměnných
Příkaz %LOCAL vytváří jednu nebo více lokálních makroproměnných. Makroproměnná vytvořená příkazem %LOCAL má nulovou hodnotu, dokud jí nepřiřadíte nějakou jinou hodnotu. Lokální makroproměnné jsou proměnné, které jsou k dispozici pouze během provádění makra, v němž jsou definovány.

Příkaz %LOCAL slouží k tomu, aby makroproměnné vytvořené dříve v programu nebyly neúmyslně změněny hodnotami přiřazenými proměnným se stejným názvem v aktuálním makru. Pokud lokální proměnná v makru již existuje a vy ji zadáte v příkazu %LOCAL, zůstane stávající hodnota nezměněna.

Pochopení pojmu – Datová sada SAS – Speciální & Vestavěná datová sada v SAS

iii. Porovnání – globální vs. lokální proměnné

  • Příkaz %LOCAL i příkaz %GLOBAL vytvářejí makroproměnné s určitým rozsahem. Příkaz %LOCAL však vytváří lokální makroproměnné, které existují pouze během provádění makra, které proměnnou obsahuje, a příkaz %GLOBAL vytváří globální makroproměnné, které existují po celou dobu trvání relace nebo úlohy.
  • Pokud definujete lokální makroproměnnou a globální makroproměnnou se stejným názvem, makroprostředek použije hodnotu lokální proměnné během provádění makra, které tuto lokální proměnnou obsahuje. Pokud se makro, které obsahuje lokální proměnnou, neprovádí, použije makroprostředek hodnotu globální proměnné.

Funkce maker SAS

Tyto funkce maker SAS mají podobnou syntaxi ve srovnání s obdobnými funkcemi v datových krocích a také vracejí výsledky podobným způsobem.

i.Funkce %UPCASE()

Pomocí této funkce převedeme velikost písmen na velká:

Syntaxe:- %UPCASE (Argument)

Příklad:-

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

Vypíše nadpis jako „TOTO JE DETAIL KRAJINY“.

Prozkoumejte špičkové aplikace programování SAS

ii. Funkce %SUBSTR()

Tato funkce vrátí zadaný počet znaků od zadané pozice.

Syntaxe:- %SUBSTR (argument, pozice )
Pokud není zadán počet znaků, funkce %SUBSTR vrátí znaky od zadané pozice až do konce řetězce.

Příklad:-

%Let abc=this is detail of country;%LET def=%SUBSTR(&abc,19,7);Proc Print Data=Orion.Country;Title %Upcase(&def);Run;
To vše bylo na kurzu maker SAS. Doufám, že se vám naše vysvětlení bude líbit.

Shrnutí

Tedy v tomto výukovém kurzu maker SAS. Doufám, že jste se naučili některé nové způsoby manipulace s daty v systému SAS. Začleněním maker SAS do svého programu nyní budete moci ušetřit spoustu času. Zůstaňte naladěni, abyste se dozvěděli více takových zajímavých věcí v SASu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.