Passer au contenu principal
Adaptive Planning
Dernière mise à jour : 2023-06-23
Référence : fonctions des formules

Référence : fonctions des formules

Les fonctions des formules sont regroupées en quatre catégories : mathématique, logique, chaîne et date. Cette rubrique définit chaque fonction et l'explique brièvement.
Pour plus de simplicité, les descriptions du tableau montrent des formules qui utilisent la virgule comme séparateur. Les paramètres de certains navigateurs vous obligent néanmoins à utiliser des points-virgules comme séparateurs. Les colonnes de syntaxe affichent les deux versions.

Fonctions mathématiques

Les fonctions mathématiques sont disponibles sous forme de boutons. Par exemple, plus (+), moins (-), et multiplication (*). D'autres options sont disponibles dans
Fonction > Mathématique
.

Fonctions logiques

À inclure dans le cadre d'un
If
Instruction, les fonctions logiques de base et de comparaison sont disponibles sous forme de boutons. Par exemple, la fonction logique et (
AND
), la logique ou (
OR
), et la négation logique (
NOT
). Les comparaisons incluent égal à (
=
), supérieur à (
>
), inférieur à (
<
), ou est différent de (
!=
). Vous pouvez aussi utiliser (
<>
) pour est différent de
D'autres options sont disponibles dans
Fonction > Logique
 :
Syntaxe
Description
Blank()
Renvoie
Blank
valeur. Cette valeur est affichée comme vide (plutôt que zéro), mais est considérée comme un zéro dans les formules. Contrairement au zéro, il génère
IsBlank()
fonction à renvoyer
TRUE
, mais comme le zéro, elle peut être réprimée quand l'option "Supprimer les lignes vides" est activée dans les feuilles ou les rapports.
Error ()
Génère une erreur d'évaluation du temps d'exécution.
Exemple :
IF(ACCT.EffectiveHeadcount < 0, Error(), ACCT.EffectiveHeadcount+ACCT.AddlHeadcount)
Si le nombre effectif d'employés est inférieur à 0, la formule renvoie une erreur pour permettre de trouver l'origine du problème.
If (EXPR, T, F)
If (EXPR; T; F)
Renvoie une valeur numérique (
T
) si expression booléenne (
EXPR
) est vraie, sinon renvoie une valeur numérique (
F
). Vous pouvez utiliser des opérateurs booléens ou de comparaison pour créer l'expression booléenne.
Iff (EXPR, T, F)
Iff (EXPR; T; F)
La version "rapide" ou court-circuit du
If
fonction. Renvoie la même valeur que
If
. Mais, si la condition est "vrai", le troisième argument de la fonction n'est pas évalué. De la même manière, si la condition est "faux", le deuxième argument n'est pas évalué. Cela signifie que le deuxième ou le troisième argument peut potentiellement contenir des erreurs, mais que les résultats de
Iff
sera toujours valide, car l'argument qui inclut l'erreur n'est pas évalué.
Exemples :
  • IFF (this.Version.isActuals, ACCT.TravelExp, ACCT.Personnel.EstimatedTravel)
  • IFF (this.Qtr.PositionOf (this.Month) = 2, 100000, 0)
