Col sum confrontando date/ora<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao, sto cercando di identificare come aggiungere valori se rientrano in un certo intervallo, ho provato col sum ma non so come confrontare i valori della tabella (nuovo per lo scripting )
l'idea è che ho clienti che entrano a una certa ora, restano x minuti e se ne vanno, man mano che l'ingresso nell'area, l'occupazione (numero di clienti) aumenta, se sono insieme entro un certo intervallo di tempo.
Gradirei davvero una guida, grazie.
FC

Re: Col sum confrontando date/oraFelice di aiutare. Come ho affermato nel mio post originale, la tua richiesta mi ha fatto esaminare qualcosa che presto avrò bisogno di esaminare per il progetto su cui sto attualmente lavorando.
Re: Col sum confrontando date/oraL'ho fatto funzionare, grazie mdawson69
Re: Col sum confrontando date/oraCredo che sia più un problema con la mia conoscenza degli script che con lo script stesso! Leggerò un po 'di più su come implementare gli script per provarlo, ti farò sapere una volta che funziona. Grazie ancora per il vostro sostegno!
Re: Col sum confrontando date/oraUna volta preso in considerazione il vincolo di un livello massimo di servizio, in questo caso il numero massimo di camere d'albergo che possono essere occupate, non si discute più di occupazione, poiché si tratta semplicemente del conteggio delle camere occupate in un dato momento. Il tuo primo punto elenco è l'utilizzo, che a volte T è definito come,
occupazione ÷ conteggio totale della stanza
Quindi aggiungeresti una colonna con quella formula.
I punti elenco rimanenti rientrano in "definisci i tuoi requisiti", che è un problema che spesso abbiamo qui con alcuni dei nostri clienti. Ho imparato che con richieste come questa, assicurati di sapere cosa si aspetta il cliente prima di presumere che io sappia cosa significano. Ad esempio, il modo in cui uno dei nostri clienti definisce il tempo di attesa, noto come ritardo nella modellazione della simulazione, è molto diverso dal modo in cui la stessa metrica è definita nella maggior parte dei testi di simulazione di eventi discreti, per non parlare di ciò che riporta la maggior parte dei software di simulazione. La loro definizione non è sbagliata, è molto contestuale, ma non è la definizione standard di ritardo.
“ Come potrei calcolare il numero di camere occupate per ogni dato giorno. " Stai chiedendo un'occupazione giornaliera di corsa o un riepilogo dell'occupazione massima per ogni giorno?
“ Inoltre, come potrei calcolare l'occupazione di AgencyGroup " Come sopra.
Re: Col sum confrontando date/oraQuali sono stati i problemi che hai avuto durante l'esecuzione dello script? La mia tabella di dati di esempio ha meno variabili (colonne) della tua, quindi so che un problema che potresti incontrare è che se seguissi rigorosamente il mio script manterresti tutte le colonne durante il processo. Ciò richiederebbe una modifica relativamente minore al codice per garantire che tutte le colonne siano incluse quando vengono create nuove tabelle di dati durante il processo.
Re: Col sum confrontando date/oraGrazie per l'input.
Mi chiedevo soluzioni simili per la nostra occupazione che in questo caso è l'occupazione di una stanza nella gestione alberghiera.
Ho la data di arrivo e la data di partenza. Quando effettuano il check-in significa che hanno occupato una camera e il numero di camere è limitato a 516.
- Come potrei calcolare riga per riga l'occupazione in % (numero di camere occupate/516).
- come potrei calcolare il numero di stanze occupate per ogni dato giorno
- Inoltre, come potrei calcolare l'occupazione di AgencyGroup
Molte grazie in anticipo.

