Passer au contenu principal
Adaptive Insights
Knowledge and Support - Adaptive Insights

Fonctions de formule

Donne la syntaxe détaillée des fonctions que vous pouvez utiliser pour créer des formules, y compris Mathématiques, Logiques, Date et heure ou Chaîne de caractères.

Les fonctions des formules sont groupées en quatre catégories : mathématique, logique, caractères et date. Cette rubrique définit chaque fonction et l’explique brièvement.

Cliquez sur Aide  dans l’Assistant de formule pour voir les fonctions disponibles.

Fonctions mathématiques

Les fonctions mathématiques de base sont disponibles sous la forme de boutons. Par exemple plus (+), moins (-), et multiplication (*). D’autres sélections sont disponibles dans Fonction > mathématique :

Pour simplifier, les Exemples de cette section donnent des formules utilisant des données réelles, mais vous pouvez créer des fonctions mathématiques avec toute Référence de compte ou modificateur ayant une valeur numérique . Par exemple, Div(ACCT.CostOfGoodsSold,ACCT.Inventory).

Syntaxe Description
%

L’opération modulo (%) calcule l’entier restant quand on divise un nombre par un autre.
Exemples : 7%2 donne 1, 8%3 donne 2, et 9%3 donne 0

Div (N, D)

Divise le numérateur (N) par le dénominateur (D) et donne le résultat. Si le dénominateur est zéro, le résultat est zéro (plutôt qu’indéterminé). 
Exemples : Div (6,2) donne 3, Div (4,0) donne 0.

Vous pouvez utiliser le symbole de division (/) plutôt que l’opérant Div , mais ce n’est pas recommandé. L’opérant Div  évite les erreurs de formule qui peuvent se produire quand le déterminant est zéro.

Divf (N,D)

La version "rapide" ou court-circuit de la fonction Div . Donne la même valeur que Div. Mais, si le dénominateur est zéro, le numérateur n’est pas évalué, ce qui rend cette fonction plus rapide que la Div standard. Le numérateur pourrait se retrouver en boucle circulaire ou autre erreur interne, mais le résultat sera toujours valide (et zéro) si le dénominateur est zéro.

Round (N)

Arrondit le nombre (N) à l’entier supérieur ou inférieur le plus proche.
Exemples : Round (7.8) donne 8, Round (2.1) donne 2.

Trunc (N)

Tronque le nombre au point décimal.
Exemple : Trunc (3.14) donne 3.

Floor (N)

Donne l’ entier (nombre entier) le plus proche mais inférieur ou égal à N. C’est l’équivalent de Trunc () pour des nombres positifs.  
Exemple :  Floor(1.897) donne 1.

Ceil (N)

Donne l’entier (nombre entier) le plus proche mais supérieur ou égal à N

Exemple : Ceil(1.897) donne 2.

Power (N,E) Donne le nombre (N) à la puissance de l’ exposant (E).
Exemple : Power (2,4) donne 16.
Ln(N)

Donne le logarithme naturel (Ln) du nombre (N).
Exemple : Ln (2) donne 0,69 (arrondi à deux décimales)

Greatest (N1, N2, ...)

Donne le nombre le plus grand de la liste (N1, N2...).
Exemple : Greatest (75, 32, 18, 24) donne 75.

Least (N1, N2, ...)

Donne le plus petit nombre de la liste (N1, N2...).
Exemple : Least (75, 32, 18, 24) donne 18.

Spread445 (N, M)

Donne la portion du nombre (N) qui, quand étalée sur une période de plusieurs mois (M) selon la
règle 445, appartient au mois courant. Si M est absent, la fonction utilise 12.

Exemples :

  • Spread445 (1300,12) en janvier donne 100, le résultat de (1300/52)*4
  • Spread445 (1300,12) en mars donne 125, le résultat de (1300/52)*5
Spread454 (N, M)

Donne la portion du nombre (N) qui, quand étalée sur une période de plusieurs mois (M) selon la
règle 454, appartient au mois courant. Si M est absent, la fonction utilise 12.

Exemples :

  • Spread454 (1300,12) en janvier donne 100, le résultat de (1300/52)*4
  • Spread454 (1300,12) en février donne 125, le résultat de (1300/52)*5
  • Spread454 (1300,12) en mars donne 100, le résultat de (1300/52)*4