IsBlank (N)
Renvoie le résultat "vrai" si l'argument est vierge ou vide, sinon renvoie "faux". Ne peut être utilisé que dans un argument d'expression (
EXPR
) à la
If
fonction.
Exemple :
If(IsBlank(Row.StartDate),0,1)
Switch (Orig_EXPR, Case1, Case2, ..., Default)
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'expressions complexes et imbriquées.
If
Relevés.
  • 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
    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 développée ressemble à ceci :
    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
    Case1
    , l'expression associée à
    Case1
    est renvoyé. Mais si la valeur de l'expression originale est la même :
    Case2
    , l'expression associée à
    Case2
    est renvoyé, etc.
  • En l'absence de correspondance :
    Switch
    renvoie
    Default
    expression.
  • Toutes les expressions (
    EXPR
    ) dans
    Switch
    L'instruction doit avoir le même type de données (chaîne, date, nombre, etc.). Dans le cas contraire, l'erreur suivante s'affiche :
    Inconsistent
    Changer les types de retour
  • Au lieu d'une seule valeur (
    N
    ) pour chaque cas, vous pouvez spécifier une
    Range(L,U)
    de valeurs où
    L
    est la limite inférieure de la fourchette et
    U
    est la limite supérieure de la fourchette. Par exemple, une fourchette peut inclure un nombre d'années.
    Range(2014,2017)
    et lorsque la valeur de l'expression d'origine arrive dans cette plage (incluse), l'expression associée à cette plage est activée.
  • Chaque argument de la fourchette doit être du même type de données (par exemple, un nombre comme 7, une constante chaîne comme
    Engineering
    ou une constante de date créée à l'aide des
    Date()
    fonction ou expression qui se résout dans le type de données adéquat (par exemple :
    this.Version.Name
    ou
    ACCT.Rent
    ).
Exemples :
  • Switch (ROW.DAY,1,"Sunday",2,"Monday",3,"Tuesday","No match")
    Si
    ROW.DAY
    est 2, alors l'expression correspondant à la valeur 2 est Lundi, d'où la valeur
    Switch
    le résultat est Lundi.
  • Switch (ToNumber (ROW.CaseQty), Range (0,11), 0, Range (12,24), 1, Range (24,48), 4, 0)
    Ce second exemple renvoie0, 1 ou4 en fonction de la valeur numérique trouvée dans le
    CaseQty
    sélecteur.

Fonctions Date et Heure

Les fonctions Date sont souvent utilisées en combinaison avec les colonnes
Date
des feuilles modèles. Ces fonctions ne sont visibles que dans les comptes calculés de ces feuilles.
Les fonctions de date s'appliquent aux calendriers dont les configurations sont Mois > Trimestre > Année. Si l'un de vos calendriers utilise une structure différente, plusieurs de ces fonctions génèrent des erreurs. Pensez à utiliser plutôt cette fonction : this.version.positionOf(D. strata). Remplacez D par une date de calendrier au format yyyy,mm,dd et remplacez les strates par les strates que vous utilisez dans votre calendrier. Exemple : this.version.positionOf(2024,01,02. facturer) renvoie la première semaine de 2024.
Syntaxe
Description
D.Month.NumberOfDays
Renvoie le nombre de jours du mois à une date donnée
D
se produit
.
D.Year.PositionOf(D.Month).
Renvoie le mois de l'exercice à quelle date
D
se produit.
D.Year.PositionOf(D.Qtr)
Renvoie le trimestre de l'exercice dans lequel se situe la date
D
se produit.
(Date).
stratum_code
Renvoie
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
renvoie le trimestre de calendrier fiscal du 5 août 2016.
Day (D)
Renvoie le jour du mois pour une date (
D
).
DaysInMonth (D)
Renvoie le nombre de jours que compte le mois dans lequel la date D tombe. Peut renvoyer une erreur ou une valeur incorrecte si un calendrier personnalisé est utilisé. Utiliser
D.Month.NumberOfDays
à la place.
FiscalMonth (D)
Renvoie le mois de l'exercice dans lequel la date (
D
) se produit. Peut renvoyer une erreur si un calendrier personnalisé est utilisé. Utiliser
D.Year.PositionOf(D.Month).
FiscalQuarter (D)
Renvoie le trimestre de l'exercice dans lequel se situe la date (
D
) se produit. Peut renvoyer une erreur si un calendrier personnalisé est utilisé. Utiliser
D.Year.PositionOf(D.Qtr).
FiscalYear (D)
Renvoie l'exercice dont la date (
D
) se produit. Peut renvoyer une erreur si un calendrier personnalisé est utilisé. Essayez de codage de vos années avec des chiffres qui correspondent exactement à l'année et utilisez
ToNumber
(D.Year.code).
Month (D)
Renvoie le mois dans lequel date (
D
) se produit.
Quarter (D)
Renvoie le trimestre calendaire dans lequel se situe la date (
D
) se produit. Il peut ne pas correspondre au trimestre fiscal de votre unité légale (voir ci-dessous).
this.Version.PositionOf(D.Month)
Renvoie un nombre qui représente le mois de la version durant laquelle la date D tombe (premier mois =
0
). Ce nombre peut être négatif si la date D est antérieure au début de la version.
this.Version.PositionOf(D.Year)
Renvoie un nombre qui représente l'année de la version à laquelle la date D tombe (première année =
0
). Ce nombre peut être négatif si la date D est antérieure au début de la version.
TimeFraction (D1, D2, D, Dx)
TimeFraction (D1; D2; D; Dx)
Renvoie la partie du mois actuel qui se situe entre la date de début (
D1
) et la date de fin (
D2
). Si une date facultative (
D
) est indiqué, utilise le mois au cours duquel
D
survient à la place du mois en cours. Si le paramètre de nombre de jours fixe facultatif (
Dx
) est indiqué, remplacez la période dans
D
avec la valeur numérique.
Les instances configurées sans calendrier personnalisé peuvent utiliser
MonthFraction
au lieu de
TimeFraction
.
ToDate (Y, M, D)
ToDate (Y; M; D)
Renvoie la date indiquée par l'année donnée (
Y
), mois (
M
), et jour (
D
). Si
D
est ignoré,
15
est utilisé. La valeur renvoyée peut être utilisée comme argument pour d'autres fonctions utilisant une date.
VersionMonth (D)
Renvoie un nombre qui représente le mois de la version dans laquelle la date (
D
) tombe (premier mois =
0
). Ce nombre peut être négatif si la date (
D
) est antérieure au début de la version.
Peut renvoyer une erreur si un calendrier personnalisé est utilisé. Utiliser
this.Version.PositionOf(D.Month).
Version.PositionOf (timeperiod)
Renvoie 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 les périodes postérieures à la fin de la version.
VersionYear (D)
Renvoie un nombre qui représente l'année de la version dont la date (
D
) tombe (première année =
0
). Ce nombre peut être négatif si la date (
D
) est antérieure au début de la version.
Peut renvoyer une erreur si un calendrier personnalisé est utilisé. Utiliser
this.Version.PositionOf(D.Year)
.
Year (D)
Renvoie l'année à laquelle date (
D
) apparaît qu'un calendrier personnalisé est utilisé ou non.

