9 powodów, dla których warto uczyć się programowania w SAS, nawet jeśli korzystasz z Enterprise Guide


Burmistrz Nowego Jorku - Michael Bloomberg - przyznał, że w ramach postanowień noworocznych zdecydował się nauczyć programowania (learn code).

Założyciel Apple Steve Jobs zwykł był mawiać:

Moim zdaniem każdy w naszym kraju powinien nauczyć się pisania programów komputerowych, ponieważ programowanie rozwija myślenie.

A Prezydent Barrack Obama radzi:

Zamiast kupować nową grę komputerową, stwórz własną, zamiast ściągać aplikację, pomóż ją zaprojektować, zamiast grać na telefonie, zaprogramuj go”.

Jak wynika z powyższych cytatów, najwięksi przywódcy i wizjonerzy uważają, że warto zajmować się programowaniem. W szczególności programowanie w języku SAS jest jedną z umiejętności dającą absolwentom informatyki nieomal pewność znalezienia atrakcyjnego zatrudnienia. Jeśli nie wierzycie mi na słowo wejdźcie na mojego bloga i przeczytajcie w jaki sposób znajomość technologii SAS pomaga w znalezieniu pracy. (how to land a job as a SAS professional).

Całkiem niedawno pewien student spytał mnie po co miałby się uczyć języka SAS, skoro ma dostęp do oprogramowania SAS Enterprise Guide. Zwróciłam się zatem z tym pytaniem do zespołu odpowiadającego za szkolenia w centrali SAS. Wspólnie udało nam się znaleźć tak dużo powodów, że zdecydowałam się napisać na ten temat osobny post.

Poznajcie więc 9 powodów, dla których warto nauczyć się programowania w języku SAS. Lista ta może Wam się przydać nawet wtedy, gdy SAS Enterprise Guide (EG) został zainstalowany na Waszych komputerach, gdyż to narzędzie ma swoje własne okno edycji programów.

  1. Użycie logu przetwarzania do poszukiwania błędów oraz dostosowania programów tak, aby uzyskać ich maksymalną wydajność.
  2. Użycie dodatkowych opcji, które nie są dostępne w kreatorach zadań. Dowiecie się gdzie dokładnie umieszczać własne polecenia w kodzie wygenerowanym automatycznie przez SAS Enterprise Guide. Np. jeśli chcielibyście uzyskać rozsunięty wykres kołowy, możecie się dowiedzieć, że jest dostępna opcja EXPLODE= oraz gdzie należy ją dopisać.
  3. Skorzystanie z zaawansowanych technik przetwarzania danych, nie przewidzianych w standardowych kreatorach zadań. Np. tworzenie obiektów HASH, tworzenie własnych funkcji i wywołań (PROC FCMP), operacje związane z tablicami, praca z surowymi danymi hierarchicznymi i wiele innych. Ponadto, programista posiadający dogłębną znajomość kodu oraz związanej z nim logiki SAS może sobie pozwolić na znacznie większą kreatywność, niż korzystanie ze standardowych funkcji dostępnych w EG.
  4. Dynamiczne programowanie – czyli innymi słowy, jeśli przejdziecie na poziom dla zaawansowanych, możecie zostać zmuszeni do korzystania z makrojęzyka SAS. EG korzysta ze statycznych nazw tabel i rezultatów na wyjściu. Możecie np. nadać danym ODS dynamiczną nazwę lub wykonać proces w pętli. Korzystanie z Data Step – mimo, iż EG to wspaniałe narzędzie, może zostać rozszerzone o wiele różnych funkcji i opcji SAS Data Step. Moim zdaniem to jedna z najważniejszych przyczyn, aby nauczyć się programowania w języku SAS wykraczającego poza funkcje EG.
  5. Skorzystanie z nowości w języku SAS, dla których do tej pory nie stworzono kreatorów w EG (DS2, itd.)
  6. Zaawansowane techniki zmuszające do zastosowania bardziej zaawansowanych niż „point and click” funkcji, pętle, tablice, makro programy.
  7. Użycie kroków DATA i PROC - EG generuje kod wykorzystując głównie procedury (kod PROC), niemal całkowicie pomijając funkcjonalność Data Step (wyłączeniem przypadków importowania danych z plików). Pełne wykorzystanie potencjału SAS uzyskamy, gdy skorzystamy z obu typów kroków.
  8. Certyfikacja: Żaden z programów certyfikacji SAS (Base, Advanced oraz Statistical Business Analyst) nie obejmuje pytań w zakresie oprogramowania SAS, zadawane pytania dotyczą PROGRAMOWANIA w SAS.
  9. Używanie SAS bez EG – niestety nie wszystkie firmy zapewniają dostęp do EG.


Zaznaczam, że nie stawiam Was przed wyborem: wykorzystanie narzędzia SAS Enterprise Guide kontra programowanie. Dzięki nowym funkcjom EG można te dwie rzeczy połączyć. Wykonywanie standardowych zadań przy pomocy EG umożliwi Wam zaoszczędzenie czasu na zadania będące większymi wyzwaniami. A jeśli zamierzacie spersonalizować EG przy zastosowaniu własnego kodu, możecie skorzystać z interfejsu uwzględnionego w EG.

Pomijając dziewięć powyższych powodów należy zaznaczyć, że programowanie umożliwia nabywanie umiejętności przydatnych w biznesie: umiejętności podzielenia złożonego problemu na mniejsze elementy, zdolności do efektywnego wykorzystania zasobów oraz innego spojrzenia na świat, które zapewnia możliwość twórczego rozwiązywania istniejących problemów.

Źródło: SAS Blog, SAS Learning Post, Charu Shankar