Spread544 (N, M)

Donne la portion du nombre (N) qui, quand étalée sur une période de plusieurs mois (M) selon la
règle 544, appartient au mois courant. Si M est absent, la fonction utilise 12.

Exemples :

  • Spread544 (1300,12) en janvier donne 125, le résultat de (1300/52)*5
  • Spread544 (1300,12) en mars donne 100, le résultat de (13000/52)*4
Npv (discount_rate, value1, value2, ..., valueN)

Donne la valeur présente nette d’une série de flux de trésorerie au taux d’escompte spécifié.
Les fourchettes de temps des comptes peuvent être utilisées pour définir des ensembles de valeurs. 

Exemple : 
Si la formule est :  NPV(0.1,ACCT.CF[time=this:this+11]

La référence de la formule à ACCT.CF sera interprétée comme 12 valeurs distinctes plutôt qu’une seule valeur cumulative. Ce qui revient à saisir :  NPV(0.1, ACCT.CF[time=this], ACCT.CF[time=this+1], ..., ACCT.CF[time=this+12]).

Irr (value1, value2, ..., valueN, estimated_irr)

Estime le débit interne de retours pour une séries de flux d’espèce. Les périodes de temps des comptes
peuvent être utilisées comme séries de valeurs. Si la fonction ne reçoit qu’un seul argument, cet argument est considéré être comme une période de temps et une estimation d’Irr de 0.10 est utilisée.

Cette fonction utilise un algorithme d’essai et erreur qui donne un résultat exact si la sortie se passe dans une seule période de temps (habituellement la première période). Cette fonction fera jusqu’à 20 itérations pour approximer la valeur réelle du taux de rentabilité interne.

Abs (N)

Donne la valeur absolue du nombre (N).
Exemples : Abs (2) donne 2, Abs (-2) donne 2.

Sqrt (N)

Donne la racine carrée du nombre (N).
Exemple : Sqrt (25) donne 5.

Fonctions logiques

Les fonctions logiques et de comparaison de base sont disponibles sous forme de boutons, pour inclusion dans les instructions  If. Par exemple, la fonction logique et (AND) et la fonction logique ou (OR), et négation logique (NOT). Les comparaisons incluent égal à (=), supérieur à (>), inférieur à (<), ou non égal à (!=). On peut aussi utiliser (<>) pour non égal à. 

Des choix supplémentaires sont disponibles dans Fonction > logique :

Syntaxe Description
If (EXPR, T, F) Donne une valeur numérique (T) si l’expression booléenne (EXPR) est vraie, sinon donne une valeur numérique (F). Vous pouvez utiliser des opérants booléens ou de comparaison pour construire l’expression booléenne.  
Iff (EXPR, T, F)

La forme "rapide" ou court-circuit de la fonction If. Donne la même valeur qu’If. Mais, si la condition est validée, le troisième argument de la fonction n’est pas évalué. De la même manière, si la condition est fausse, le deuxième argument n’est pas évalué. Ce qui veut dire que soit le deuxième soit le troisième argument peut contenir des erreurs, mais les résultats d’Iff restent valides parce que l’argument qui contient l’erreur n’est pas évalué. 

Exemples : 

  • IFF (this.Version.isActuals, ACCT.TravelExp, ACCT.Personnel.EstimatedTravel)
  • IFF (this.Quarter.PositionOf (this.Month) = 2, 100000, 0)
IsBlank (N) Donne un résultat vrai si l’argument est vierge ou vide, ou bien faux. Ne peut être utilisé que dans un argument d'expression (EXPR) vers la fonction If.
Exemple : If(IsBlank(Row.StartDate),0,1)
Blank() Donne la valeur Blank. Cette valeur est affichée comme vide (plutôt que zéro) mais est évaluée comme un zéro dans les formules. À la différence du zéro, elle fait que la fonction IsBlank() donne TRUE, mais comme le zéro, elle peut être réprimée quand "suppress empty rows" est activé dans les feuilles ou les rapports.
Error() Cause une erreur d'évaluation durant l’exécution. 
Switch (Orig_EXPR, Case1, Case2, ..., Default)

Fournit une méthode qui permet d’écrire des expressions compactes qui peuvent être utilisées au lieu d’instructions If complexes, emboîtées. 

  • Le premier argument (Orig_EXPR) est l’expression originale (parfois appelée l’expression de contrôle) qui est évaluée en premier.
  • Les arguments suivants sont des Cases(valeurs et expressions correspondantes) qui peuvent être activées en fonction du cas qui correspond à la valeur de l’expression originale.
  • Vous pouvez définir un ou plusieurs cas. Chaque cas consiste en une valeur (N) et une expression (EXPR) séparées par une virgule. La syntaxe complète est comme suit : Switch (Orig_EXPR, N1, EXPR1, N2, EXPR2, ..., Default)
  • Par exemple, si la valeur de l’expression originale est la même que celle définie dans le Case1, l’expression associée au Case1 est retournée.  Mais si la valeur de l’expression originale est la même que celle définie dans le Case2, l’expression associée au Case2 est retournée, etc. 
  • S’il n’y a pas de correspondance, Switch donne l’expression Default
  • Toutes les expressions (EXPR) de l’instruction Switch doivent être du même type de données (caractère, date, nombre, etc.). Si le  type de données des expressions varie, l’erreur suivante est affichée : Inconsistent Switch return types
  • Au lieu d’une seule valeur (N) pour chaque cas, vous pouvez spécifier un domaine Range(L,U) de valeurs où L est la limite inférieure et U la limite supérieure du domaine. Par exemple, un domaine peut inclure un nombre d’années Range(2014,2017) et lorsque la valeur de l’expression originale tombe dans ce domaine, inclusif, l’expression associée à ce domaine est activée. 
  • Chaque argument du domaine doit être du même type de données (par exemple, un nombre comme 7, une constante caractère comme Engineering ou une constante date obtenue en utilisant la fonction Date() , ou une expression qui se résout dans le type de données adéquat (p.ex. this.Version.Name ou ACCT.Rent).

Exemples : 

  • Switch (ROW.DAY,1,"Dimanche",2,"Lundi",3,"Mardi","Pas de concordance")
    Si ROW.DAY est 2, Lundi est l’expression qui correspond à 2, donc le Switch donne Lundi. 
  • Switch (ToNumber (ROW.CaseQty),
    Range (0,11),  0,
    Range (12,24), 1,
    Range (24,48), 4,
                   0)

    Ce deuxième exemple donne 0, 1, 2, ou 4 en fonction de la valeur numérique trouvée dans le sélecteur CaseQty

Fonctions Date et Heure

Les fonctions Date sont souvent utilisées en combinaison avec les colonnes Date de feuilles modélisées. Les fonctions date ne sont affichées que dans les feuilles modélisées de comptes calculés.

Syntaxe Description
ToDate (Y, M, D) Donne la date indiquée par l’année (A), le mois (M) et le jour (D) donnés. Si D est absent, 15 est utilisé. La valeur retournée peut être utilisée comme argument pour d’autres fonctions utilisant une date.
(Date).stratum_code

Donne la Timeperiod du type de strate requise qui contient la Date (unique, grégorienne). N’importe quelle date peut être utilisée comme base pour la strate de code. Exemple :  ToDate(2016,8,5).Qtr donne le trimestre de calendrier fiscal contenant 5 août 2016.

Jour (D) Donne le jour du mois pour une date (D).
Mois (D) Donne le mois dans lequel la date (D) se produit.
Trimestre (D) Donne le trimestre dans lequel la date(D) se produit. Ceci peut ne pas correspondre au trimestre fiscal de votre société (voir ci-dessous).
Année (D)  Donne l’année au cours de laquelle la date (D) se produit, qu’un calendrier personnalisé soit utilisé ou non.
FiscalMonth (D)

Donne le mois de l’année fiscale dans laquelle la date (D) se produit.

Dans les instances configurées avec un calendrier personnalisé, FiscalMonth (D) peut donner une erreur. Utilisez plutôt D.Year.PositionOf(D.Month).

FiscalQuarter (D)

Donne le trimestre de l'année fiscale dans laquelle la date (D) se produit.

Dans les instances configurées avec un calendrier personnalisé, FiscalQuarter (D) peut donner une erreur. Utilisez plutôt D.Year.PositionOf(D.Quarter).

FiscalYear (D)

Donne l'année fiscale dans laquelle la date (D) se produit.

Dans les instances configurées avec un calendrier personnalisé, FiscalYear peut donner une erreur. Utilisez plutôt ToNumber(D.Year.code).

VersionMonth (D)

Donne un nombre qui représente le mois de la version durant laquelle la date (D) se produit (premier mois = 0).  Ce nombre peut être négatif si la date (D) est antérieure au début de la version.

Dans les instances configurées avec un calendrier personnalisé, versionMonth peut donner une erreur. Utilisez plutôt this.Version.PositionOf(D.Month).

VersionYear (D)

Donne un nombre qui représente l’année de la version durant laquelle la date (D) se produit (première année = 0).  Ce nombre peut être négatif si la date (D) est antérieure au début de la version.

Dans les instances configurées avec un calendrier personnalisé, versionYear peut donner une erreur. Utilisez plutôt this.Version.PositionOf(D.Year).

Version.PositionOf (timeperiod)

Donne l’ ordre relatif de la période fournie au sein de la durée de la version. La première période d’une version commence par un 1 et l’ordre du nombre peut être négatif si la période prend place avant le début de la version. Cette fonction fonctionne aussi pour une période qui se situe au-delà de la fin de la version.

DaysInMonth (D) Donne le nombre de jours dans le mois au cours duquel la date (D) se produit. Dans le cas d’instances configurées avec un calendrier personnalisé, utilisez D.Month.NumbefOfDays.
MonthFraction (D1, D2, D) Donne la portion du mois courant  qui se produit entre la date de début (D1) et la date de fin (D2). Si une date optionnelle (D) est spécifiée, utilise le mois au cours duquel D se produit, plutôt que le mois courant. Pour les instances configurées avec un calendrier personnalisé, utilisez TimeFraction (D1, D2, D).

Fonctions Caractères

Syntaxe Description
Concat (text1, text2, ...)

Donne la chaîne concaténée en intégrant deux chaînes de texte ou plus. 
Exemple : Concat ("bonjour", "monde") donne "bonjourmonde".

Length (text)

Donne le nombre de caractères d'une chaîne de texte.
Exemple : Length ("Voici venu l’hiver de notre mécontentement. Rendu glorieux été par ce fils de York.") donne 79.

Search (source_text, search_text)

Donne la position de départ de search_text dans source_text. Donne 0 si search_text est introuvable. Search ne prend pas les majuscules en considération. 
Exemples : 
Search ("Voici venu l’hiver de notre mécontentement.", "Hiver") donne 12.
Search ("Voici venu l’hiver de notre mécontentement.", "Été") donne 0.

Substring (source_text, start_position, length)

Donne une chaîne de texte contenant les caractères trouvés dans source_text en commençant par start_position (où la position 1 est le premier caractère de la chaîne de texte) et en exécutant pour length (où jusqu'à la fin de la chaîne de texte, selon la première occurrence).

La sélection d'une start_position de 0 ou moins est traitée comme s'il s'agissait de la position 1. La sélection d'une longueur de 0 ou moins est traitée comme une longueur de 0 et donne une chaîne vide. Sélectionner une start_position postérieure à la fin de source_text donne une chaîne vide. 

ToNumber (text)

Convertit une chaîne de texte représentant un nombre en sa valeur numérique. Convertira le début d’une chaîne de texte jusqu’à ce qu’un caractère non numérique soit trouvé.
Exemples :
ToNumber ("7") donne 7.
ToNumber ("2017-12-31") donne 2017 (un nombre).
ToNumber ("Exemple) donne O.

Exemples

L’exemple suivant est une formule Effectifs pour une feuille Personnel modélisée. C’est un bon exemple de la façon dont les fonctions peuvent être combinées. La formule donne un résultat binaire : 1 ou 0.

If(this.Version.PositionOf(this.Month) >= this.Version.PositionOf(ROW.StartDate.Month)   # Si ce mois est postérieur à la date de début de la personne
   and (isblank(ROW.EndDate)                                                             # et soit ils n’ont pas de date de terminaison
      or this.Version.PositionOf(this.Month) <= Version.PositionOf(ROW.EndDate.Month)),  # soit le mois courant précède la date de terminaison
   1, # donner 1 pour effectifs dans ce mois
   0) # sinon, donner 0