Cet article détaille les différentes fonctions et formules que vous pouvez utiliser dans vos widgets. 


TABLE DES MATIERES



Lorsque vous paramétrez un indicateur dans un widget, vous pouvez utiliser différentes formules et fonctions pour vos calculs. 

La liste des fonctions disponibles est visible lorsque que vous tapez @ dans la fenêtre de formule de votre widget, puis que vous sélectionnez "fonctions": 

 Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur 
Description générée automatiquement 





Opérations simples: 


Vous pouvez utiliser des additions, soustractions, multiplications et divisions dans les widgets. 
Vous pouvez appeler des propriétés de sites en passant par le caractère $, et des indicateurs calculés via le caractère 
@. 

Vous pouvez combiner plusieurs opérations dans la même formule. La priorité des opérations est respectée. 





Fonctions mathématiques appliquées aux données de capteur


MIN (@capteur) : renvoie la valeur minimum du capteur sur la période 

MAX (@capteur) renvoie la valeur maximum du capteur sur la période 

COUNT(@capteur) : renvoie le nombre de valeurs associées au capteur sur la période


La fonction COUNT peut aussi être utilisée avec une condition, pour compter le nombre de valeurs au dessus /en-dessous / égales à une certaine valeur fixe.

Il faut taper : COUNT(@capteur;<X) ou COUNT(@capteur;>X). Cela marche aussi avec COUNT(SUM_SENSOR_LABELS();>X).

 



 

Regroupement de données de capteurs à partir d’un label : Sensor by label



Vous pouvez appeler les données de différents capteurs en mono et multisites en appelant le label qui leur est associé. 
Pour rappel, on peut ajouter un label à un capteur via le fichier patrimoine ou via le synoptique. 

Un seul label peut être utilisé par opération ; et l’agrégation de données se fait sans tenir compte de l’unité du capteur.  
En mono site, seuls les capteurs du site possédant le label concerné seront pris en compte. 

Attention : dans les formules suivantes, les opérations sont effectuées entre les capteurs. Les données sont d’abord agrégées séparément pour chaque capteur. 
SENSOR_LABEL ne tient donc pas compte du pas de temps, du fluide ou de l’unité des capteurs. En cas de pas de temps différent, certaines agrégations de résultats dans les widgets ne renverront pas de données.  


SUM_SENSOR_LABELS (label) : permet d’additionner sur la période d’agrégation les valeurs de tous les capteurs labellisés 
MIN_SENSOR_LABELS(label) : donne la valeur agrégée la plus basse entre tous les capteurs sur la période donnée
MAX_SENSOR_LABELS(label) :  donne la valeur maximale agrégée entre tous les capteurs sur la période donnée

AVERAGE_SENSOR_LABELS(label) : donne la moyenne des valeurs agrégées de tous les capteurs sur la période donnée
COUNT_SENSOR_LABELS(label) : nombre de capteur avec ce label renvoyant de la donnée sur la période


Exemple pour 3 capteurs ayant le même label: 

Capteur 1 : pas de temps quotidien (1 donnée / jour), agrégation somme
Capteur 2 : pas de temps quotidien (1 donnée/ jour), agrégation moyenne 
Capteur 3 : pas de temps hebdomadaire (1 donnée /semaine), agrégation somme 


 

CapteurDonnées relevées semaine 1Agrégation hebdomadaire
Capteur 1 7, 8, 7, 9, 7, 7, 550 (somme de toutes les valeurs)
Capteur 2 6, 5, 8, 7, 7, 7, 97 (moyenne de toutes les valeurs)
Capteur 3 55 (somme de toutes les valeurs)

 

Appel des données via SENSOR_LABEL dans un widget, période « semaine 1 »

SommeMoyenneMinMaxCount
Agrégation horaire

XXXXX
Agrégation hebdo

(50 + 7 + 5) 
62
(50 + 7 + 5) /3
 20.7
5503





Appel des données de capteurs à partir d’un label en fonction des heures d'ouverture et fermeture des sites : 




Les fonctions OPEN & CLOSE permettent de filtrer vos résultats pour ne garder que des données associer aux plages d'ouverture (OPEN) ou fermeture (CLOSE) de vos sites. 
Elles ne fonctionnent que sur l'appel de données de capteur avec un pas de temps infra-journalier, en passant par les formules SENSOR BY LABEL. 

OPEN(SUM_SENSOR_LABELS (label)) 

permet d’additionner sur la période du widget les valeurs de tous les capteurs labellisés, pendant les heures d'ouverture des sites uniquement. 
CLOSE(SUM_SENSOR_LABELS (label)) : permet d’additionner sur la période du widget les valeurs de tous les capteurs labellisés, pendant les heures de fermeture des sites uniquement. 
OPEN(MIN_SENSOR_LABELS(label)) :
donne la valeur la plus basse entre tous les capteurs sur la période donnée, en ne gardant que les valeurs enregistrées en heure d'ouverture. 
CLOSE(MIN_SENSOR_LABELS(label)) : donne la valeur la plus basse entre tous les capteurs sur la période donnée, en ne gardant que les valeurs enregistrées en heure de fermeture.
OPEN(MAX_SENSOR_LABELS(label)) : 
donne la valeur maximale entre tous les capteurs sur la période donnée, en ne gardant que les valeurs enregistrées en heure d'ouverture.
CLOSE(MAX_SENSOR_LABELS(label)) : donne la valeur maximale entre tous les capteurs sur la période donnée, en ne gardant que les valeurs enregistrées en heure de fermeture. 

