Iterar tiempo (ModelBuilder)

Uso

  • Esta herramienta solo está disponible en ModelBuilder para su uso en modelos. La herramienta no está disponible desde el panel Geoprocesamiento ni desde Python.

  • La herramienta acepta entidades y tablas con un campo de fecha.

  • La herramienta itera y filtra las filas que corresponden a diferentes intervalos y extensiones temporales. Por ejemplo, puede iterar los datos de cada hora para la totalidad de la extensión temporal de los datos o para un subconjunto de datos. La herramienta crea diferentes fracciones de tiempo que se pueden utilizar como entrada en otras herramientas.

  • Use el parámetro Definición de tiempo para filtrar las filas para determinados meses o días de la semana. Por ejemplo, si iteramos los datos por semana con un valor de Intervalo de periodo de tiempo de 1 semana, al ajustar Definición de tiempo a Sábado y Domingo, cada fracción de tiempo devuelve únicamente los datos correspondientes al sábado y el domingo.

  • Use el parámetro Subconjunto para crear uno o varios subconjuntos de cada fracción de tiempo. La siguiente tabla muestra ejemplos de diferentes valores de Retraso del subconjunto y Duración del subconjunto, suponiendo que la fracción temporal vaya del 1 de enero de 2022 a las 1:00 horas (01/01/2022 01:00:00) al 2 de enero de 2022 a las 1:00 horas (02/01/2022 01:00:00).

    CasoValor del subconjuntoResultado

    1

    Retraso del subconjunto: 2 horas

    Duración del subconjunto: 2 horas

    Se devolverán datos desde las 3:00 horas (01/01/2022 00:03:00) a las 5:00 horas (01/01/2022 00:05:00).

    2

    Retraso del subconjunto: 2 horas

    Duración del subconjunto: 2 horas

    Retraso del subconjunto: 8 horas

    Duración del subconjunto: 4 horas

    Se devolverán datos desde las 3:00 horas (01/01/2022 00:03:00) a las 5:00 horas (01/01/2022 00:05:00) y de las 9:00 horas (01/01/2022 00:09:00) a las 13:00 horas (01/01/2022 00:13:00)

    3

    Retraso del subconjunto: 2 horas

    Duración del subconjunto: ninguna

    Se devolverán datos desde las 3:00 horas (01/01/2022 00:03:00) a las 1:00 horas del día siguiente (02/01/2022 00:01:00).

    4

    Retraso del subconjunto: 2 horas

    Duración del subconjunto: 0 horas

    Se devolverán datos desde las 3:00 horas (01/01/2022 00:03:00).

    Ejemplos de subconjunto Iterar tiempo

  • Utilice los parámetros Hora de inicio de iteración y Hora de finalización de iteración para crear intervalos temporales a partir de un subconjunto temporal de los datos.

  • Utilice los parámetros Alinear la fecha de inicio de la iteración con los datos y Alinear la fecha de finalización de la iteración con los datos con los parámetros Hora de inicio de la iteración y Hora de finalización de la iteración para alienar el inicio y el final de la iteración con el valor de fecha y hora más cercano en los datos.

  • El inicio y el final de los intervalos temporales se calculan a partir de la combinación de los valores de los parámetros. La siguiente tabla muestra los resultados esperados en base a diferentes combinaciones de parámetros con el parámetro Omitir intervalos vacíos desactivado. Por ejemplo, los datos se extienden del 03/01/2022 al 31/01/2022. Con un intervalo de un día, si no se especifican los valores de los parámetros Hora de inicio de la iteración y Hora de finalización de la iteración, el primer intervalo temporal se iniciará el 03/01/2022 en función del inicio de los datos y finalizará el 01/02/2022.

    Hora de inicio de la iteraciónAlinear la fecha de inicio de la iteración con los datosHora de finalización de la iteraciónAlinear la fecha de finalización de la iteración con los datosInicio del primer intervalo de tiempoFin del último intervalo de tiempo

    03/01/2022

    01/02/2022

    01/01/2022

    Desactivado

    01/01/2022

    01/02/2022

    01/01/2022

    Activado

    03/01/2022

    01/02/2022

    01/02/2022

    Desactivado

    03/01/2022

    01/02/2022

    01/02/2022

    Activado

    03/01/2022

    31/01/2022

    01/01/2022

    Desactivado

    01/02/2022

    Desactivado

    01/01/2022

    01/02/2022

    01/01/2022

    Activado

    01/02/2022

    Desactivado

    03/01/2022

    01/02/2022

    01/01/2022

    Desactivado

    01/02/2022

    Activado

    01/01/2022

    31/01/2022

    01/01/2022

    Activado

    01/02/2022

    Activado

    03/01/2022

    31/01/2022

  • El parámetro Incluir inicio siempre se respeta para el primer intervalo de tiempo y el parámetro Incluir finalización siempre se respeta para el último intervalo de tiempo, independientemente de los valores de los parámetros Incluir inicio e Incluir fin. Para cada división temporal intermedia, la inclusión o exclusión de datos se basa en los valores de los parámetros. Por ejemplo, si los datos tienen valores del 01/01/2022 al 03/01/2022, la siguiente tabla muestra el resultado del recuento esperado con un intervalo de 1 día para las iteraciones de 01/01/2022 a 03/01/2022.

    Intervalo de tiempoRecuento con ambos parámetros desactivadosRecuento solo con Incluir inicio activadoRecuento solo con Incluir final activadoRecuento con ambos parámetros activados

    01/01/2022 a 02/01/2022

    1

    1

    2 (Incluir inicio siempre se respeta para el primer intervalo de tiempo)

    2

    02/01/2022 a 03/01/2022

    0

    1

    1

    2

    03/01/2022 a 04/01/2022

    0

    1

    0

    1

  • El parámetro Subconjunto respeta los ajustes de inclusión en los parámetros Incluir inicio e Incluir fin.

  • Cuando se usa el mismo campo para los parámetros Hora de inicio de la iteración y Hora de finalización de la iteración, las filas con valores nulos se omitirán porque no corresponden a ninguna extensión de tiempo.

    Cuando se utilizan distintos campos para los parámetros Hora de inicio de la iteración y Hora de finalización de la iteración, las filas con valores nulos se omitirán de forma predeterminada. Desactive el parámetro Omitir valores nulos para incluirlos en la iteración. En las tablas siguientes se muestra si se incluirá una fila para los intervalos de tiempo de salida del 01/01/2022 al 03/01/2022 con un intervalo de 1 día y el parámetro Incluir inicio activado.

    Por ejemplo, una fila tiene un valor de campo de hora de inicio nulo y el valor del campo de tiempo de finalización es 02/01/2022:

    Intervalo de tiempoResultado esperado

    01/01/2022 a 02/01/2022

    Incluido (porque hay un valor de fila nulo en el campo de inicio)

    02/01/2022 a 03/01/2022

    Incluido (porque el parámetro Incluir inicio está activado)

    03/01/2022 a 04/01/2022

    No incluido

    Por ejemplo, una fila tiene 02/01/2022 como campo de tiempo de inicio y el valor del campo de tiempo de finalización es nulo:

    Intervalo de tiempoResultado esperado

    01/01/2022 a 02/01/2022

    No incluido

    02/01/2022 a 03/01/2022

    Incluido (porque hay un valor de fila nulo en el campo de fin)

    03/01/2022 a 04/01/2022

    Incluido (porque hay un valor de fila nulo en el campo de fin)

    Si una fila tiene valores nulos tanto en el campo de tiempo de inicio como en el de finalización, la fila se incluirá en cada intervalo de tiempo de salida.

  • Desactive el parámetro Omitir fracciones vacías para mostrar todas las fracciones de tiempo en el resultado, incluidos los que tienen un recuento de cero filas. De forma predeterminada, los segmentos vacíos se ocultarán.

  • Para cada iteración, la herramienta devuelve las siguientes salidas:

    • Capa de salida: capa con filas seleccionadas que coinciden con los criterios de intervalos de tiempo
    • Hora de inicio: inicio de cada intervalo temporal
    • Hora de finalización: finalización de cada intervalo temporal
    • Recuento: recuento de filas de cada intervalo temporal

  • Los dos parámetros de salida, Hora de inicio y Hora de finalización, se indican en formato de 24 horas. Si no se especifica una hora en los datos o en cualquier valor de parámetro, el valor límite predeterminado es 00:00:00.

  • Los valores de los parámetros Hora de inicio y Hora de finalización pueden utilizarse como sustitución de variables en línea para definir nombres de salida en otras herramientas. Para ello, marque el parámetro Formato de cadena de hora de salida para devolver una cadena de caracteres de fecha y hora sin caracteres especiales, como en el ejemplo siguiente.

    Salidas de herramienta como sustitución de variables en línea

    La hora siempre se añade a las cadenas de hora de inicio y fin. Para eliminar tiempo de esa cadena, utilice la herramienta Calcular valor y defina la expresión como "%Start Time%"[:11] + "_to_" + "%End Time%"[:11]. A continuación, la salida de la herramienta Calcular valor se puede utilizar como sustitución de variables en línea en la salida de la herramienta Copiar entidades.

    Salidas de la herramienta sin tiempo como sustitución de variables en línea

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

