Dlaczego warto uczyć się SAS w 2021 roku?

Pomimo tego, że w ostatnim czasie zyskał dużą popularność, to trzeba wiedzieć, że na Pythonie świat się nie kończy. W wyścigu po dominację nad przetwarzaniem danych uczestniczy kilku ciekawych konkurentów. Jednym z nich jest bohater dzisiejszego artykułu. W tym wpisie dowiesz się, dlaczego warto uczyć się SAS w 2021 roku.

Zacznijmy ten artykuł odrobiną historii. Jest końcówka lat 60-tych XX wieku. Stany Zjednoczone – North Carolina State University. Czworo naukowców James Goodnight, Anthony Barr, Jane Helwig oraz John Sall próbuje analizować zgromadzone dane agro. Ich celem jest wymyślenie w jaki sposób wykorzystać “cyferki” do zwiększenia plonów uzyskiwanych przez rolników. Aby ułatwić sobie zadanie tworzą narzędzie statystyczne (Statistical Analysis System – SAS), które później przerodzi się w pakiet (lata 70-te), aby w latach 80-tych awansować do rangi języka programowania. Przez kolejne lata SAS zdobywał jeszcze większą popularność, nowe rynki i rzeszę wiernych klientów. Okazało się, że wynalazek wspomnianych naukowców jest bardzo użyteczny i także dochodowy. Wszyscy zaangażowali się w rozwój oprogramowania SAS pod egidą SAS Institute, a ostatecznie w firmie pozostali dr James Goodnight jako CEO i John Sall w funkcji wiceprezesa.

W ostatnich latach w środowisku statystycznym obok SAS pojawiły się inne języki programowania. Wspomnijmy na przykład Pythona czy R, które są szeroko wykorzystywane w data science. Chociaż pojawili się nowi i prężnie działający gracze, to jednak SAS nie stoi na straconej pozycji. W dzisiejszym artykule przedstawię 5 powodów, dla których warto uczyć się programowania w SAS w 2021 roku.

1. Sektory, w których “SAS is the king”

Jeśli pracujesz w bankowości, badaniach klinicznych lub instytucji publicznej i przetwarzasz większe wolumeny danych, to jest duża szansa, że stykasz się z oprogramowaniem SAS. Te branże są tradycyjnie uważane za bastiony SASa. Oprogramowanie to jest tam szeroko wykorzystywane i mocno “zakorzenione” w głowach pracowników. Inne branże, gdzie króluje SAS, to ubezpieczenia, telekomunikacja, ochrona zdrowia, branża paliwowa, czy FMCG. Wspomniane wcześniej branże mają jedną bardzo ciekawą cechę, charakterystykę. Zauważ, że w większości wymienione rynki są zdominowane przez naprawdę duże firmy, korporacje. Wiadomo – liczący się na rynku bank musi być relatywnie duży. To samo tyczy się firm – producentów leków, operatorów telekomunikacyjnych. Firmy te nie muszą korzystać wyłącznie z rozwiązań open source (jak Python czy R) mając dostępne oprogramowanie SAS wraz z pełnym wsparciem i pomocą w zakresie kompetencji dostarczaną przez producenta. Co więcej, ważnym argumentem przemawiającym za wykorzystaniem SAS jest pełne udokumentowanie sposobu działania oprogramowania – tu open source wypada blado, więc w przypadku kontroli instytucji nadzorczych czy regulacyjnych zastosowanie SAS pozwala uniknąć pytań ze strony regulatora.

Jaka z tego nauka dla osób poszukujących pracę? Jeśli odpowiada Ci środowisko wielkich korporacji (a jak wiadomo nie każdemu odpowiada, ale to już temat na inną historię…) szczególnie banków, ubezpieczycieli, telekomów, firm farmaceutycznych lub instytucji publicznych i lubisz dane, to… ucz się SASa. Przeglądając oferty na przykład wychodzące z działów ryzyka największych polskich banków bardzo często wśród wymagań technicznych znajdziesz punkt dotyczący znajomości SAS. Mogę w tym miejscu podzielić się osobistym doświadczeniem. Zmieniając pracę na moją obecną (mBank – pion ryzyka) jedną z najważniejszych i priorytetowych umiejętności, które musiałem opanować była znajomość SAS. Ułatwia to zdecydowanie wykonywanie codziennych obowiązków. Bez niej byłoby dużo ciężej.

