Cálculo de Días Hábiles

48 views
Skip to first unread message

Pessoasc

unread,
Jul 14, 2009, 8:48:33 PM7/14/09
to SPSSEnMexico, edgar....@gmail.com
Estimados,

Les traigo un código syntax que encontré en Internet y sirve para
calcular el número de días hábiles que hay entre una fecha y otra. En
el código se pueden definir las fechas inábiles o días festivos, el
ejemplo está basado en el calendario oficial en México y se los
comentaré:

COMPUTE DiasHabiles = 0.
LOOP # = Fecha_ini to Fecha_fin BY 86400.
If RANGE(XDATE.WKDAY(#),2,7) & ~ANY(#,
DATE.DMY(1,1,2009),
DATE.DMY(2,2,2009),
DATE.DMY(16,3,2009),
DATE.DMY(1,5,2009),
DATE.DMY(16,9,2009),
DATE.DMY(16,11,2009),
DATE.DMY(25,12,2009)
)
DiasHabiles = DiasHabiles + 1.
END LOOP.
EXECUTE .

En la línea 1 el código define una variable "DiasHabiles" con
constante 0.

En la línea 2 arranca un ciclo que inicia en la fecha especificada en
la variable "Fecha_ini" y que llegará hasta la fecha en "Fecha_fin" el
atributo "BY 86400" quiere decir que haga un conteo de días ya que
SPSS cuenta por segundo y en un día hay 24*60*60 segundos.

En la línea 3 haciendo uso del comando "RANGE" se toman el total de
días y que la función "XDATE.WKDAY(#),2,7" genera sólo días de Lunes
(2) a Sábado (7). A partir de "~ANY" se empiezan a definir los días
inhábiles o festivos.

En la línea 4 defino el primer día festivo del año, el 01 de Enero,
día mundial de la confraternización y así sucesivamente todos los días
oficialmente festivos en este año 2009 en México.

Y finalmente, en la línea 12 se genera un contador que servirá para ir
acumulando los días hábiles que se van generando.

Se me hizo un código muy sencillo y que de una manera práctica nos va
adentrando en el uso del Syntax de SPSS.

Reciban un abrazo.

Sergio Pessoa.

Juan Antonio Escobar Cancino

unread,
Jul 15, 2009, 9:43:13 AM7/15/09
to SPSSEn...@googlegroups.com, edgar....@gmail.com
Muchas Gracias Sergio.
un abrazo desde Chile.
--
Juan Antonio
Escobar Cancino
Analista de Estadisticas
Reply all
Reply to author
Forward
0 new messages