Tabla de entrada que se va a iterar.

Table View; Feature Layer
Definición de tiempo
(Opcional)

Especifica el filtro que se aplicará a los datos.

  • NingunoNo se aplicará ningún filtro.
  • Días laborablesLos datos se filtrarán utilizando el valor del parámetro Días.
  • MesesLos datos se filtrarán utilizando el valor del parámetro Meses.
String
Meses
(Opcional)

Especifica el mes que se utilizará para filtrar los datos.

Este parámetro está activo si el valor del parámetro Definición de tiempo se especifica como Meses.

  • EneroSe devolverán los datos de enero.
  • FebreroSe devolverán los datos de febrero.
  • MarzoSe devolverán los datos de marzo.
  • AbrilSe devolverán los datos de abril.
  • MayoSe devolverán los datos de mayo.
  • JunioSe devolverán los datos de junio.
  • JulioSe devolverán los datos de julio.
  • AgostoSe devolverán los datos de agosto.
  • SeptiembreSe devolverán los datos de septiembre.
  • OctubreSe devolverán los datos de octubre.
  • NoviembreSe devolverán los datos de noviembre.
  • DiciembreSe devolverán los datos de diciembre.
String
Días
(Opcional)

Especifica el día de la semana que se usará para filtrar los datos.

Este parámetro está activo si el valor del parámetro Definición de tiempo se especifica como Días.

  • LunesSe devolverán los datos del lunes.
  • MartesSe devolverán los datos del martes.
  • MiércolesSe devolverán los datos del miércoles.
  • JuevesSe devolverán los datos del jueves.
  • ViernesSe devolverán los datos del viernes.
  • SábadoSe devolverán los datos del sábado.
  • DomingoSe devolverán los datos del domingo.