Warto wspomnieć, że wraz z wejściem na rynek w 2020 roku najnowszej wersji platformy SAS Viya, która działa w chmurze i jest kompatybilna z językami open source, programowanie w SAS staje się jeszcze ciekawsze, a korzystanie z analiz jest dostępne również dla mniejszych firm na rynku.

Its Good To Be The King GIFs - Get the best GIF on GIPHY

2. Nie jest trudno nauczyć się podstaw SAS

Nauczenie się podstaw programowania w SAS 4GL jest dość proste. Zaryzykuję stwierdzenie, że jest to język dużo łatwiejszy do przyswojenia niż Python czy R. Powodów jest kilka. Po pierwsze SAS 4GL jest językiem dziedzinowym – to znaczy takim, który jest przystosowany do rozwiązywania określonej dziedziny problemów – w tym przypadku statystycznych czy związanych z przetwarzaniem danych. Przeciwieństwem języka dziedzinowego jest język ogólnego zastosowania (należy do nich również Python). Jak sama nazwa wskazuje może być on wykorzystywany w szerokiej gamie zastosowań od przetwarzania danych aż po pisanie stron internetowych. Ogólne podejście może skutkować tym, że niektóre specyficzne dla przetwarzania danych czy statystyki zagadnienia łatwiej zaprogramować w języku przystosowanym właśnie do tego czyli w SAS 4GL.

Po drugie SAS udostępnia ciekawe narzędzia do interaktywnego przetwarzania danych – SAS Viya oraz SAS Enterprise Guide. Mają one funkcjonalności pozwalające na to, aby nawet osoby początkujące w łatwy sposób mogły “wyklikać” pożądane operacje na ekranie za pomocą interfejsu i dedykowanych kreatorów. W ten sposób można na przykład zaimportować dane źródłowe, połączyć ze sobą zbiory danych, zagregować je i przygotować ich podsumowanie lub wykres. I to wszystko bez pisania jednej linijki kodu. Oczywiście mamy także dostęp do kodu, który “wyklikaliśmy” więc początkujący mogą poprzez obserwację wygenerowanego kodu uczyć się jak pisać proste programy.

Po trzecie w sieci jest bardzo dużo materiałów (zarówno w formie pisanej, jak i wideo) ułatwiających naukę programowania w SAS 4GL. Prężnie działa też SAS community deweloperów – praktycznie każde pytanie zostało już zadane i jest dostępne czy to w dokumentacji, czy na forach SAS. Również SAS Institute dba o możliwość rozwoju kompetencji programistycznych użytkowników oprogramowania. Organizuje konferencje, szkolenia on-line i stacjonarne, webinary, udostępnia możliwość zdobycia certyfikacji.

Po czwarte, jeśli nawet znasz już inny język programowania, to łatwo jest wejść w świat SASa. W SAS istnieje możliwość integracji z innymi językami. Przykładowo za pomocą procedury PROC FCMP możesz wykorzystywać kod Pythona i używać go w swoich programach SAS-owych. Oczywiście istnieje również odwrotna funkcjonalność i użytkownicy Pythona mogą korzystać z dobrodziejstw SASa wewnątrz swoich programów – z pomocą przychodzi biblioteka SASpy.

3. Bardzo łatwo używać zapytań SQL

Wiele można powiedzieć o zapytaniach SQL, ale z pewnością każdy zgodzi się, że są one bardzo intuicyjne, logiczne i przyjazne dla użytkowników. Stąd też są szeroko wykorzystywane nawet w innych językach programowania. Wiele z nich oferuje możliwość wykonania kodu SQL wewnątrz programu. SAS 4GL nie jest wyjątkiem. Tym co wyróżnia SAS jest łatwość z jaką napiszemy zapytanie SQL. Wystarczą dwie dodatkowe linijki, w których informujemy SAS, że będziemy pisać SQLem (proc sql; oraz quit;). Poniżej prosty schemat użycia:

proc sql;
create table nowaTabela as
	select
		tab.id1, tab2.id2
	from Tabela as tab
           left join Tabela2 as tab2 on tab2.id2 = tab1.id1
;
quit;

Wewnątrz poleceń proc sql oraz quit umieszczamy dowolne zapytanie SQLowe i voila. Szeroka możliwość wykorzystania zapytań SQL wewnątrz programów SASowych sprawia, że osoby do tej pory biegłe w SQL są w stanie z łatwością pisać programy w SAS – szczególnie związane z przetwarzaniem i manipulacją danymi.