Fonctions chaîne

Syntaxe
Description
Concat (text1, text2, ...)
Concat (text1; text2; ...)
Donne la chaîne concaténée en intégrant deux chaînes de texte ou plus.
Exemple :
Concat ("hello", "world")
renvoie "
helloworld"
.
Length (text)
Renvoie le nombre de caractères d'une chaîne de texte.
Exemple :
Length ("Now, is the winter of our discontent. Made glorious summer by this son or York.")
retours
79
.
Search (source_text, search_text)
Search (source_text; search_text)
Renvoie la position de départ de
search_text
à
source_text
. Retours
0
si
search_text
est introuvable. Search n'est pas sensible à la casse.
Exemples :
Search ("Now is the winter of our discontent.", "Winter")
retours
12
.
Search ("Now is the winter of our discontent.", "Summer")
retours
0.
Substring (source_text, start_position, length)
Substring (source_text; start_position; length)
Renvoie une chaîne de texte contenant les caractères trouvés dans
source_text
à partir de
start_position
(où la position
1
est le premier caractère de la chaîne de texte) et en cours d'exécution pour
length
(Ou jusqu'à la fin de la chaîne de texte, selon la première occurrence).
Sélection d'un
start_position
de
0
ou moins est traité comme s'il s'agissait du poste
1
. En sélectionnant une longueur de
0
ou moins est traité comme une longueur de
0
et renvoie une chaîne vide. Sélection d'un
start_position
qui est après la fin de
source_text
renvoie une chaîne vide.
ToNumber (text)
Convertit une chaîne de texte qui représente un nombre à sa valeur numérique. Convertira le début de la chaîne jusqu'à ce qu'un caractère non numérique soit trouvé. Si le premier caractère n'est pas numérique, cela entraînera une erreur.
Exemples :
ToNumber ("7")
retours
7
.
ToNumber ("2017-12-31")
renvoie 2017 (un nombre).
ToNumber ("Sample")
renvoie une erreur.

Exemples

L'exemple suivant est une formule Effectifs issue d'une feuille modèle Personnel. C'est un bon exemple de la façon dont les fonctions peuvent être combinées. La formule suivante renvoie un résultat binaire :
1
ou
0
.
If(this.Version.PositionOf(this.Month) >= this.Version.PositionOf(ROW.StartDate.Month) # if this month is after the person's start date and (isblank(ROW.EndDate) # and either they have no termination date or this.Version.PositionOf(this.Month) <= Version.PositionOf(ROW.EndDate.Month)), # or the current month is before termination date 1, # return 1 for their headcount in this month 0) # otherwise, return 0