String
Intervalo de periodo de tiempo

Intervalo temporal que se utilizará para crear fracciones de tiempo. Solo son válidos los números enteros.

Time Unit
Subconjunto
(Opcional)

Uno o más subconjuntos temporales para cada iteración. Cada subconjunto se define por un par de valores de Retraso del subconjunto y Duración del subconjunto.

El inicio de cada fracción temporal está desplazado por el valor de Retraso del subconjunto, y el rango temporal de la fracción se define por el valor Duración del subconjunto.

Por ejemplo, una fracción temporal se da entre el 1 de enero de 2022 a las 1:00 horas (1/1/2022 01:00:00) y el 2 de enero de 2022 a las 1:00 horas (2/1/2022 01:00:00), con un valor de retraso de subconjunto de 2 horas.

  • Cuando el valor de la duración del subconjunto sea de 2 horas, la fracción temporal empezará a las 3:00 horas (1/1/2022 00:03:00) y finalizará a las 5:00 horas del día siguiente (2/1/2022 00:05:00).
  • Cuando el valor de la duración del subconjunto esté vacío, la fracción de tiempo empezará a las 3:00 horas (1/1/2022 00:03:00) y finalizará a las 1:00 horas del día siguiente (2/1/2022 00:01:00).
  • Cuando el valor de la duración del subconjunto sea 0, el subconjunto solo devolverá los datos de las 3:00 horas (1/1/2022 00:03:00).
