SAS 4GL (ang. SAS Institute 4th Generation Language - język 4 generacji Instytutu SAS) - język programowania pakietu statystycznego SAS.
SAS 4GL wbrew nazwie, sugerującej wysoki poziom abstrakcji, nie jest językiem obiektowym (w wersji 9 wprowadzono "obiektową" składnię dla dwóch predefiniowanych obiektów – hash i hashiterator, ale nadal nie można tworzyć własnych klas). Nie ma nawet definiowalnych przez użytkownika procedur w sensie klasycznych języków programowania (zamiast nich dostępny jest rozbudowany system makr, własne funkcje użytkownika o ograniczonym zastosowaniu wprowadzono w wersji 9.1). Ma jednak wbudowane polecenia, zwane tutaj procedurami, realizujące potężny zasób algorytmów statystyki i analizy danych. Dobrze radzi sobie z dużymi zbiorami danych o milionach rekordów. Umożliwia pracę w trybie klient-serwer.
Typy danych SAS ma dwa proste typy danych: liczba rzeczywista
tekst
Długość tekstu oraz liczbę bajtów zmiennej liczbowej można ustawiać odpowiednimi instrukcjami. Można także ustawić tzw. format - sposób prezentacji zmiennej na ekranie oraz informat - sposób ładowania zmiennej z pliku tekstowego.
Ponadto w data stepie (opisanym dalej) można grupować zmienne w tablice.