Funzioni e operatori della formula Maximo
Le formule Maximo ® supportano le funzioni e gli operatori matematici più comuni. Le formule combinano la sintassi dell'espressione della formula con oggetti di business Maximo e attributi MBO ( Maximo business object ).
Operatori supportati
La seguente tabella elenca gli operatori supportati per le formule Maximo .
| Operatore matematico | Descrizione | Esempi di utilizzo |
|---|---|---|
| + | Aggiunta | purchaseprice + tax |
| − | Sottrazione | enddate − startdate |
| * | Moltiplicazione | unitcost * quantity |
| ⁄ | Divisione | totalcost⁄quantity |
| % | Resto | a%b |
| ^ | Alimentazione | a^2 |
| Operatore logico | Descrizione | Esempi di utilizzo |
|---|---|---|
| && | Operatore logico AND | if(a>10 && b<20, x,y) |
| || | Operatore logico OR | if(a>10 || b<20, x,y) |
| >, ≥ | Maggiore di, maggiore di uguale | if(a≥10 || b>20, x,y) |
| <,≤ | Minore di, minore di uguale a | if(a<10 || b≤20, x,y) |
| =, == | Confronto uguale | if(a=10 || b==c, x,y) |
| !=, <> | Non uguale | if(a<>10 && b!=c, x,y) |
Funzioni supportate
Le seguenti tabelle elencano le funzioni supportate per le formule Maximo .
| Nome funzione | Numero di parametri | Descrizione | Esempi di utilizzo |
|---|---|---|---|
| meteravgval | 2 | Calcola il valore del contatore medio in un periodo di tempo. Questa funzione è applicabile solo ai misuratori di misurazione. | meteravgval("O_pressur", duration(0,0,30,0,0,0))che fornisce la lettura media del misuratore 0_pressur negli ultimi 30 giorni. |
| meterexceedcount | 3 | Calcola il numero di volte in cui le letture del contatore hanno superato il valore di destinazione. | meterexceedcount("O_pressur", duration(1,0,0,0,0,0),0.9) che conta le letture del contatore superiori a 0.9 nell'ultimo anno. |
| meterlowaction | 1 | Ottiene il valore di azione inferiore del contatore dal punto di misura. Viene comunemente utilizzato nell'applicazione Monitoraggio condizioni . | meterlowaction("metername") |
| meterlowwarning | 1 | Ottiene il valore di avvertenza inferiore del contatore dal punto di misura. Viene comunemente utilizzato nell'applicazione Monitoraggio condizioni . | meterlowwarning("metername") |
| metermaxval | 2 | Calcola il valore massimo del contatore in un periodo di tempo. È applicabile solo a contatori numerici. | metermaxval("O_pressur", duration(1,0,0,0,0,0)) che fornisce la lettura massima del contatore 0_pressur nell'ultimo anno. |
| meterminval | 2 | Calcola il valore minimo del contatore in un arco di tempo. È applicabile solo a contatori numerici. | meterminval("O_pressur",duration(1,0,0,0,0,0) che fornisce la lettura minima del contatore 0_pressur nell'ultimo anno. |
| meterupaction | 1 | Ottiene il valore di azione superiore del contatore dal punto di misura. Viene comunemente utilizzato nell'applicazione Monitoraggio condizioni . | meterupaction("metername") |
| meterupwarning | 1 | Ottiene il valore di avvertenza superiore del contatore dal punto di misura. Viene comunemente utilizzato nell'applicazione Monitoraggio condizioni . | meterupwarning("metername") |
| meterval | 1 | Calcola l'ultima lettura per un contatore associato a un asset o a una collocazione. Può essere utilizzato per leggere qualsiasi tipo di contatore, caratteristica, o indicatore o continuo. | if(meterval("oilcolor")=="clear", 1,0) in cui
meterval("oilcolor") restituisce un valore stringa come oilcolor. |
| Nome funzione | Numero di parametri | Descrizione | Esempi di utilizzo |
|---|---|---|---|
| addymd | 4 | Aggiunge l'anno come secondo parametro, il mese come terzo parametro e il giorno come quarto parametro al primo parametro, che è un campo data e ora. | addymd(statusdate,1,5,6). La formula aggiunge 1 anno, 5 mesi e 6 giorni al campo statusdate . |
| date | 3 | Specifica una data con anno, mese e giorno in una formula | date(2024,11,30) viene utilizzato per specificare 30 novembre 2024 come data. |
| datetime | 6 | Specifica una data con anno, mese e giorno e un'ora con ore, minuti e secondi in una formula. L'ora segue il formato di 24 ore. | datetime(2024,11,30,6,45,0) viene utilizzato per specificare la data e l'ora del 30 novembre, 6:45 AM. |
| duration | 6 | Specifica una durata con anni, mesi, giorni, ore, minuti e secondi in una formula. | duration(0,0,0,2,0,0) viene utilizzato per specificare una durata di due ore. |
| msince | 1 | Calcola il numero di mesi da un campo data e ora specificato come parametro nella funzione. | msince(statusdate) restituisce il valore 6 se la data dello stato è precedente a sei mesi. |
| now | 0 | Ottiene la data e l'ora correnti. | now() |
| subymd | 4 | Sottrae anno come secondo parametro, mese come terzo parametro e giorno come quarto parametro dal primo parametro, che è un campo data e ora. | subymd(statusdate,1,5,6). La formula sottrae 1 anno, 5 mesi e 6 giorni dal campo statusdate . |
| time | 3 | Specifica l'ora in ore, minuti e secondi. | time(6,45,0) |
| Nome funzione | Numero di parametri | Descrizione | Esempi di utilizzo |
|---|---|---|---|
| abs | 1 | Ottiene il valore assoluto di un numero | abs(a) |
| avgf | 4 | Calcola il valore medio di un attributo correlato in un periodo. | avgf("openwo","wopriority","statusdate",duration(10,0,0,0,0,0)) |
| ceiling | 1 | Arrotonda un valore al numero intero più vicino. | ceiling(3.2) Restituisce 4. |
| countf | 3 | Calcola il conteggio di una serie correlata di attributi in un periodo di tempo. | countf("openwo","statusdate",duration(0,0,10,0,0,0)) |
| floor | 1 | Arrotonda un valore al numero intero più vicino. | FLOOR(3.2) restituisce 3. |
| maxf | 4 | Calcola il valore massimo di un attributo correlato in un periodo di tempo. | maxf("relation","attr_to_sum", "timeline_attr", duration(0,0,10,0,0,0)) Il sito timeline_attr è di tipo Date o Date Time. |
| minf | 4 | Calcola il valore minimo di un attributo correlato in un periodo di tempo. | minf("relation", "attr_to_sum", "timeline_attr", DURATION(1,0,0,0,0,0)) Il sito timeline_attr è di tipo Date o Date Time. |
| number | 1 | Converte un valore alfanumerico in un valore numerico. | number("lastreading") |
| nvl | 2 | Restituisce il valore alternativo se il valore originale è null. | nvl(a,b) restituisce b se a è null. |
| pct | 2 | Restituisce la percentuale del primo parametro in base al secondo parametro. | pct(val,total) |
| round | 2 | Arrotonda un numero in base a una precisione o a una scala. | round(linecost,2) |
| sqrt, sin, log, log10, tan, cos, asin, acos, atan, sinh, cosh, tanh, rad, deg |
1 | Funzioni matematiche di base | sqrt(4) restituisce 2. |
| sumf | 4 | Calcola la somma di un attributo correlato in un periodo di tempo. | sumf("openwo","estmatcost","statusdate", duration (0,0,10,0,0,0)) La formula si basa sull'oggetto Asset per sommare estmatcost per tutti gli ordini di lavoro aperti, cioè le relazioni openwo, per gli ultimi 10 giorni rispetto alla data di stato. |
| Nome funzione | Numero di parametri | Descrizione | Esempi di utilizzo |
|---|---|---|---|
| ismodified | 1 | Controlla se un attributo è stato modificato. Restituisce un valore di 0 o 1. | ismodified("status") |
| isnullf | 1 | Verifica se il valore è nullo. Restituisce un valore di 0 o 1. | isnullf(priority) |
| isreadonly | 1 | Controlla se un attributo è contrassegnato come di sola lettura. Restituisce un valore di 0 o 1. | isreadonly("status") |
| isrequired | 1 | Verifica se un attributo è impostato come richiesto. Restituisce un valore di 0 o 1. | isrequired("status") |
| maxcond | 1 | Verifica la condizione di sistema condname e restituisce TRUE o FALSE. | maxcond(condname) |
| specattrval | 1 | Restituisce il valore dell'attributo della specifica. | if(specattrval("life")>10,10,0) |
| tobeadded | 0 | Restituisce TRUE se l'MBO del punto di avvio è contrassegnato per la creazione e FALSE se non lo è. | tobeadded() |
| tobedeleted | 0 | Restituisce TRUE se il punto di avvio MBO è contrassegnato per l'eliminazione e FALSE se non lo è. | tobedeleted() |
| tobesaved | 0 | Restituisce TRUE se l'MBO del punto di avvio è contrassegnato per il salvataggio e FALSE se non lo è. | tobesaved() |
| Nome funzione | Numero di parametri | Descrizione | Esempi di utilizzo |
|---|---|---|---|
| if | 2 | Restituisce il valore valueiftruese la condizione condition assume il valore TRUE. È possibile specificare un valore restituito quando la condizione condition viene valutata come FALSE popolando il parametro valueiffalse . | if(condition, valueiftrue[, valueiffalse]) |
| error | 2 | Crea un errore MXException utilizzando i parametri errgrp e errkey . | error("MyGroup","premium_hours") |
| nullvalue | 0 | Restituisce un valore null | nullvalue() |