Value Table
Campo de fecha de inicio

Campo que se utilizará para definir la extensión temporal (o su principio) y la consulta para crear fracciones de tiempo.

La extensión temporal puede alterarse especificando un valor de fecha y hora diferentes para el parámetro Hora de inicio de la iteración.

Field
Campo de fecha de fin
(Opcional)

Campo que se utilizará para definir el final de la extensión temporal y la consulta para crear fracciones de tiempo.

Este campo se puede agregar si los datos tienen campos de fecha independientes para las horas de inicio y fin. Si los datos tienen un único campo para las horas de inicio y fin, deje este parámetro en blanco o defínalo en el mismo campo que el valor del Campo de hora de inicio.

Field
Hora de inicio de la iteración
(Opcional)

Una hora de inicio que crea un subconjunto de los datos que comienzan a partir del valor de fecha y hora especificado.

Date
Alinear la fecha de inicio de la iteración con los datos
(Opcional)

Especifica si el inicio de la iteración se alineará con la fecha más cercana de los datos.

  • Activado: el inicio de la iteración se alineará con la fecha más próxima de los datos que sea igual o posterior a la fecha especificada para el parámetro Hora de inicio de la iteración.

    Por ejemplo, si el valor del parámetro Hora de inicio de la iteración es 01/01/2022 y los datos comienzan a partir del 06/01/2022, la iteración empezará a partir del 06/01/2022 y dividirá los datos entre el intervalo de tiempo definido por el parámetro Intervalo de período de tiempo. En el caso de un intervalo de tiempo de un mes, la división será de 06/01/2022 a 06/02/2022, y así sucesivamente.

  • Desactivado: el inicio de la iteración se alineará con la fecha especificada para el parámetro Hora de inicio de la iteración. Esta es la opción predeterminada.

    Por ejemplo, si el valor del parámetro Hora de inicio de la iteración es 01/01/2022 y los datos comienzan a partir del 06/01/2022, la iteración seguirá empezando desde el 01/01/2022 y dividirá los datos por el intervalo de tiempo definido por el parámetro Intervalo de período de tiempo. En el caso de un intervalo de tiempo de un mes, la división será de 01/01/2022 a 01/02/2022, y así sucesivamente.

Boolean
Hora de finalización de la iteración
(Opcional)

Una hora de finalización que crea un subconjunto de los datos que finalizan antes del valor de fecha y hora especificado o en ese momento.

Date
Alinear la fecha de finalización de la iteración con los datos
(Opcional)

Especifica si el final de la iteración se alineará con la fecha más cercana en los datos.

  • Activado: el final de la iteración se alineará con la fecha más próxima de los datos que sea igual o anterior a la fecha especificada para el parámetro Hora de finalización de la iteración.

    Por ejemplo, si el valor del parámetro Hora de finalización de la iteración es el 31/12/2022 y los datos terminan el 28/12/2022, la iteración finalizará el 28/12/2022. El último intervalo puede ser inferior al intervalo de tiempo definido.

  • Desactivado: el final de la iteración se alineará con la fecha especificada para el parámetro Hora de finalización de la iteración. Esta es la opción predeterminada.

    Por ejemplo, si el valor del parámetro Hora de finalización de la iteración es el 31/12/2022 y los datos terminan el 28/12/2022, la iteración finalizará el 31/12/2022. La última fracción se dividirá de acuerdo con el intervalo de tiempo, pero finalizará según el valor especificado en el valor de Hora de finalización de iteración especificado.

Boolean
Incluir inicio
(Opcional)

