Concepts > Attributs (MetaAttributes) > Règle de calcul (Simulation)
Règle de calcul (Simulation)
Ce code vb script calcule la valeur de l'indicateur quand il est vu depuis une hypothèse.
Le résultat du calcul est affiché dans la propriété 'Valeur simulée' de l'indicateur.
 
Calcul de la valeur
Pour retourner la valeur, stockez-la dans la variable implicite nommée value.
Voici les autres variables implicites :
- oIndicator: l'indicateur courant
- oHypothesis : le scénario (ou hypothèse) courant auquel l'indicateur est lié. Cette variable n'est valide que lorsque l'indicateur est vu depuis une hypothèse.
- Excel: une référence à une variable de type WorksheetFunction. Cette référence donne accès à toutes les fonctions mathématiques d'Excel. Si Microsoft Excel n'est pas installé sur la machine, les tentatives d'accès échouent. Pour plus de détails, reportez-vous à la documentation de Microsoft Excel.
- Sampler: une référence à la macro MEGA SimulationSampleAnalyzer. Ce composant est conçu pour manipuler les échantillons de simulation collectés par les collecteurs de données. Reportez-vous au commentaire de cette macro pour déterminer quelles fonctions sont disponibles. Voir également la section Fonctions d'échantillonage.
 
Sous-indicateurs
Pour calculer une valeur en utilisant des sous-indicateurs, utilisez le glisser-déplacer dans n'importe quelle partie du code vb script.
Les noms (affichés en gras) sont remplacés par leur valeur pendant le calcul.
 
Objets liés
Dans l'éditeur de simulation, l'indicateur montre les objets liés. Les attributs de ces objets peuvent être glissés-déplacés.
Dès lors, deux champs sont ajoutés séparés par un point : le nom de l'objet et le nom de l'attribut.
Cette formule retournera la valeur de l'objet inséré en fonction de l'hypothèse courante.
Certains des objets liés peuvent afficher des sous-objets tels que des opérations. Dans ce cas, les attributs sont inscrits en les préfixant avec les deux noms d'objet. La valeur retournée correspond alors à la valeur corrélée (par exemple le temps d'exécution d'un acteur pour une opération spécifiée).
Si l'attribut recherché exprime une durée, la valeur retournée est le nombre de secondes.
 
Temps
Quand une valeur d'attribut est un temps exprimé en nombre de secondes, elle peut être convertie grâce aux fonctions suivantes :
- dayOf(aTime): retourne le nombre de jours.
- hourOf(aTime): retourne le nombre d'heures en incluant les heures des jours.
- minuteOf(aTime): retourne le nombre de minutes en incluant les minutes des heures.
 
Fonctions d'échantillonnage
Ces fonctions sont des raccourcis aux fonctions du composant d'échantillonnage décrit plus haut. Elles sont préfixées par la lettre 'S' comme l'initial de 'Sampler'.
Dans toutes les fonctions :
sXmlSample est l'échantillon exprimé dans son format xml. Cette valeur peut être retrouvée en déplaçant le méta attribut Echantillon des coûts ou Echantillon des temps à partir de l'objet contenant l'échantillon correspondant.
sKey est le nom de l'index dont la donnée est recherchée dans l'échantillon.
sCondition est une condition respectant la syntaxe définie dans la macro MEGA SimulationSampleAnalyzer.
 
- SCount (sXmlSample) : retourne le nombre de lignes dans l'échantillon.
- SMax (sXmlSample, sKey) : retourne la valeur maximale indexée par la clé.
- SMin (sXmlSample, sKey) : retourne la valeur minimale indexée par la clé.
- SCountIf (sXmlSample, sCondition) : retourne le nombre de lignes satisfaisant la condition donnée.
- SMaxIf (sXmlSample, sCondition, sKey) : retourne la valeur maximale de l'index donné pour les lignes satisfaisant la condition.
- SMinIf (sXmlSample, sCondition, sKey): retourne la valeur minimale de l'index donné pour les lignes satisfaisant la condition.
- SAverageIf (sXmlSample, sCondition, sKey): retourne la moyenne des valeurs de l'index donné pour les lignes satisfaisant la condition.
 
Exemples
 
' -------------------------------
' Les deux indicateurs ont été glissés-déplacés dans le code vb.
value = subIndicator1 + subIndicator2
 
' -------------------------------
' Calcul du sinus hyperbolique d'un sous-indicateur.
value = Excel.sinh (subIndicator1)
 
' -------------------------------
' Calcul de la somme de tous les sous-indicateurs, ceci sans en connaître le nombre à l'avance.
' Reportez vous à la documentation sur les API MEGA pour plus de détails.
value = 0
for each oSubIndicator in oIndicator.[Sous-indicateur]
value = value + oSubIndicator.[Valeur simulée]
next
 
' -------------------------------
' Retourne la moyenne du temps de traitement pour un échantillon de messages dont les dates dépassent 3000 secondes
value = SAverageIf (monMessage.Echantillon des temps, 'value(Date)
Traductions
Type
VarChar (4) Standard
 
Liste des MetaClasses
.