Makra SAS dla początkujących – zmienne i funkcje makr

Dzisiaj omawiamy makra SAS dla początkujących oraz to, w jaki sposób makra SAS ułatwiają nam życie poprzez zmniejszenie zbędności lub powtarzalności kodu. Makro SAS zapewnia niesamowity sposób na uczynienie procesu łatwym i automatycznym. Zobaczymy tutaj różne zmienne makr SAS, funkcje makr w języku programowania SAS. Ponadto poznamy Komponenty kodu SAS Macro i niektóre korzyści płynące ze stosowania SAS Macro

Zobaczmy, jak działa SAS Macro.

Nie stań się przestarzały &otrzymaj Pink Slip
Follow DataFlair on Google News &Zostań w czołówce

1. Co to jest Makro SAS?

Makra zasadniczo pomagają w wielokrotnym użyciu kodu w różnych miejscach bez konieczności wpisywania całego kodu od nowa. Dzięki temu nie tylko oszczędzamy czas, ale również uzyskujemy kod wolny od błędów.

Zrozummy to na przykładzie:

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

Powyższy kod SAS został napisany w celu wyodrębnienia szczegółów poziomu polityki dla 09-Sep-14 i powiedzmy, że użytkownik musi uruchamiać ten kod codziennie po zmianie daty (w obu miejscach) na datę bieżącą.

Teraz spójrzmy na ten sam kod przy użyciu makr SAS.

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

W tym przypadku użytkownik nie musi podawać wartości dla bieżącej daty. Kod automatycznie wybierze bieżącą datę z systemu.

Nie zapomnij przeczytać – Funkcje SAS

Korzyści z używania makr SAS

Makra SAS umożliwiają nam:-

  • Ułatwiają nam pracę dzięki wielokrotnemu wykorzystywaniu podobnego kodu po jego jednokrotnym zdefiniowaniu.
  • Wprowadzanie zmian w zmiennej w jednym miejscu i odzwierciedlanie ich w wielu miejscach.
  • Kieruje danymi twojego programu, tj. pozwala SAS-owi decydować, co robić na podstawie rzeczywistych wartości danych

Przede wszystkim pomaga zmniejszyć wysiłek wymagany do czytania i pisania kodu SAS.

Składniki kodu makr SAS

Kod makr SAS ma dwa składniki: Makra i zmienne Makra. W programie SAS są one określane różnie jako:-

  • &Nazwa odnosi się do zmiennej makra
  • %Nazwa odnosi się do makra

Zmienne makra SAS

Zmienna makra jest taka sama jak zmienna standardowa, z tym wyjątkiem, że jej wartość nie jest zbiorem danych i ma tylko wartość jednego znaku. Wartością zmiennej makro może być nazwa zmiennej, liczba lub dowolny tekst, który chcesz zastąpić w swoim programie.
Zasięg zmiennej makro może być lokalny lub globalny, w zależności od tego, jak ją zdefiniowaliśmy. Jeśli jest ona zdefiniowana wewnątrz programu makrowego, jej zakres jest lokalny (dostępny tylko dla tego kodu makrowego). Jeśli jednak zdefiniowaliśmy ją na zewnątrz (w ciele głównym), to możemy jej używać w dowolnym miejscu programu SAS.
Do tworzenia i przypisywania wartości zmiennym makro używamy instrukcji %LET.
% LET <Nazwa zmiennej makro>=Wartość;

Wartość zmiennej makro w instrukcji %Let może być dowolnym ciągiem znaków i ma następujące właściwości:-

  • Może mieć dowolną długość z przedziału od 0 do 65,534 znaków
  • Wartości numeryczne są również przechowywane jako ciąg znaków
  • Wyrażenia matematyczne nie są obliczane
  • Znak cudzysłowu może być również przechowywany jako część wartości
  • Ostatnie i końcowe spacje są usuwane przed przypisaniem

SAS Do zmiennych makro odwołujemy się za pomocą znaku ampersand (&), po którym następuje nazwa zmiennej makro.

Nie zapomnij sprawdzić – SAS String Functions lub Character Functions

&<Nazwa zmiennej makro>
Przykład:-

Nazwa zmiennej makro

Możemy również zadeklarować wiele zmiennych makro i używać ich w różnych miejscach w kodzie SAS. Zmienna makro nie rozwiązuje się, gdy dostęp do niej odbywa się wewnątrz pojedynczych cudzysłowów. Dlatego do odwoływania się do nich powinniśmy używać cudzysłowów.

