Referentie: formulefuncties
Formulefuncties zijn gegroepeerd in vier categorieën: wiskundig, logisch, tekenreeks en datum. Elke functie wordt in dit onderwerp gedefinieerd en kort toegelicht.
Voor het gemak worden in de beschrijvingen in de tabel formules weergegeven met komma's als scheidingstekens. Voor sommige browserinstellingen moet u als scheidingstekens puntkomma's gebruiken. In de syntaxiskolommen worden beide versies weergegeven.

Wiskundige functies
Wiskundige functies zijn beschikbaar als knoppen. Bijvoorbeeld plus (+), min (-) en vermenigvuldigen (*). Aanvullende selecties zijn beschikbaar via Functie > Wiskundig
.
Logische functies
Opnemen als onderdeel van een If
statement, logische basisfuncties en vergelijkingen zijn beschikbaar als knoppen. Bijvoorbeeld: logische en (AND
), logisch of (OR
) en logische ontkenning (NOT
). Vergelijkingen omvatten gelijk aan (=
), groter dan (>
), kleiner dan (<
), of niet gelijk is aan (!=
). U kunt ook (<>
) voor niet gelijk aan.
Aanvullende selecties zijn beschikbaar via
Functie > Logisch
:Syntaxis | Omschrijving |
|---|---|
Blank()
| Retourneert de Blank waarde. Deze waarde wordt weergegeven als leeg (in plaats van een nul), maar wordt voor formuledoeleinden op dezelfde manier geëvalueerd als nul. In tegenstelling tot een nul zorgt dit ervoor dat deIsBlank() te retourneren functie TRUE , maar kan net als een nul worden onderdrukt wanneer Lege rijen onderdrukken is ingeschakeld voor bladen of rapporten. |
Error ()
| Hierdoor ontstaat een evaluatiefout tijdens runtime.
Voorbeeld:
IF(ACCT.EffectiveHeadcount < 0, Error(), ACCT.EffectiveHeadcount+ACCT.AddlHeadcount) Als de effectieve headcount kleiner is dan 0, wordt een fout geretourneerd om het onderliggende probleem te kunnen opsporen. |
If (EXPR, T, F)
If (EXPR; T; F) | Retourneert een numerieke waarde ( T ) if Boole-expressie (EXPR ) waar is, wordt anders een numerieke waarde (F ). U kunt Booleaanse en vergelijkingsoperatoren gebruiken om de Booleaanse uitdrukking te construeren. |
Iff (EXPR, T, F)
Iff (EXPR; T; F) | De snelle of verkorte vorm van de If functie. Retourneert dezelfde waarde alsIf . Als de voorwaarde echter waar is, wordt het derde argument voor de functie niet geëvalueerd. Als de voorwaarde onwaar is, wordt het tweede argument niet geëvalueerd. Dit betekent dat het tweede of derde argument mogelijk fouten kan bevatten, maar dat de resultaten van:Iff is nog steeds geldig omdat het argument dat de fout bevat niet wordt geëvalueerd.
Voorbeelden:
|
IsBlank (N)
| Hiermee wordt waar geretourneerd als het argument leeg is. Anders wordt onwaar geretourneerd. Kan alleen worden gebruikt in een expressieargument ( EXPR ) naar deIf functie. Voorbeeld:
If(IsBlank(Row.StartDate),0,1)
|
Switch (Orig_EXPR, Case1, Case2, ..., Default)
Switch (Orig_EXPR; Case1; Case2; ...; Default) | Biedt een methode voor het schrijven van compacte expressies die kunnen worden gebruikt in plaats van complexe, geneste If overzichten.
Voorbeelden:
|
Datum- en tijdfuncties
Datumfuncties worden vaak gebruikt in combinatie met de kolommen Datum
van gemodelleerde bladen. Datumfuncties worden alleen weergegeven in berekende rekeningen van gemodelleerde bladen.