Re: Col sum confrontando date/oraQuesto è fantastico! Grazie mille, sono riuscito a farlo funzionare "passo dopo passo", per qualche motivo la sceneggiatura non ha funzionato come previsto, credo di aver bisogno di studiare un po' di più.
Re: Col sum confrontando date/oraLa tua richiesta è in linea con un test che devo costruire per il nostro progetto di sviluppo del modello. La tua formulazione è un po' confusa, ma presumo che ciò che effettivamente devi fare sia creare una tabella di occupazione basata sugli eventi di entrata e uscita in un luogo di servizio per ciascun cliente. L'occupazione in un dato momento è complicata dall'interdipendenza dell'orario di uscita di ciascun cliente che può estendersi su diversi eventi di ingresso. Questo è un tipico problema di modellazione della simulazione quando si tenta di determinare l'utilizzo, che è un livello superiore a quello che si sta tentando.
Prima di mostrare la sceneggiatura necessaria, ti guiderò attraverso il processo.

Innanzitutto, ho creato una tabella di dati simile al tuo esempio. In questa forma i dati sono incentrati sull'agente con gli eventi di entrata e uscita registrati nella stessa riga. Dobbiamo separare gli eventi impilando gli eventi.

Ora gli eventi sono stati separati, ma per impostazione predefinita sono ancora raggruppati dall'agente. Abbiamo bisogno degli eventi in ordine di tempo, quindi la tabella dei dati deve essere ordinata. Prima dell'ordinamento, dobbiamo anche assicurarci che le uscite avvengano prima delle entrate. Quest'ultimo potrebbe non essere importante per il tuo scopo, ma abbiamo sempre a che fare con sistemi con capacità limitata, quindi gli eventi di entrata e uscita che hanno lo stesso timestamp devono essere ordinati come uscita e poi entrata, poiché è molto probabile che un agente esca da un posizione prima che entri un nuovo agente. Fatto ciò, ordiniamo la tabella dei dati per Tempo e Azione.

Ora che gli eventi sono nell'ordine corretto, è possibile aggiungere una colonna per tenere traccia dell'occupazione.

La colonna Occupazione ha una formula che determina l'occupazione in ciascuna riga in base all'occupazione precedente e all'azione nella riga corrente. La formula presuppone inoltre che la prima riga sia la prima voce (dovrebbe esserlo) e imposta l'occupazione su 1 per la prima riga. Ora dobbiamo dividere la tabella in modo da recuperare l'orientamento originale della tabella con l'occupazione segnalata.

La colonna Occupazione ora mostra l'occupazione in base a ciascuna voce, ma tiene conto anche delle precedenti uscite dalla sede del servizio. L'operazione di divisione ha posizionato la colonna Occupazione dopo la colonna ID agente, quindi lo script la sposterà nell'ultima colonna.
Ecco la sceneggiatura:
I nomi predefiniti sono qui ( 1 ) ;
dt = Tabella dei dati correnti () ;
dt << Pila (
Colonne ( : Iscrizione , : Uscita ) ,
Colonna Etichetta sorgente ( "Azione" ) ,
Colonna dati in pila ( "Tempo" )
) ;
Vicino (dt, NoSalva);
dt2 = Tabella dei dati correnti () ;
dt2 : Azione << Imposta proprietà ( "Ordine di valore" , { "Uscita" , "Iscrizione" }) ;
dt2 << Ordinare (
Di ( : Tempo , : Azione ) ,
Ascendente ,
Sostituisci tabella ( 1 )
) ;
dt2 << Nuova Colonna (
"Occupazione" ,
Formula (
Se ( Riga () == 1 ,
1 ,
Se ( : Azione == "Iscrizione" ,
Ritardo ( : Occupazione , 1 ) + 1 ,
Ritardo ( : Occupazione , 1 ) - 1
)
)
)
) ;
dt2 << Diviso (
Dividi per ( : Azione ) ,
Diviso ( : Tempo ) ,
Gruppo ( : ID agente )
) ;
Vicino ( dt2 , NoSalva ) ;
dt3 = Tabella dei dati correnti () ;
dt3 << Sposta colonne selezionate ({ "Occupazione" } , Per durare ) ;