Publicado el :
ETL CREATION_INTERNE

Detección de Años Bisiestos

Este código también está disponible en: Deutsch English Français
En espera de validación
El script utiliza un paso DATA para iterar sobre los años de 2000 a 2200. Para cada año, intenta construir una fecha para el 29 de febrero. Si la fecha resultante no es un valor faltante (es decir, el 29 de febrero es una fecha válida para ese año), entonces el año se considera bisiesto y se añade al conjunto de datos de salida 'leap_years'. Solo la variable 'year' se mantiene en el conjunto de datos final.
Análisis de datos

Type : CREATION_INTERNE


Los datos se generan completamente internamente por el paso DATA, sin depender de conjuntos de datos existentes (SASHELP o externos).

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque es un paso DATA que crea un nuevo conjunto de datos llamado 'leap_years'. Inicializa una variable 'date' para almacenar los valores de fecha. Un bucle 'do' itera sobre cada año desde 2000 hasta 2200. Dentro del bucle, la función MDY() se utiliza para intentar crear una fecha para el 29 de febrero del año actual. Si el 29 de febrero no es una fecha válida (es decir, el año no es bisiesto), la función MDY() devuelve un valor faltante. La condición 'if not missing(date)' filtra estos casos, escribiendo solo los años bisiestos en el conjunto de datos de salida mediante la instrucción 'output'. La opción 'keep=year' garantiza que solo la variable 'year' se mantenga en el conjunto de datos final.
¡Copiado!
1DATA leap_years(keep=year);
2 LENGTH date 8;
3 DO year=2000 to 2200;
4 /* MISSING when Feb 29 not a valid date */
5 date=mdy(2,29,year);
6 IF not missing(date) THEN
7 OUTPUT;
8 END;
9RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.