Dołącz do Newslettera
Potwierdzam zapis na listę mailową!!!
Dołącz do listy mailowej ZobaczDane.pl. Dzięki temu od razu dostaniesz informację, gdy na blogu pojawi się nowy artykuł. Dodatkowo co tydzień wyślę Ci zbiór kilku ciekawych linków dotyczących zagadnień ze świata danych.
Nie będę wysyłał Ci żadnego spamu. U mnie masz same konkrety.

4. Wbudowane procedury SAS to złoto

Kilka słów na temat wbudowanych procedur SAS napisałem już przy okazji PROC SQL, ale to nie jedyna magiczna procedura, którą udostępnia SAS, aby ułatwić nam życie.

Przykładowo możemy w szybki sposób uzyskać podsumowanie naszych danych korzystając z procedury PROC CONTENTS. Do pokazania rezultatów użyłem zbioru danych z poprzedniego wpisu – link tutaj.

/* --Wczytanie plików .csv i .xlsx do tabel SAS*/
proc import datafile="&sciezka./data.csv" dbms=csv out=dane_fifa replace; delimiter=",";
 
proc contents data=dane_fifa;

Po wykonaniu powyższego kodu ukaże się nam podsumowanie zbioru – lista kolumn wraz z typami danych, a także liczba obserwacji i zmiennych.

Powyższe tabelki generowałem w SAS OnDemand for Academics – więcej informacji tutaj

Drugą równie użyteczną procedurą jest PROC MEANS. Za jej pomocą podając jedynie nazwę zbioru danych (tabeli) uzyskamy natychmiast podsumowanie charakterystyk kolumn z wartościami numerycznymi: liczbę obserwacji, minimum, maksimum, średnią i odchylenie. Oczywiście można procedurę PROC MEANS jeszcze bardziej dostosować do swoich potrzeb odpowiednio definiując jej parametry. Kod jest bardzo prosty:

proc means data=dane_fifa;

… a daje taki rezultat:

Wykorzystanie PROC MEANS do znalezienia statystyk opisowych kolumn numerycznych

Wymienię jeszcze trzecią procedurę, która pojawia się bardzo często w kodach SAS – chodzi o PROC SORT, która sortuje zbiór wejściowy według zdefiniowanych kolumn oraz ustalonego porządku. Jest równie prosta w użyciu jak dwie poprzednie: wskazujemy zbiór do sortowania oraz zmienną według, której sortujemy (w poniższym przykładzie malejąco).

proc sort data=dane_fifa; 
	by descending Potential;
run;

Powyżej wymieniłem tylko kilka podstawowych procedur ułatwiających pracę z danymi w SAS. Oprócz tego istnieje jeszcze kilkadziesiąt innych, które np. umożliwiają pracę na macierzach (PROC IML), wykonywanie kodu Pythona (PROC FCMP) itd.

Po prostu złoto!!!

Gold GIFs - Get the best GIF on GIPHY

5. Obecni klienci jeszcze długo będą używać SAS

Spójrzmy teraz na SAS z perspektywy firm. Mając na uwadze opisane powyżej cechy, funkcjonalności i wartości dodane SAS, nie dziwi fakt, że chętnie korzystają one właśnie z tego oprogramowania. Opłaty licencyjne lub za rozszerzenia nie wydają się tak straszne, gdy weźmiemy pod uwagę wsparcie techniczne oraz merytoryczne zapewniane przez SAS Institute, duże i aktywne SAS community (również w Polsce) czy konferencje i spotkania na których użytkownicy mogą wymieniać doświadczeniami. Co więcej w ramach opłat licencyjnych mamy dostęp do najnowszych wersji oprogramowania, które pojawiając się cyklicznie wnoszą dodatkowe funkcjonalności czy tez optymalizację dotychczasowych procesów. Wraz z rozwojem platformy SAS Viya można korzystać z SAS na wiele różnych sposobów. Firma oferuje elastyczne modele licencjonowania, w tym takie, które nie mają ograniczeń w zakresie mocy serwerów przetwarzających dane i obliczających modele analityczne. Możliwe jest rozliczanie kosztów użycia oprogramowania na podstawie liczby użytkowników lub grupy konkretnych zastosowań dziedzinowych. Wszystko to sprawia, że gdy klienci zdecydują się na wybór SAS jako podstawowego programu do przetwarzania i analizy danych w swojej organizacji, to trwają w tym wyborze przez kilka lub nawet więcej lat.

Stąd jest duża szansą, że branże, w których obecnie króluje SAS, pozostaną w jego „władaniu” przez kolejne lata. Patrząc na to, czas poświęcony na naukę programowania w SAS jest inwestycją w swoją przyszłą karierę.

