<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour, j'essaie d'identifier comment ajouter des valeurs si elles se situent dans une certaine plage, j'ai essayé col sum mais je ne sais pas comment comparer les valeurs de la table (nouveau dans les scripts )
l'idée est que j'ai des clients qui arrivent à une certaine heure, restent pendant x minutes et partent, à mesure que l'entrée dans la zone, l'occupation (nombre de clients) augmente, s'ils sont ensemble dans un certain intervalle de temps.
J'apprécierais vraiment des conseils, merci.
CF

Heureux de vous aider. Comme je l'ai indiqué dans mon message d'origine, votre demande m'a amené à examiner quelque chose que j'aurai bientôt besoin d'examiner pour le projet sur lequel je travaille actuellement.
Je l'ai fait fonctionner, merci mdawson69
Je crois que c'est plus un problème avec mes connaissances en matière de script qu'avec le script lui-même ! Je vais lire un peu plus comment implémenter des scripts pour l'essayer, je vous ferai savoir une fois que cela fonctionnera. Merci encore pour votre soutien!
Une fois que vous avez pris en compte la contrainte d'un niveau de service maximum - dans ce cas, le nombre maximum de chambres d'hôtel pouvant être occupées - vous ne parlez plus d'occupation, car il s'agit simplement du nombre de chambres occupées à un moment donné. Votre premier point est l'utilisation, qui à la fois t est défini comme,
occupation ÷ nombre total de chambres
Donc, vous ajouteriez une colonne avec cette formule.
Les points restants relèvent de « définir vos besoins », ce qui est un problème que nous rencontrons souvent ici avec certains de nos clients. J'ai appris qu'avec des demandes comme celle-ci, assurez-vous de savoir ce que le client attend avant de supposer que je sais ce qu'il veut dire. Par exemple, la façon dont l'un de nos clients définit le temps d'attente - connu sous le nom de retard dans la modélisation de simulation - est très différente de la façon dont la même métrique est définie dans la plupart des textes de simulation à événements discrets, sans parler de ce que rapportent la plupart des logiciels de simulation. Leur définition n'est pas fausse - elle est très contextuelle - mais ce n'est pas la définition standard du retard.
" Comment pourrais-je calculer le nombre de chambres occupées pour chaque jour donné. ” Demandez-vous une occupation quotidienne courante ou un résumé de l'occupation maximale pour chaque jour ?
" De plus, comment puis-je calculer l'occupation par AgencyGroup ” Comme ci-dessus.
Quels ont été les problèmes que vous avez rencontrés lors de l'exécution du script ? Mon exemple de table de données a moins de variables (colonnes) que la vôtre, donc je sais qu'un problème que vous rencontrerez est que si vous suiviez strictement mon script, vous conserveriez toutes les colonnes tout au long du processus. Cela nécessiterait une modification relativement mineure du code pour s'assurer que toutes les colonnes sont incluses lorsque de nouvelles tables de données sont créées tout au long du processus.
Merci de votre contribution.
Je me demandais des solutions similaires pour notre occupation qui, dans ce cas, est une occupation de chambre dans la gestion hôtelière.
J'ai la date d'arrivée et la date de départ. Lorsqu'ils s'enregistrent, cela signifie qu'ils occupaient une chambre et que le nombre de chambres est limité à 516.
- Comment puis-je calculer ligne par ligne l'occupation en % (nombre de chambres occupées/516).
- comment puis-je calculer le nombre de chambres occupées pour chaque jour donné
- De plus, comment puis-je calculer l'occupation par AgencyGroup
Merci d'avance.

C'est bien! Merci beaucoup, j'ai pu le faire fonctionner "étape par étape", pour une raison quelconque, le script n'a pas fonctionné comme prévu, je suppose que j'ai besoin d'étudier un peu plus.
Votre demande est conforme à un test que je dois construire pour notre projet de développement de modèles. Votre formulation est un peu déroutante, mais je suppose que vous devez effectivement créer un tableau d'occupation basé sur les événements d'entrée et de sortie dans un lieu de service pour chaque client. L'occupation à un instant donné est compliquée par l'interdépendance de l'heure de sortie de chaque client qui peut s'étendre sur plusieurs événements d'entrée. Il s'agit d'un problème de modélisation de simulation typique lorsque vous essayez de déterminer l'utilisation, qui est un niveau supérieur à ce que vous essayez.
Avant de montrer le script nécessaire, je vais vous guider tout au long du processus.

Tout d'abord, j'ai créé une table de données similaire à votre exemple. Dans ce formulaire, les données sont centrées sur l'agent avec les événements d'entrée et de sortie enregistrés dans la même ligne. Nous devons séparer les événements en empilant les événements.

Maintenant, les événements ont été séparés, mais par défaut, ils sont toujours regroupés par l'Agent. Nous avons besoin des événements dans l'ordre du temps, donc la table de données doit être triée. Avant de trier, nous devons également nous assurer que les sorties se produisent avant les entrées. Ce dernier peut ne pas être important pour votre objectif, mais nous traitons toujours avec des systèmes à capacité limitée, donc les événements d'entrée et de sortie qui ont le même horodatage doivent être classés comme sortie puis entrée, car il est très probable qu'un agent quitte un emplacement avant l'entrée d'un nouvel agent. Une fois cela fait, nous trions le tableau de données par heure et action.

Maintenant que les événements sont dans le bon ordre, une colonne peut être ajoutée pour suivre l'occupation.

La colonne Occupation contient une formule qui détermine l'occupation dans chaque ligne en fonction de l'occupation précédente et de l'action dans la ligne actuelle. La formule suppose également que la première ligne est la première entrée (elle devrait l'être) et définit l'occupation sur 1 pour la première ligne. Nous devons maintenant diviser la table afin de retrouver l'orientation d'origine de la table avec l'occupation signalée.

La colonne Occupation affiche désormais l'occupation en fonction de chaque entrée, mais tient également compte des sorties précédentes de l'emplacement du service. L'opération de fractionnement a placé la colonne Occupation après la colonne ID de l'agent, de sorte que le script la déplacera vers la dernière colonne.
Voici le scénario :
Noms par défaut ici ( 1 ) ;
dt = Tableau de données actuel () ;
dt << Empiler (
Colonnes ( : Entrée , : Sortie ) ,
Colonne d'étiquette de source ( "Action" ) ,
Colonne de données empilées ( "Temps" )
) ;
Fermer (dt, NoSave);
dt2 = Tableau de données actuel () ;
dt2 : Action << Définir la propriété ( "Ordre de valeur" , { "Sortie" , "Entrée" }) ;
dt2 << Trier (
Par ( : Temps , : Action ) ,
Ascendant ,
Remplacer le tableau ( 1 )
) ;
dt2 << Nouvelle colonne (
"Occupation" ,
Formule (
Si ( Ligne () == 1 ,
1 ,
Si ( : Action == "Entrée" ,
Décalage ( : Occupation , 1 ) + 1 ,
Décalage ( : Occupation , 1 ) - 1
)
)
)
) ;
dt2 << Diviser (
Divisé par ( : Action ) ,
Diviser ( : Temps ) ,
Groupe ( : ID de l'agent )
) ;
Fermer ( dt2 , Pas d'enregistrement ) ;
dt3 = Tableau de données actuel () ;
dt3 << Déplacer les colonnes sélectionnées ({ "Occupation" } , Durer ) ;