De datumfuncties zijn van toepassing op kalenders met de configuraties Maand > Kwartaal > Jaar. Als u een kalender hebt die een andere structuur gebruikt, retourneren veel van deze functies fouten. Overweeg om in plaats daarvan deze functie te gebruiken: this.version.positionOf(D.strata). Vervang D door een kalenderdatum in de volgende notatie: jjjj,mm,dd en vervang strata door de strata die u in uw kalender gebruikt. Voorbeeld: this.version.positionOf(2024,01,02.week) retourneert de eerste week van 2024.
Syntaxis | Omschrijving |
|---|---|
D.Month.NumberOfDays
| Retourneert het aantal dagen in de maand waarin de datum D optreedt.
|
D.Year.PositionOf(D.Month).
| Retourneert de maand van het boekjaar waarin de datum D optreedt. |
D.Year.PositionOf(D.Qtr)
| Retourneert het kwartaal van het boekjaar waarin de datum D optreedt. |
(Date).
stratum_code
| Retourneert de
Timeperiod
van het aangevraagde stratatype dat de (enkele, Gregoriaanse) datum bevat. Elke datum kan worden gebruikt als basis voor de stratumcode. Voorbeeld:
ToDate
(2016,8,5).Qtr
|
Day (D)
| Retourneert de dag van de maand voor datum ( D ). |
DaysInMonth (D)
| Retourneert het aantal dagen in een maand waarin datum D valt. Retourneert mogelijk een fout of een onjuiste waarde voor aangepaste kalenders. Gebruiken D.Month.NumberOfDays in plaats daarvan. |
FiscalMonth (D)
| Retourneert de maand van het boekjaar waarin de datum ( D ) plaatsvindt. Retourneert mogelijk een fout voor aangepaste kalenders. GebruikenD.Year.PositionOf(D.Month).
|
FiscalQuarter (D)
| Retourneert het kwartaal van het boekjaar waarin de datum ( D ) plaatsvindt. Retourneert mogelijk een fout voor aangepaste kalenders. Gebruiken D.Year.PositionOf(D.Qtr).
|
FiscalYear (D)
| Retourneert het boekjaar waarin de datum ( D ) plaatsvindt. Retourneert mogelijk een fout voor aangepaste kalenders. Probeer uw jaren te coderen met getallen die exact overeenkomen met het jaartal en gebruikToNumber
(D.Year.code).
|
Month (D)
| Retourneert de maand waarin de datum ( D ) plaatsvindt. |
Quarter (D)
| Retourneert het kalenderkwartaal waarin de datum ( D ) plaatsvindt. Dit komt mogelijk niet overeen met het fiscale kwartaal van uw bedrijf (zie hieronder). |
this.Version.PositionOf(D.Month)
| Retourneert een getal dat de maand vertegenwoordigt van de versie waarin de datum D valt (eerste maand = 0 ). Dit getal kan negatief zijn als de datum D eerder is dan het begin van de versie. |
this.Version.PositionOf(D.Year)
| Retourneert een getal dat het jaar vertegenwoordigt van de versie waarin de datum D valt (eerste jaar = 0 ). Dit getal kan negatief zijn als de datum D eerder is dan het begin van de versie. |
TimeFraction (D1, D2, D, Dx)
TimeFraction (D1; D2; D; Dx) | Retourneert het gedeelte van de huidige maand dat valt tussen de begindatum ( D1 ) en de einddatum (D2 ). Als een optionele datum (D ) is opgegeven, gebruikt de maand waarin D plaatsvindt, in plaats van de huidige maand. Als de optionele parameter voor het vaste aantal dagen (Dx ) is opgegeven, overschrijft u de periode in D met de numerieke waarde.
Instances die zonder aangepaste kalender zijn geconfigureerd, kunnen gebruikmaken van MonthFraction in plaats vanTimeFraction . |
ToDate (Y, M, D)
ToDate (Y; M; D) | Retourneert de datum die is opgegeven door het opgegeven jaar ( Y ), maand (M ) en dag (D ). Als D is weggelaten, 15 wordt gebruikt. De resultaatwaarde kan worden gebruikt als argument in andere functies waarvoor een datum wordt gebruikt. |
VersionMonth (D)
| Retourneert een getal dat de maand vertegenwoordigt van de versie waarin de datum ( D ) vindt plaats (eerste maand = 0 ). Dit getal kan negatief zijn als de datum (D ) eerder is dan het begin van de versie.
Retourneert mogelijk een fout voor aangepaste kalenders. Gebruiken this.Version.PositionOf(D.Month). |
Version.PositionOf (timeperiod)
| Retourneert de relatieve volgorde van de opgegeven periode binnen het volledige bereik van de versie. De eerste periode in een versie begint met 1 en het volgnummer kan negatief zijn als de periode vóór het begin van de versie valt. Deze functie werkt ook met een periode die na het einde van de versie valt. |
VersionYear (D)
| Retourneert een getal dat het jaar vertegenwoordigt van de versie waarin de datum ( D ) vindt plaats (eerste jaar = 0 ). Dit getal kan negatief zijn als de datum (D ) eerder is dan het begin van de versie.
Retourneert mogelijk een fout voor aangepaste kalenders. Gebruiken this.Version.PositionOf(D.Year) . |
Year (D)
| Retourneert het jaar waarin de datum ( D ) vindt plaats ongeacht of een aangepaste kalender wordt gebruikt of niet. |
Tekenreeksfuncties
Syntaxis | Omschrijving |
|---|---|
Concat (text1, text2, ...)
Concat (text1; text2; ...) | Hiermee wordt een samengevoegde tekenreeks (van twee of meer tekenreeksen) geretourneerd. Voorbeeld:
Concat ("hello", "world") retourneert 'helloworld" . |
Length (text)
| Hiermee wordt het aantal tekens in een tekenreeks geretourneerd. Voorbeeld:
Length ("Now, is the winter of our discontent. Made glorious summer by this son or York.") retouren79 . |
Search (source_text, search_text)
Search (source_text; search_text) | Retourneert de beginpositie van search_text in source_text . Retouren 0 ifsearch_text is niet gevonden. Zoeken is niet hoofdlettergevoelig. Voorbeelden:
Search ("Now is the winter of our discontent.", "Winter") retouren 12 .Search ("Now is the winter of our discontent.", "Summer") retouren 0.
|
Substring (source_text, start_position, length)
Substring (source_text; start_position; length) | Retourneert een tekenreeks met de tekens die zijn gevonden in source_text beginnend omstart_position (waar arbeidsplaats 1 is het eerste teken van de tekenreeks) en wordt uitgevoerd voorlength (of tot het einde van de tekenreeks, afhankelijk van wat zich het eerst voordoet).
A . selecteren start_position van 0 of minder wordt behandeld alsof het een arbeidsplaats is 1 . Een lengte van selecteren 0 of minder wordt behandeld als een lengte van 0 en retourneert een lege tekenreeks. A . selecterenstart_position dat is na het einde vansource_text retourneert een lege tekenreeks. |
ToNumber (text)
| Hiermee wordt een tekenreeks die een getal voorstelt, geconverteerd naar de bijbehorende numerieke waarde. Het eerste deel van de tekenreeks wordt geconverteerd tot er een niet-numeriek teken wordt gevonden. Als het eerste teken niet-numeriek is, resulteert dit in een fout. Voorbeelden:
ToNumber ("7") retouren 7 .ToNumber ("2017-12-31") retourneert 2017 (een getal).ToNumber ("Sample") retourneert een fout. |
Voorbeelden
Het volgende is een headcountformule op basis van een gemodelleerd blad Personeel. Het is een goed voorbeeld van hoe functies kunnen worden gecombineerd. Deze formule retourneert een binair resultaat: 1
of 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