Trzeba wspomnieć, że SAS dba o ciągły rozwój swojej technologii i dostosowanie do potrzeb klientów. SAS idzie z duchem czasów stawiając na rozwiązania chmurowe (oparte na platformie SAS Viya), oraz prężnie rozwijając się na rynku oprogramowania dedykowanego machine learning czy Artificial Intelligence. Posiada również dedykowane rozwiązania biznesowe dla poszczególnych typów klientów i obszarów zastosowania np. rozwiązania do zarządzania ryzykiem, wykrywania nadużyć, obszaru customer intelligence, IoT i innych, gdzie analiza wielkich zbiorów danych jest dziś niezbędna.

Black Think About It GIF by Identity - Find & Share on GIPHY

A co na ten temat mówi SAS Institute?

Przygotowując ten artykuł postanowiłem zapytać u źródła. Poniżej wypowiedź Pana Mariusza Dzieciątko, Business Solutions Managera w SAS Polska:

“Oprogramowanie SAS zapewnia kompleksowy zestaw nowoczesnych narzędzi w zakresie analityki i AI, w tym metody statystyczne, optymalizację matematyczną, bogate wizualizacje danych, techniki uczenia maszynowego i uczenia głębokiego. Można przygotowywać prognozy i osadzać modele AI w aplikacjach za pomocą interfejsów REST API i języków programowania, takich jak Python, R, Java, Lua i Scala.

Można budować i trenować najnowocześniejsze modele AI, w tym sieci neuronowe konwencjonalne, sieci neuronowe rekurencyjne, sieci LSTM i sieci wykrywania obiektów.

Narzędzia zapewniają szybką operacjonalizację wyników analiz w dowolnej skali w czasie rzeczywistym. Platforma SAS Viya działa w różnych środowiskach, niezależnie od tego, czy jest wdrażana w chmurze, czy w ramach infrastruktury organizacji. SAS oferuje również narzędzia przetwarzania języka naturalnego do analizy sentymentu i zamiany mowy na tekst. Metody te są dostępne poprzez interfejsy API i umożliwiają tworzenie inteligentnych aplikacji, takich jak Chatboty. SAS zapewnia bezpłatne narzędzia, które umożliwiają sprawny proces zarządzania modelami oraz ich integrowania z regułami biznesowymi.”

Dołącz do Newslettera
Potwierdzam zapis na listę mailową!!!
Dołącz do listy mailowej ZobaczDane.pl. Dzięki temu od razu dostaniesz informację, gdy na blogu pojawi się nowy artykuł. Dodatkowo co tydzień wyślę Ci zbiór kilku ciekawych linków dotyczących zagadnień ze świata danych.
Nie będę wysyłał Ci żadnego spamu. U mnie masz same konkrety.

Podsumowanie

Mam nadzieję, że dzisiejszy artykuł przekonał Was, że zdecydowanie warto znać i wykorzystywać w praktyce język SAS 4GL. Jest on łatwy w nauce, a daje bardzo dużo możliwości analitycznych oraz szeroki wachlarz zastosowań statystycznych. Dodatkowo często znajomość SAS jest jedną z kluczowych kompetencji wymaganych od kandydata na stanowiska związane z przetwarzaniem danych.

PS. Za pomoc w przygotowaniu artkułu dziękuję zespołowi SAS Poland– Panu Mariuszowi Dzieciątko – link oraz Panu Łukaszowi Libudzie – link. Dostarczyli oni cennych wskazówek, które wzbogaciły treść materiału i dzięki którym artykuł ma tak przekrojowy charakter.

Warto sprawdzić…

  1. Strona SAS wraz z ciekawymi artykułami dotyczącymi przetwarzania i wizualizacji danych z wykorzystaniem SAS 4GL – link
  2. SAS OnDemand – platforma do nauki programowania w SAS za darmo – link
  3. Podstawowa wiedza o kodowaniu w SAS – link
  4. Artykuł na Medium dotyczący historii SASalink
  5. Polskie community SASlink
  6. Oficjalna strona Polish SAS Users Group – link
  7. Bartosz Jabłoński – polski “guru” SAS, członek PolSUG – jeśli masz pytanie jak zakodować coś w SAS, ten człowiek z pewnością zna odpowiedź – link
  8. Procedura PROC FCMP – użycie Pythona wewnątrz SAS link
  9. Wspominana w artykule nowoczesna platforma SAS Viyalink
  10. Zaawansowana analityka w zachwycającym wydaniu – SAS Visual Analyticslink

Może Ci się spodobać...

Jeden komentarz

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *