W wersji 9 wprowadzono tablice haszujące.
W obrębie niektórych procedur oferowane są podjęzyki z własnymi typami o zasięgu ograniczonym do tych procedur, np. procedura FCMP oferuje struktury z języka C, a procedura IML arytmetykę macierzy.
Data step Data step jest blokiem instrukcji odpowiedzialnym za przetwarzanie danych krok po kroku. Najprostsza jego forma:
data tabela_wynikowa; set tabela_wejściowa; ... przetwarzanie ... run;
Gdzie "... przetwarzanie ..." oznacza dowolny ciąg instrukcji operujących na jednym wierszu z tabeli wejściowej i produkujących jeden wiersz tabeli wyjściowej.
run jest instrukcją kończącą blok data step.
Przetwarzając data step SAS utrzymuje w pamięci wektor bieżących wartości zmiennych. Instrukcje są wykonywane kolejno od początku do słowa run
Set Natrafienie w data stepie na słowo kluczowe
set tabela1 [tabela2 ...];
powoduje załadowanie do wektora zmiennych kolejnego wiersza z tabeli tabela1. Jeśli zmienna o tej samej nazwie co dana kolumna w tabeli już istnieje, jest nadpisywana. Kiedy skończy się tabela 1, ładowane są dane z tabeli 2, itd. Próba załadowania danych, kiedy skończą się wiersze we wszystkich tabelach powoduje przerwanie działania data stepu (i jest to najczęstszy sposób jego zakończenia).