OPEN(AVERAGE_SENSOR_LABELS(label)) : donne la valeur moyenne parmi tous les capteurs sur la période donnée, pendant les heures d'ouverture des sites uniquement. 
CLOSE(AVERAGE_SENSOR_LABELS(label): donne la valeur moyenne parmi tous les capteurs sur la période donnée, pendant les heures de fermeture des sites uniquement.



Proratiser des valeurs fixes sur une période donnée: "Nombre de ..."



NB_SITE (donnée à comparer ; condition numérique) : 
permet en multisite de compter le nombre de sites remplissant une condition numérique.

La condition numérique peut être =, >, >=, <, <= et est suivi de la valeur à laquelle on veut comparer notre donnée.   
Exemple : on peut compter le nombre site ayant une superficie utile supérieure ou égale à 1000 m² grâce à la formule NB_SITE( $ Surface utile (-) ;  >=1000)


 

NB_HOUR, NB_DAY, NB_MONTH, NB_YEAR : ces fonctions permettent de proratiser des valeurs fixes selon la périodicité d’un widget. Elles sont appliquées comme coefficient à vos calculs. 

 

Exemple : 
Nous déterminons la consommation annuelle de référence d’un site comme étant de 30000MWh /an. Sur une année, nous pouvons donc comparer notre consommation réelle à notre consommation de référence : Si on change la périodicité du widget pour se concentrer sur une saison précise, il faut également calculer la consommation de référence sur cette période uniquement afin que la comparaison avec la consommation réelle soit pertinente. On peut alors appliquer un coefficient à notre consommation de référence pour qu’elle soit calculée au prorata de la période via 

NBIci on appliquera le coefficient NB_YEAR pour multiplier notre consommation de référence pas la proportion d’année couverte par la période.  
 

NB_YEAR : proportion d’année(s) couverte par la période du widget

Exemple : si la période du widget est d’un mois, alors NB_YEAR= 1/12. Si la période du widget est d'un an, alors NB_YEAR=1

NB_MONTH :proportion de mois couverte par la période du widget 

Exemple : pour une période de widget de 2ans,  NB_MONTH= 24, pour une période d’une journée, NB_MONTH = 1/31 ou 1/30, ou 1/28

NB_DAY : proportion de jours couverte par la période du widget
exemple : pour une période de widget d'une année, NB_DAY= 365, pour une période d'un mois, 

NB_DAY: 30 ou 31 ou 28 etc…

NB_HOUR: nombre d’heures couvertes par la période du widget



La formule est compatible avec les fonctions OPEN & CLOSE (en mono site uniquement):

NB_OPEN_HOUR :nombre d'heures où le site était ouvert pendant la période du widget (remonte les résultats au quart d'heure près)

NB_CLOSE_HOUR :nombre d'heures où le site était fermé pendant la période du widget (remonte les résultats au quart d'heure près)



AVERAGE_DAY(@indicateur) : donne la moyenne journalière d’un indicateur spécifique


AVERAGE_DAY(@indicateur;jour,jour) : 
donne la moyenne journalière d’un indicateur spécifique sur des jours particulier uniquement. Les jours sont à préciser en anglais :  AVERAGE_DAY(@indicateur, MONDAY)



Il est également possible de limiter ce calcul à une période précise : AVERAGE_DAY(@indicateur ;MONDAY,FRIDAY ;01/01/2022 ;31/03/2022) 


NB_SITE (+ SBL ; condition numérique) : 

permet en multisite de compter le nombre de sites possédant des capteurs particuliers, et remplissant une condition numérique.

Exemple : si les données possédant le label conso_enedis sont mesurées en kWh, alors la formule NB_SITE( SUM_SENSOR_LABELS(conso_enedis) ; < 500) donnera le nombre de site dont l’énergie consommée sur la période du widget est inférieure à 500 kWh.

 



Appel des compteurs via leur label 


Ces fonctions sont des compléments des algorithmes permettant d'appeler les consommations issues de vos relevés d'index. Elles permettent d'agréger les consommations de tous les compteurs portant le même label. 


METER_LABELS(label): Consommation valorisée en PCI (par défaut) pour les fluides concernés et linéarisée
METER_LABELS_NP(label): Consommation valorisée en PCI (par défaut) pour les fluides concernés et non linéarisée
METER_LABELS_PCI(label) : Consommation valorisée en PCI (explicite) pour les fluides concernés et linéarisée
METER_LABELS_PCI_NP(label): Consommation valorisée en PCI (explicite) pour les fluides concernés et non linéarisée
METER_LABELS_PCS(label): Consommation valorisée en PCS pour les fluides concernés et linéarisée
METER_LABELS_PCS_NP(label): Consommation valorisée en PCS(par défaut) pour les fluides concernés et non linéarisée



Attention : Il n’y a pas de vérification de la cohérence des consommations regroupées sur un même label. En effet, on utilise ici les consommations normalisées, qui sont en kWh pour l'énergie et en m3 pour l'eau.  SI un même label est positionné sur un compteur d'eau et un compteur de gaz par exemple, le résultat sera la somme des kWh de gaz et des m3 d'eau et n'aura donc pas de sens.