Sas: jak zmienić długość zmiennych znakowych
Najłatwiejszym sposobem zmiany długości zmiennych znakowych w SAS-ie jest użycie instrukcji ALTER TABLE i MODIFY w PROC SQL .
Aby to zrobić, możesz użyć następującej podstawowej składni:
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Ten konkretny przykład zmienia długość zmiennej znakowej o nazwie team w zestawie danych o nazwie my_data na długość 4 .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Zmień długość zmiennej znaku w SAS-ie
Załóżmy, że mamy następujący zbiór danych w SAS-ie, który zawiera informacje o różnych drużynach koszykówki:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;
/*view dataset*/
proc print data =my_data;
Możemy użyć PROC CONTENTS , aby wyświetlić długość każdej zmiennej w zbiorze danych:
/*view length of each variable in dataset*/
proc contents data =my_data;
Ostatnia tabela wyników pokazuje długość każdej zmiennej:
Z tej tabeli możemy zobaczyć:
- Zmienna punktów jest zmienną numeryczną o długości 8.
- Zmienna zespołu jest zmienną znakową o długości 8.
Załóżmy, że chcemy zmienić zmienną zespołu tak, aby miała długość 4.
W tym celu możemy użyć następującej składni:
/*change length of team variable to 4*/
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Możemy je wykorzystać, ponownie używając PROC CONTENTS, aby wyświetlić długość każdej zmiennej w zbiorze danych:
/*view updated length of each variable in dataset*/
proc contents data =my_data;
Ostatnia tabela wyników pokazuje długość każdej zmiennej:
Widzimy, że zmienna zespołu ma teraz długość 4.
Należy zaznaczyć, że żadna z wartości w kolumnie drużyna nie została obcięta, gdyż najdłuższa nazwa drużyny miała długość 4.
Jeśli jednak zmienisz długość zmiennej zespołu na przykład na 3, ostatni znak niektórych nazw zespołów zostanie obcięty.
Dzięki tej metodzie w przypadku obcięcia nie pojawi się żaden komunikat ostrzegawczy. Dlatego przed użyciem tej metody upewnij się, że znasz maksymalną długość ciągów znaków w kolumnie znaku.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:
Jak wyodrębnić liczby z ciągu w SAS-ie
Jak korzystać z funkcji SUBSTR w SAS-ie
Jak usunąć znaki specjalne z ciągów w SAS-ie