b'\n_START_ARTICLE_\nSAS (lenguaje de programaci\xc3\xb3n)\n_START_SECTION_\nM\xc3\xb3dulos adicionales\n_START_PARAGRAPH_\nLas dos empresas que comercializan int\xc3\xa9rpretes de lenguaje SAS han desarrollado m\xc3\xb3dulos adicionales que enriquecen la capacidad del lenguaje para, especialmente, analizar datos.\n_START_SECTION_\nDesarrollados por World Programming\n_START_PARAGRAPH_\nWorld Programming tambi\xc3\xa9n ha implementado m\xc3\xb3dulos adicionales que a\xc3\xb1aden al n\xc3\xbacleo del lenguaje la capacidad para realizar determinados an\xc3\xa1lisis estad\xc3\xadsticos (significativamente menos que SAS Institute) conectarse con determinadas fuentes de datos (ODBC, Oracle, etc.), etc.\n_START_SECTION_\nEjemplos de c\xc3\xb3digo\n_START_PARAGRAPH_\nUn paso data que crea el un conjunto de datos, copia, a partir de origen, filtrando los casos en los que las ventas son mayores de 100000:_NEWLINE_ DATA copia;_NEWLINE_ SET origen;_NEWLINE_ WHERE ventas > 100000; RUN;_NEWLINE_Otro ejemplo usando macros:_NEWLINE_ %macro brol(max);_NEWLINE_ %do i=1 %to max; PROC IMPORT OUT= WORK.origine _NEWLINE_            DATAFILE= "U:\\temp\\origine.xls" _NEWLINE_            DBMS=EXCEL REPLACE;_NEWLINE_     SHEET="vente&i"; _NEWLINE_     GETNAMES=YES;_NEWLINE_     MIXED=YES;_NEWLINE_     SCANTEXT=YES;_NEWLINE_     USEDATE=YES;_NEWLINE_     SCANTIME=YES; RUN;_NEWLINE_ %end;_NEWLINE_ %mend;_NEWLINE_ %brol(4)'