Col sum comparando fechas/hora<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola, estoy tratando de identificar cómo agregar valores si están dentro de un cierto rango, probé col sum pero no sé cómo comparar los valores de la tabla (nuevo en scripting )
la idea es que tengo clientes entrando a una hora determinada, se quedan x minutos y se van, a medida que van entrando a la zona, aumenta la ocupación (cantidad de clientes), si están juntos dentro de un rango de tiempo determinado.
Agradecería mucho la orientación, gracias.
FC

Re: Col suma comparando fechas/horaEncantado de ayudar. Como dije en mi publicación original, su consulta me hizo buscar algo que pronto necesitaré investigar para el proyecto en el que estoy trabajando actualmente.
Re: Col suma comparando fechas/horaLo hice funcionar, gracias mdawson69
Re: Col suma comparando fechas/hora¡Creo que es más un problema con mi conocimiento con las secuencias de comandos que con la secuencia de comandos en sí! Leeré un poco más sobre cómo implementar scripts para probarlo, les avisaré una vez que funcione. ¡Gracias de nuevo por su apoyo!
Re: Col suma comparando fechas/horaUna vez que tenga en cuenta la restricción de un nivel de servicio máximo, en este caso, la cantidad máxima de habitaciones de hotel que se pueden ocupar, ya no estará discutiendo la ocupación, ya que es simplemente el recuento de habitaciones ocupadas en algún momento. Su primer punto es la utilización, que en el momento t Se define como,
ocupación ÷ recuento total de habitaciones
Entonces agregaría una columna con esa fórmula.
Los puntos restantes se incluyen en "defina sus requisitos", que es un problema que a menudo tenemos aquí con algunos de nuestros clientes. He aprendido que con consultas como esta, me aseguro de saber lo que el cliente espera antes de asumir que sé lo que significan. Por ejemplo, la forma en que uno de nuestros clientes define el tiempo de espera, conocido como retraso en el modelado de simulación, es muy diferente de la forma en que se define la misma métrica en la mayoría de los textos de simulación de eventos discretos, y mucho menos en lo que informa la mayoría de los software de simulación. Su definición no está mal, es muy contextual, pero no es la definición estándar de retraso.
“ ¿Cómo podría calcular el número de habitaciones ocupadas para cada día determinado? ” ¿Está solicitando una ocupación diaria corriente o un resumen de la ocupación máxima para cada día?
“ Además, ¿cómo podría calcular la ocupación por AgencyGroup? ” Lo mismo que arriba.
Re: Col suma comparando fechas/hora¿Cuáles fueron los problemas que tuviste al ejecutar el script? Mi tabla de datos de muestra tiene menos variables (columnas) que la suya, por lo que sé que un problema que encontrará es que si sigue estrictamente mi secuencia de comandos, conservará todas las columnas durante el proceso. Eso requeriría un ajuste relativamente menor en el código para garantizar que todas las columnas se incluyan cuando se creen nuevas tablas de datos a través del proceso.
Re: Col suma comparando fechas/horaGracias por la aportación.
Me preguntaba soluciones similares para nuestra ocupación, que en este caso es una ocupación de habitaciones en la gestión hotelera.
Tengo la fecha de entrada y la fecha de salida. Cuando se registran significa que ocuparon una habitación y el número de habitaciones está limitado a 516.
- ¿Cómo podría calcular fila por fila la Ocupación en % (número de habitaciones ocupadas/516).
- ¿Cómo podría calcular el número de habitaciones ocupadas para cada día dado?
- Además, ¿cómo podría calcular la ocupación por AgencyGroup?
Muchas gracias de antemano.

Re: Col sum comparando fechas/hora¡Esto es genial! Muchas gracias, pude hacerlo funcionar "paso a paso", por alguna razón el script no funcionó como esperaba, supongo que necesito estudiar un poco más.
Re: Col sum comparando fechas/horaSu consulta está en línea con una prueba que tengo que construir para nuestro proyecto de desarrollo de modelos. Su redacción es un poco confusa, pero supongo que lo que efectivamente debe hacer es crear una tabla de ocupación basada en los eventos de entrada y salida en una ubicación de servicio para cada cliente. La ocupación en un momento dado se complica por la interdependencia del tiempo de salida de cada cliente, que puede abarcar varios eventos de entrada. Este es un problema típico de modelado de simulación cuando intenta determinar la utilización, que está un nivel por encima de lo que está intentando.
Antes de mostrar el guión necesario, lo guiaré a través del proceso.

Primero, creé una tabla de datos similar a su ejemplo. En este formulario, los datos están centrados en el agente con los eventos de entrada y salida registrados en la misma fila. Necesitamos separar los eventos apilando los eventos.

Ahora los eventos se han separado, pero por defecto todavía están agrupados por el Agente. Necesitamos los eventos en orden por tiempo, por lo que la tabla de datos debe ordenarse. Antes de ordenar, también debemos asegurarnos de que las salidas ocurran antes que las entradas. Es posible que esto último no sea importante para su propósito, pero siempre tratamos con sistemas con capacidad limitada, por lo que los eventos de entrada y salida que tienen la misma marca de tiempo deben ordenarse como salida y luego entrada, ya que lo más probable es que un agente salga de un ubicación antes de que ingrese un nuevo agente. Una vez hecho esto, ordenamos la tabla de datos por Tiempo y Acción.

Ahora que los eventos están en el orden correcto, se puede agregar una columna para rastrear la ocupación.

La columna Ocupación tiene una fórmula que determina la ocupación en cada fila en función de la ocupación anterior y la acción en la fila actual. La fórmula también asume que la primera fila es la primera entrada (debería serlo) y establece la ocupación en 1 para la primera fila. Ahora necesitamos dividir la mesa para recuperar la orientación original de la mesa con la ocupación informada.

La columna Ocupación ahora muestra la ocupación en función de cada entrada, pero también tiene en cuenta las salidas anteriores de la ubicación del servicio. La operación de división colocó la columna Ocupación después de la columna ID del agente, por lo que el script la moverá a la última columna.
Aquí está el guión:
Nombres predeterminados aquí ( 1 ) ;
dt = Tabla de datos actual () ;
dt << Pila (
columnas ( : Entrada , : Salida ) ,
Columna de etiqueta de origen ( "Acción" ) ,
Columna de datos apilados ( "Tiempo" )
) ;
Cerca (dt, NoGuardar);
dt2 = Tabla de datos actual () ;
dt2 : Acción << Establecer propiedad ( "Orden de valor" , { "Salida" , "Entrada" }) ;
dt2 << Clasificar (
Por ( : Tiempo , : Acción ) ,
ascendente ,
Reemplazar tabla ( 1 )
) ;
dt2 << Nueva columna (
"Ocupación" ,
Fórmula (
Si ( Fila () == 1 ,
1 ,
Si ( : Acción == "Entrada" ,
Retraso ( : Ocupación , 1 ) + 1 ,
Retraso ( : Ocupación , 1 ) - 1
)
)
)
) ;
dt2 << Dividir (
Dividir por ( : Acción ) ,
Dividir ( : Tiempo ) ,
Grupo ( : Identificación del agente )
) ;
Cerca ( dt2 , NoGuardar ) ;
dt3 = Tabla de datos actual () ;
dt3 << Mover columnas seleccionadas ({ "Ocupación" } , Durar ) ;