En función de los contactos con SAS support han elaborado un ranking de errores y warnings reportados a SAS con respecto al paso DATA. En este enlace tenéis el ranking; a los comentarios de Kim Wilson podéis añadir los míos. Veamos uno por uno esos errores:
ERROR: AN INTERNAL ERROR HAS OCCURRED WHILE READING A COMPRESSED FILE. PLEASE CALL YOUR SAS SITE REPRESENTATIVE AND REPORT THE FOLLOWING…Tenéis que reparar eldatasetcomo indica Kim, pero mucho ojo con moverdatasetsentre servidores o con trabajar con distintas versiones de SAS.ERROR: ARRAY SUBSCRIPT OUT OF RANGE AT LINE N AND COLUMN NNos hemos ido de rango en elARRAY; sucede cuando recorremos losarrayscon un bucleDOy el índice del bucle es mayor que el tamaño delarray. Para evitarnos líos podemos hacerARRAY AR(*) ; DO i = 1 TO DIM(AR);. Que no se lleve nadie las manos a la cabeza.ERROR: THE FORMAT $NAME WAS NOT FOUND OR COULD NOT BE LOADEDLlamamos a un formato que no existe, muy habitual eninputoput.NOTE: THE MEANING OF AN IDENTIFIER AFTER A QUOTED STRING MAY CHANGE IN A FUTURE SAS RELEASE. INSERTING WHITE SPACE BETWEEN A QUOTED STRING AND THE SUCCEEDING IDENTIFIER IS RECOMMENDED.Esto no pasa…NOTE: INVALID ARGUMENT TO FUNCTION INPUT AT LINE N COLUMN NEn ocasiones el formato que ponemos eninputes incorrecto y se produce este error, habitual cuando trabajamos con fechas.NOTE: MERGE STATEMENT HAS MORE THAN ONE DATA SET WITH REPEATS OF BY VALUESCuando hacemos unmerge, si uno de los conjuntos de datos tiene observaciones duplicadas por la variable que ponemos enBYobtenemos esteWARNING. Cuando cruzamos tablas SAS hemos de tener mucho cuidado con las observaciones duplicadas.NOTE: SAS WENT TO A NEW LINE WHEN INPUT STATEMENT REACHED PAST THE END OF A LINENo es muy habitual este error. Tenemos que realizar lo que nos dice Kim. La opciónFLOWOVERno la he empleado nunca; en este link tenéis ejemplos de esta problemática.NOTE: INVALID DATA FOR VARIABLE-NAME AT LINE NSi definimos una variable de un tipo no podemos emplear datos de otro tipo, es decir, si la variable es numérica no la igualéis a un carácter y viceversa. Tenedlo en cuenta.WARNING: THE QUOTED STRING CURRENTLY BEING PROCESSED HAS BECOME MORE THAN 262 CHARACTERS LONG. YOU MAY HAVE UNBALANCED QUOTATION MARKS.Otro problema poco habitual, seguid haciendo caso a Kim.WARNING: MULTIPLE LENGTHS WERE SPECIFIED FOR THE VARAIBLE VARIABLE-NAME BY INPUT DATA SET(S). THIS MAY CAUSE TRUNCATION OF DATA.Este warning es muy típico cuando realizamosmergecon variables alfanuméricas. Imaginemos que undatasettiene la variablepólizadefinida como10.y otro tiene la variablepólizadefinida como12.; si realizamos unmergepor esa variable obtendremos esteWARNING.
Estos son los errores que más aparecen en SAS SUPPORT. En mi opinión hay algunos que no son habituales pero hay algunos que son dudas recurrentes que me llegan. Al final lo que siempre plantea problemas son los formatos y las fechas en SAS; el 80% de las dudas que me llegan van por ahí. Espero complementar el mensaje de SAS.