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

Référence : fonctions de formules

Les fonctions de 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 multiplier (*). Des sélections supplémentaires sont disponibles sous
Fonction > Mathématique
.

Fonctions logiques

À inclure dans un
If
énoncé, les fonctions logiques de base et les comparaisons sont disponibles sous forme de boutons. Par exemple, logique et (
AND
), logique ou (
OR
) et negation logique (
NOT
). Les comparaisons incluent les valeurs égales à (
=
), supérieur à (
>
), inférieur à (
<
), ou n’est pas égal à (
!=
). Vous pouvez également utiliser (
<>
) pour n’est pas égal.
Des sélections supplémentaires sont disponibles sous
Fonction > Logique
:
Syntaxe
Description
Blank()
Retourne
Blank
valeur. Cette valeur s’affiche en blanc (plutôt qu’un zéro), mais est évaluée de manière identique à zéro aux fins de formule. Contrairement à un zéro, cela entraîne
IsBlank()
fonction à retourner
TRUE
, mais semblable à zéro, il peut être supprimé lorsque l’option « supprimer les rangées vides » est activée dans les feuilles ou les rapports.
Error ()
Entraîne une erreur d'évaluation du temps d'exécution.
Exemple :
IF(ACCT.EffectiveHeadcount < 0, Error(), ACCT.EffectiveHeadcount+ACCT.AddlHeadcount)
Si l’effectif effectif est inférieur à 0, renvoyez une erreur pour aider à repérer le problème sous-jacent.
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 et de comparaison pour créer l’expression booléenne.
Iff (EXPR, T, F)
Iff (EXPR; T; F)
La forme « rapide » ou en court- correspondant
If
fonction. Renvoie la même valeur que
If
. Toutefois, si la condition est vraie, 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é. 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 parce que 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 vrai si l'argument est vierge ou vide, sinon faux. Peut uniquement être utilisé 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 pour l'écriture d'expressions condensées qui peuvent être utilisées plutôt que des expressions complexes et imbriquées
If
relevés.
  • Le premier argument (
    Orig_EXPR
    ) est l’expression initiale (parfois appelée
    expression de contrôle
    ) qui est évaluée en premier.
  • Les arguments suivants sont
    Cases
    (valeurs et expressions correspondantes) pouvant être activées selon la casse qui correspond à la valeur de l’expression initiale.
  • Vous pouvez définir un ou plusieurs cas. Chaque cas se compose d’une valeur (
    N
    ) et une expression (
    EXPR
    ) séparés 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 initiale correspond à la valeur définie dans
    Case1
    , l’expression associée à
    Case1
    est retourné. Cependant, si la valeur de l’expression initiale correspond
    Case2
    , l’expression associée à
    Case2
    est retourné, et ainsi de suite.
  • S’il n’y a pas de correspondance,
    Switch
    renvoie
    Default
    expression.
  • Toutes les expressions (
    EXPR
    ) dans la section
    Switch
    L’énoncé doit être du même type de données (chaîne, date, nombre, etc.). Si les expressions varient en type de données, cette erreur s’affiche :
    Inconsistent
    Changer de type de retour
  • Au lieu d’une valeur unique (
    N
    ) pour chaque cas, vous pouvez préciser
    Range(L,U)
    de valeurs où
    L
    est la limite inférieure de la plage et
    U
    est la limite supérieure de l’intervalle. Par exemple, une plage peut inclure un certain nombre d’années
    Range(2014,2017)
    et lorsque la valeur de l’expression initiale tombe dans cette plage, inclusivement, l’expression associée à cette plage est activée.
  • Chaque argument d’une plage doit être du même type de données (par exemple, un nombre comme 7, une constante de chaîne comme
    Engineering
    ou une constante de date créée à l’aide de l’élément existant
    Date()
    fonction ou une expression qui renvoie le type de données approprié (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 Lundi est l’expression qui correspond à la valeur 2, de sorte que
    Switch
    Le résultat est lundi.
  • Switch (ToNumber (ROW.CaseQty), Range (0,11), 0, Range (12,24), 1, Range (24,48), 4, 0)
    Ce deuxième exemple renvoie0, 1 ou4 selon la valeur numérique trouvée dans le
    CaseQty
    sélecteur.

Fonctions de date et d'heure

Les fonctions Date sont souvent utilisées en combinaison avec les colonnes
Date
des feuilles modélisée. Les fonctions de date s’affichent uniquement dans les comptes calculés de feuille modélisée.
Les fonctions de date s’appliquent aux calendriers avec des configurations Mois > Trimestre > Année. Si votre calendrier utilise une structure différente, bon nombre de ces fonctions renvoient des erreurs. Pensez plutôt à utiliser cette fonction : cette.version.positionOf(D.strata). Remplacez D par une date de calendrier au format suivant : aaaa,mm,jj et remplacez les strates par les strates que vous utilisez dans votre calendrier. Exemple : cette.version.positionOf(2024,01,02.day) renvoie la première semaine de 2024.
Syntax
Description
D.Month.NumberOfDays
Renvoie le nombre de jours dans le mois dans quelle date
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 à quelle date
D
se produit.
(Date).
stratum_code
Retourne
Timeperiod
du type de strate demandé qui contient la date (unique, grégorienne). N'importe quelle date peut être utilisée comme base du code de strate.
Exemple :
ToDate
(2016,8,5).Qtr
renvoie le trimestre comptable qui contient le 5 août 2016.
Day (D)
Renvoie le jour du mois pour une date (
D
).
DaysInMonth (D)
Renvoie le nombre de jours dans un mois dans lesquels la date D se trouve. Peut renvoyer une erreur ou une valeur incorrecte pour les calendriers personnalisés. Utilisation
D.Month.NumberOfDays
plutôt.
FiscalMonth (D)
Renvoie le mois de l’exercice à quelle date (
D
) se produit. Peut renvoyer une erreur pour les calendriers personnalisés. Utilisation
D.Year.PositionOf(D.Month).
FiscalQuarter (D)
Renvoie le trimestre de l’exercice à quelle date (
D
) se produit. Peut renvoyer une erreur pour les calendriers personnalisés. Utilisation
D.Year.PositionOf(D.Qtr).
FiscalYear (D)
Renvoie l’exercice à quelle date (
D
) se produit. Peut renvoyer une erreur pour les calendriers personnalisés. Codez vos années avec des nombres qui correspondent exactement à l’année et utilisez
ToNumber
(D.Year.code).
Month (D)
Renvoie le mois dans quelle date (
D
) se produit.
Quarter (D)
Renvoie le trimestre civil dans lequel la date (
D
) se produit. Il se peut que ce trimestre ne soit pas le même que le trimestre comptable de votre société (voir ci-dessous).
this.Version.PositionOf(D.Month)
Renvoie un nombre qui représente le mois de la version dans lequel la date D se trouve (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 dans laquelle la date D se trouve (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 précisé, utilise le mois dans lequel
D
survient, au lieu du mois en cours. Si le paramètre Nombre fixe de jours facultatif (
Dx
) est précisé, remplacez la période par
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 spécifiée par l’année donnée (
Y
), mois (
M
), et jour (
D
). Si
D
est omis,
15
est utilisée. La valeur renvoyée peut être utilisée comme argument dans d’autres fonctions qui prennent une date.
VersionMonth (D)
Renvoie un nombre qui représente le mois de la version dans laquelle la date (
D
) survient (premier mois =
0
). Ce nombre peut être négatif si la date (
D
) est antérieur au début de la version.
Peut renvoyer une erreur pour les calendriers personnalisés. Utilisation
this.Version.PositionOf(D.Month).
Version.PositionOf (timeperiod)
Renvoie l’ordre relatif de la période temporelle fournie dans l’ensemble 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 également avec une période qui dépasse la fin de la version.
VersionYear (D)
Renvoie un nombre qui représente l’année de la version dans laquelle la date (
D
) survient (première année =
0
). Ce nombre peut être négatif si la date (
D
) est antérieur au début de la version.
Peut renvoyer une erreur pour les calendriers personnalisés. Utilisation
this.Version.PositionOf(D.Year)
.
Year (D)
Renvoie l'année à laquelle (
D
) se produit que le calendrier personnalisé soit utilisé ou non.

Fonctions de chaîne

Syntaxe
Description
Concat (text1, text2, ...)
Concat (text1; text2; ...)
Renvoie une chaîne concaténée en joignant 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. La recherche 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
commençant à
start_position
(où la position
1
est le premier caractère de la chaîne du texte) et en cours d’exécution pour
length
(ou jusqu’à la fin de la chaîne de texte, selon celle qui est rencontrée en premier).
Sélection d’une
start_position
de
0
ou moins est traité comme s’il s’agit d’un poste
1
. Sélection d’une durée de
0
ou moins est traité comme une durée de
0
et renvoie une chaîne vide. Sélection d’une
start_position
qui est postérieure à 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. Convertit la partie de 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 génère 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élisée Personnel. C’est un bon exemple de la façon dont les fonctions peuvent être combinées. Cette formule 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