Especifica si la hora de inicio se incluirá en cada intervalo de tiempo.

  • Activado: la hora de inicio se incluirá en cada intervalo de tiempo. Esta es la opción predeterminada.
  • Desactivado: la hora de inicio no se incluirá en cada intervalo de tiempo.
Boolean
Incluir fin
(Opcional)

Especifica si la hora de finalización se incluirá en cada intervalo de tiempo. Si se activa tanto Incluir inicio como Incluir fin, el mismo evento se contará dos veces. Si se produjo un evento al final del intervalo anterior, también se contará en el siguiente intervalo (incluir inicio). Esto puede resultar útil en eventos continuos. Por ejemplo, un incendio lleva ardiendo tres días y se desea conocer el número total de registros de incendios nuevos y existentes

  • Activado: se incluirán los valores anteriores o iguales a la hora de finalización.
  • Desactivado: se incluirán los valores anteriores a la hora de finalización. Esta es la opción predeterminada.
Boolean
Omitir valores nulos
(Opcional)

Especifica si se incluirán las filas con valores de fecha y hora nulos. Este parámetro está disponible cuando los parámetros Campo de hora de inicio y Campo de hora de finalización tengan campos de fecha diferentes.

  • Marcado: no se incluirán las filas con valores de fecha y hora nulos. Esta es la opción predeterminada.
  • No marcado: se incluirán las filas con valores de fecha y hora nulos.

Desactive este parámetro en los siguientes casos:

  • El valor del parámetro Campo de hora de inicio es nulo: cualquier fila con un valor nulo en el valor del parámetro Campo de hora de inicio se incluirá en cada fracción de tiempo que finalice antes del valor del parámetro Campo de finalización o en ese momento.
  • El valor del parámetro Campo de hora de finalización es nulo: cualquier fila con un valor nulo en el valor del parámetro Campo de hora de finalización se incluirá en cada fracción de tiempo que comience después del valor del parámetro Campo de inicio o justo en ese momento.
  • Los valores de los parámetros Campo de hora de inicio y Campo de hora de finalización son nulos: cualquier fila con un valor nulo en los valores de los parámetros Campo de inicio y Campo de finalización se incluirá en cada fracción de tiempo.

Boolean
Formato de cadena de hora de salida
(Opcional)

Especifica si se eliminarán caracteres reservados de los valores de los parámetros Hora de inicio y Hora de fin. Solo se conservarán los caracteres alfanuméricos y los guiones bajos.

  • Activado: se eliminarán los caracteres reservados de los valores de los parámetros Hora de inicio y Hora de fin. Por ejemplo, si el valor de fecha y hora es 01/01/2022 08:30:00, la cadena de caracteres con formato será 01_01_2022_00_00_00_00.
  • Desactivado: no se eliminarán los caracteres reservados de los valores de los parámetros Hora de inicio y Hora de fin. Esta es la opción predeterminada.
Boolean
Omitir intervalos vacíos
(Opcional)

Especifica si se eliminarán las fracciones de tiempo vacías. Un intervalo de tiempo vacío no contiene filas.

  • Activado: se eliminarán los intervalos de tiempo vacíos. Por ejemplo, los datos de entrada no tienen registros para 02/01/2022 y 03/01/2022. Con un intervalo de un día desde el 01/01/2022 hasta el 05/01/2022, esta opción omitirá estas dos fracciones de tiempo vacías y no se devolverá ninguna capa vacía. Esta es la opción predeterminada.
  • Desactivado: no se eliminarán los intervalos de tiempo vacíos. Por ejemplo, los datos de entrada no tienen registros para 02/01/2022 y 03/01/2022. Con un intervalo de un día desde el 01/01/2022 hasta el 05/01/2022, esta opción mantendrá estos dos intervalos de tiempo y se devolverán capas vacías.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Capa de tiempo de salida

Capa con filas seleccionadas que coinciden con los criterios del intervalo de tiempo.

Any Value
Hora de inicio

La hora de inicio de cada fracción de tiempo.

String
Hora de finalización

Hora de finalización de cada intervalo.

String
Recuento

El número de filas de cada fracción.

Long

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.