Sas: hoe de lengte van tekenvariabelen te wijzigen
De eenvoudigste manier om de lengte van tekenvariabelen in SAS te wijzigen, is door de instructies ALTER TABLE en MODIFY in PROC SQL te gebruiken.
Om dit te doen, kunt u de volgende basissyntaxis gebruiken:
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
Dit specifieke voorbeeld verandert de lengte van de tekenvariabele genaamd team in de dataset genaamd my_data zodat deze een lengte van 4 heeft.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Wijzig de lengte van de tekenvariabele in SAS
Stel dat we de volgende dataset in SAS hebben die informatie bevat over verschillende basketbalteams:
/*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;
We kunnen PROC CONTENTS gebruiken om de lengte van elke variabele in de dataset weer te geven:
/*view length of each variable in dataset*/
proc contents data =my_data;
De laatste tabel met het resultaat toont de lengte van elke variabele:
Uit deze tabel kunnen we zien:
- De puntenvariabele is een numerieke variabele met een lengte van 8.
- De teamvariabele is een karaktervariabele met een lengte van 8.
Laten we zeggen dat we de teamvariabele willen wijzigen zodat deze een lengte van 4 heeft.
We kunnen hiervoor de volgende syntaxis gebruiken:
/*change length of team variable to 4*/
proc sql ;
alter table my_data
modify team char( 4 );
quit ;
We kunnen ze gebruiken door PROC CONTENTS opnieuw te gebruiken om de lengte van elke variabele in de dataset weer te geven:
/*view updated length of each variable in dataset*/
proc contents data =my_data;
De laatste tabel met het resultaat toont de lengte van elke variabele:
We kunnen zien dat de teamvariabele nu een lengte van 4 heeft.
Opgemerkt moet worden dat geen van de waarden in de teamkolom werd afgekapt omdat de langste teamnaam een lengte van 4 had.
Als u echter de lengte van de teamvariabele bijvoorbeeld naar 3 zou wijzigen, zou het laatste teken van sommige teamnamen zijn afgekapt.
Als u deze methode gebruikt, verschijnt er geen waarschuwingsbericht in geval van afkapping. Zorg er dus voor dat u de maximale lengte van de tekenreeksen in uw tekenkolom kent voordat u deze methode gebruikt.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe getallen uit een string in SAS te extraheren
Hoe de SUBSTR-functie in SAS te gebruiken
Speciale tekens verwijderen uit tekenreeksen in SAS