A la hora de trabajar con variables en WPS, uno de los elementos fundamentales son las funciones. En WPS son completamente análogas a SAS. Además, este capítulo quiero que nos sirva para familiarizarnos un poco más con el interfaz de WPS y con sus elementos. Vamos a crear un script, un programa SAS, dentro de nuestro proyecto. Nos ubicamos en el Project Explorer, pulsamos el botón derecho y seleccionamos New — Other; en la ventana que nos sale, nos vamos a WPS y generamos un nuevo programa (script) al que damos el nombre de “funciones”:

Poco a poco tomamos contacto con la herramienta y con los conceptos. El interfaz y el modo de trabajo se parecen más al Enterprise Guide que al SAS Base. Este script nos servirá para crear los ejemplos de uso de funciones en WPS. Las funciones las vamos a dividir en 4 clases en función del tipo de variable:
- Funciones numéricas
- Funciones de texto
- Funciones fecha
- Otras funciones
En esta entrega vamos a ver ejemplos de los dos primeros tipos de funciones. Las funciones fecha tendrán su propio capítulo; las otras funciones son referentes a I/O, arrays… pertenecen a una programación más avanzada e irán saliendo a lo largo del curso. WPS contiene una extensa ayuda sobre todas las funciones disponibles en el WPS Core (la base de WPS):
![]()
El problema es que no está correctamente documentada esta ayuda porque fue el único problema que tuvo WPS en el contencioso con SAS del que ya hablamos en su momento. Hoy presentamos una serie de funciones de uso más habitual.
Funciones numéricas:
data ejemplo1;
x = 1; y = 2; z = 3;
maximo = max(x, y, z); put maximo = ;
minimo = min(x, y, z); put minimo = ;
suma = sum(1, 2, .); put suma = ;
absoluto = abs(x - y); put absoluto = ;
redondea = round(z / y, 1); put redondea = ;
run;
Una muestra de algunas funciones para trabajar con variables numéricas; no es necesario comentarlas con detenimiento a excepción de la función SUM, muy importante cuando trabajamos con valores missing:
data _null_;
total = 10 + .; put total = ;
total = sum(10, .); put total = ;
run;
En la ventana log del output explorer tenemos:
total=.
total=10
Sumar un valor con missing produce un missing. Emplear SUM con un valor y un missing produce un valor (el missing toma valor 0). Es un tema importante y a tener en cuenta.
Funciones de texto:
COMPRESS: Elimina caracteres específicos (o todos los espacios por defecto).COUNT: Cuenta el número de veces que aparece una cadena.INDEX: Busca una cadena de caracteres y devuelve su posición.LEFT: Alinea a la izquierda.LENGTH: Obtiene la longitud de una variable carácter.LOWCASE: Pone en minúsculas.MISSING: Indica si la variable es missing.QUOTE: Pone comillas.REVERSE: Invierte la cadena.RIGHT: Alinea a la derecha.SCAN: Extrae una palabra de una cadena.SUBSTR: Extrae partes de una cadena.TRANWRD: Reemplaza cadenas de caracteres.TRIMN: Elimina espacios en blanco finales.UPCASE: Pone en mayúsculas.
Ejemplos de uso:
data _null_;
y = "Funciones de texto en WPS";
length x $30.;
x = compress(y); put x;
z = count(y, "e"); put z;
z = index(y, 'tex'); put z;
x = left(y); put x;
z = length(y); put z;
x = lowcase(y); put x;
x = upcase(y); put x;
x = quote(y); put x;
x = reverse(y); put x;
x = right(y); put x;
x = scan(y, 2, ' '); put x;
x = substr(y, 1, 3); put x;
x = tranwrd(y, "WPS", "SAS"); put x;
x = trimn(y); put x;
run;
Lo primero que tenemos que hacer cuando trabajemos con variables de texto será definir su longitud. En el ejemplo esto sucede y es el primer elemento del paso DATA. La longitud es muy importante en las variables de texto para evitar truncamientos. En el log tenemos:
FuncionesdetextoenWPS
4
14
Funciones de texto en WPS
25
funciones de texto en wps
FUNCIONES DE TEXTO EN WPS
"Funciones de texto en WPS"
SPW ne otxet ed senoicnuF
Funciones de texto en WPS
de
Fun
Funciones de texto en SAS
Funciones de texto en WPS
Hay funciones que nos devuelven números y otras que nos devuelven texto. Por ese motivo trabajamos con dos variables: x es variable de texto y z es variable numérica. Muy importante: una variable SAS, cuando hemos definido su tipo (numérica o alfanumérica), tiene ese tipo de forma inamovible; una variable no puede modificar su tipo. Éste es un tema muy importante; un alto porcentaje de las visitas que vienen a este blog vienen por ese motivo. En la siguiente entrega veremos las funciones fecha.