Character Variables

In SAS under Windows, character values are sorted using the ASCII collating sequence. As an alternative to the numeric dummy variables discussed previously, you can choose a character variable with a length of 1 byte to serve the same purpose.
The maximum number of variables is limited by the first encountered limitation:
  • the observation length
  • the total storage possible for names, labels, and metadata
  • the amount of available memory on the machine where the data set is stored.
You can define a data set with an observation length of up to 2GB on a 32-bit platform and approximately 2*46 bytes on a 64-bit platform. The observation length cannot exceed the value of the BUFSIZE option.
Assuming a single-byte character set, and that you use the maximum 352 bytes possible for name, label, and other data, for each variable, you can have a maximum of about 4,050,000 variables. If the names, labels, and format names are shorter, you can have more than 200,000,000. There is a maximum of 1GB to store all the variable names and other metadata (data set label, compression name, and other data). The 352 bytes is a result from 32 bytes for formats, informats and variable names, and 256 bytes for label values.
Assuming that the above limits are not exceeded the maximum possible number of variables is 412,977,617 on 32-bit hosts and 2GB on 64-bit hosts.