;

zmienna makro-1 <…zmienna makro-n>
jest nazwą jednej lub więcej zmiennych makro SAS.

Stwierdzenie %GLOBAL tworzy jedną lub więcej globalnych zmiennych makro i przypisuje zmiennym wartości zerowe. Globalne zmienne makro są zmiennymi, które są dostępne przez cały czas wykonywania sesji lub zadania SAS.
Zmienna makro utworzona za pomocą instrukcji %GLOBAL ma wartość zerową, dopóki nie zostanie jej przypisana inna wartość. Jeśli globalna zmienna makro już istnieje i określisz tę zmienną w instrukcji %GLOBAL, istniejąca wartość pozostanie niezmieniona.

Niezbędne informacje – Co to jest składnia SAS i jak możemy jej używać

ii. Lokalne zmienne makro w SAS

Składnia lokalnej zmiennej makro w programowaniu SAS:

%LOCAL makrozmienna-1 <…makrozmienna-n>;

makrozmienna-1 <…makrozmienna-n>
jest nazwą jednej lub więcej zmiennych makro
Konstatacja %LOCAL tworzy jedną lub więcej lokalnych zmiennych makro. Zmienna makro utworzona za pomocą %LOCAL ma wartość null, dopóki nie zostanie jej przypisana inna wartość. Lokalne zmienne makro są zmiennymi, które są dostępne tylko podczas wykonywania makra, w którym zostały zdefiniowane.

Konstrukcja %LOCAL służy do zapewnienia, że zmienne makro utworzone wcześniej w programie nie zostaną przypadkowo zmienione przez wartości przypisane do zmiennych o tej samej nazwie w bieżącym makrze. Jeśli lokalna zmienna makra już istnieje i określisz tę zmienną w instrukcji %LOCAL, istniejąca wartość pozostanie niezmieniona.

Zrozumienie pojęcia – Zbiór danych SAS – specjalny & Wbudowany zbiór danych w SAS

iii. Porównanie – zmienne globalne i lokalne

  • Zarówno instrukcja %LOCAL, jak i %GLOBAL tworzą zmienne makro o określonym zakresie. Jednak instrukcja %LOCAL tworzy lokalne zmienne makro, które istnieją tylko podczas wykonywania makra zawierającego tę zmienną, a instrukcja %GLOBAL tworzy globalne zmienne makro, które istnieją przez cały czas trwania sesji lub zadania.
  • Jeśli zdefiniujesz lokalną zmienną makro i globalną zmienną makro o tej samej nazwie, obiekt makrowy używa wartości zmiennej lokalnej podczas wykonywania makra zawierającego tę zmienną lokalną. Gdy makro zawierające zmienną lokalną nie jest wykonywane, obiekt makra używa wartości zmiennej globalnej.

Funkcje makr SAS

Te funkcje makr SAS mają podobną składnię, w porównaniu z ich odpowiednikami w krokach danych, i również zwracają wyniki w podobny sposób.

i.%UPCASE() Funkcja

Używamy tej funkcji do konwersji wielkości liter na wielkie litery:

Syntaktyka:- %UPCASE (Argument)

Przykład:-

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

Wydrukuje tytuł jako „TO JEST SZCZEGÓŁY KRAJU”.

Poznaj najważniejsze zastosowania programowania w SAS

ii. Funkcja %SUBSTR()

Funkcja ta zwraca podaną liczbę znaków od określonej pozycji.

Syntaktyka:- %SUBSTR (argument, pozycja )
Jeśli nie podano liczby znaków, funkcja %SUBSTR zwróci znaki od podanej pozycji do końca łańcucha.

Przykład:-

%Let abc=this is detail of country;%LET def=%SUBSTR(&abc,19,7);Proc Print Data=Orion.Country;Title %Upcase(&def);Run;
To wszystko w Samouczku makr SAS. Mam nadzieję, że podobają Ci się nasze wyjaśnienia.

Podsumowanie

Więc, w tym samouczku SAS Macros. Mam nadzieję, że nauczyłeś się kilku nowych sposobów manipulowania danymi w SAS. Będziesz teraz w stanie zaoszczędzić dużo czasu poprzez włączenie SAS Macro do swojego programu. Pozostańcie z nami, aby dowiedzieć się więcej takich ciekawych rzeczy w SAS.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.