Concept: formulebouwstenen
Termen voor omschrijving van formules
Een formule heeft:
- Operanden: de elementen die moeten worden berekend. U scheidt operanden met operatoren. Operands bij Adaptive Planning zijn onder meer:
- Referenties: rekeningen met modificatoren, aannamen, rijen (kolommen uit gemodelleerde bladen).
- Constanten: getallen of tekstwaarden die rechtstreeks in een formule worden ingevoerd.
- Modificatoren: aanvullende instructie die de verwijzing naar een specifieke tijd, niveau, dimensiewaarde of kenmerkwaarde aangeeft.
- Operatoren: geef het type berekening op dat moet worden uitgevoerd. Gebruik:
- Symbolen. Voorbeeld: de operator voor een sterretje (*) vermenigvuldigt getallen. U vindt de meeste symbolen in Formule-assistent of u kunt ze typen met uw toetsenbord.
- Functies: sjablonen met nauwkeurige syntaxis die operanden en operatoren combineren. U moet de variabelen vervangen door uw eigen verwijzingen, modificatoren en expressies. Voorbeeld: voor de afrondingsfunctie Round (N) vervangt u de N door een complexe berekening. De functie rondt deze af op het dichtstbijzijnde gehele getal.
Daarnaast beschrijven deze termen delen van een formule:
- Expressie: beschrijft een specifiek deel van een formule. Voorbeeld: in deze logische formule Iff ((ACCT.001 > ACCT.002, 1, 0) is ACCT > ACCT.002 een expressie.
- Term: de verwijzing, gecombineerd met eventuele modificatoren. Voorbeeld: ACCT.001 [time = this - 1] is een term.
- Syntaxis: de manier waarop u in uw model naar gegevens moet verwijzen om een geldige formule te maken. Voorbeeld: om naar een rekening te verwijzen, is de syntaxis ACCT.<rekeningcode>.
- Puntnotatie: een geavanceerde set syntaxisregels die verwijzen naar elementen van uw model en aanvullende functionaliteit mogelijk maken. Het primaire gebruiksscenario voor puntnotatie is voor IFF-instructies. Voorbeeld: u kunt this.Month.NumberOfDays < 30 toevoegen aan een Iff-statement om een andere berekening toe te passen voor de maand februari.
Syntaxis in de documentatie begrijpen
Enkele opmerkingen over syntaxis in documentatie:
- We gebruiken hoofdletters tussen haakjes, zoals (N) of tekst tussen dubbele punthaken, zoals <account_code> om variabelen aan te geven. U moet de variabelen vervangen door geldige constanten, rekeningverwijzingen of formule-expressies.
- We gebruiken komma's om termen te scheiden, volgens de standaard van veel landen. Als uw browser komma's als decimaalteken gebruikt, moet u de termen scheiden met puntkomma's.
- We voegen spaties toe om de formules leesbaar te maken, hoewel dit niet nodig is. U kunt ook spaties toevoegen of weglaten in uw formules.
- We gebruiken hoofdletters voor functies, zoals Divf, en gebruiken hoofdletters voor elementen, zoals ACCT, maar formules zijn niet hoofdlettergevoelig.
Voorbeeld: de syntaxis voor het toevoegen van een niveaumodificator aan een rekening is ACCT.<code> [level = <level_code>]. U moet:
- ACCT gebruiken. om naar een rekening te verwijzen.
- Vervang <code> door een werkelijke rekeningcode. Zorg ervoor dat u ook de punthaken verwijdert.
- Gebruik vierkante haken om modificatoren te definiëren.
- Gebruik level = om te wijzigen op niveau.
- Vervang <level_name> door de werkelijke code van een niveau en verwijder de dubbele punthaken.
Operanden: verwijzingen en constanten
Verwijzingen zijn een type operand. In Adaptive Planning haalt de verwijzing een waarde van ergens anders in het model naar de formule. Voorbeeld: u kunt naar een rekening verwijzen. De rekeningverwijzing haalt de waarde voor die rekening op voor een specifieke versie, een specifiek niveau en een specifieke tijd. U kunt de volgende basisverwijzingen aan formules toevoegen:
Verwijzing | Syntaxis | Voorbeeld |
|---|---|---|
Grootboekrekeningen, aangepaste rekeningen of metriekrekeningen. | ACCT.<AccountCode> | ACCT.6113 Waarbij 6113 de rekeningcode is. |
Kubusrekeningen en gemodelleerde rekeningen. | ACCT.<SheetCode.AccountCode> | ACCT.RevenueCube.003 OpbrengstenCube is de bladcode en 003 is de rekeningcode. |
Aannamerekeningen | ASSUM.<AccountCode> | ASSUM.123 Waarbij 123 de rekeningcode is. |
Kolommen op een gemodelleerd blad Alleen beschikbaar voor gemodelleerde berekende rekeningen. | ROW.<column_code> | ROW.StartDate Waarbij Begindatum de kolomcode is voor het veld Begindatum op het gemodelleerde blad. |
Spreidings- en waardeopzoektabellen in gemodelleerde bladen
Alleen beschikbaar voor gemodelleerde berekende rekeningen. | ROW.<lookup_name> | Row.BenefitLookup BenefitLookup is de naam van de waardeopzoektabel. |
Constanten | Willekeurig getal | 500 |
U kunt ook naar cellen op een blad verwijzen met behulp van de vastlegmethode, die de formule vult met de rekening en eventuele huidige modificatoren, zoals tijd en niveaus. Zie Concept: Typing Basic Formulas in Sheet Cells.
Modificatoren
U kunt precisie toevoegen met modificatoren wanneer u naar een rekening of rij verwijst. Modificatoren zoeken een specifiek segment van de rekeninggegevens. Voorbeeld: u wilt de waarde van een rekening voor een specifiek niveau of een specifieke periode.
U voegt modificatoren toe:
- Naast de rekeningverwijzing zonder spaties.
- Tussen vierkante haken.
- Gescheiden met komma's of puntkomma's als u komma's gebruikt voor decimalen.
- Met behulp van de exacte codes en namen die in uw model aanwezig zijn.ModifierSyntaxExampleTime[time = <strata_code>]ACCT.001 [time = 2023]Where 2023 is the year rollup strata. Pulls the 2023 rollup value of the account.Levels[level = <level_code>]ACCT.001 [level = sales]Where sales is the level code. Pulls the value of the account at the Sales level only.Custom Dimension[<dimension_code> = <dimension_value_code>]ACCT.001 [product = shirts]Where product is the dimension code and shirts is the dimension value code. Pulls the account data tagged with shirts.Attributes[<attribute_code> =<attribute_value_code>]ACCT.001 [productgroup = tops]Where productgroup is the attribute of the Product dimension and tops is the attribute value.Pulls the account data tagged with any dimension values that corresponds to the tops attribute value.Multiple Modifiers[<modifier1> = <code>, <modifier2> = <code>, <modifier3> = <code>]ACCT.001 [time = 2023, level = Sales, product = Shirts]Pulls the time rollup of 2023 for the Sales level for Shirts.
You can have multiple modifiers per reference, but you can only have 1 value per modifier. So, when you want to pull the value for more than 1 level:
- Wrong: ACCT.001 [level = Sales, Marketing]
- Wrong: ACCT.001 [level = Sales, level = Marketing]
- Correct: ACCT.001 [level = Sales] + ACCT.001 [level = Marketing]
Voor een hele formule hoeft u mogelijk alleen een modificator toe te voegen.
Operatoren: algemene wiskundige symbolen
Operatoren zijn wiskundige symbolen die berekeningen bieden. U kunt eenvoudige wiskundige formules gebruiken met de toetsen op uw toetsenbord. In Formule-assistent biedt de eerste set knoppen op de werkbalk eenvoudige wiskundige operatoren die u tussen termen in de formule kunt invoegen.
De eenvoudigste operanden van wiskundige formules zijn getallen. De eenvoudigste operatoren zijn de operatoren die u op uw toetsenbord kunt vinden. U hebt geen spaties nodig tussen operanden en operatoren, maar u kunt ze wel toevoegen om de formule leesbaarder te maken. U kunt ook eenvoudige wiskunde in complexere formules inbouwen die verwijzen naar rekeningen en modificatoren.
Hier volgen enkele voorbeelden van eenvoudige wiskundige formules die u kunt gebruiken:
Math Operator | Example Formula |
|---|---|
Addition (+) | ACCT.001 + ACCT.002 |
Subtraction (-) | ACCT.001 - ACCT.002 |
Multiplication (*) | ACCT.001 * ACCT.002 |
Division (Divf) | Divf (ACCT.001, ACCT.002) Divides ACCT.001 (the dividend) by ACCT.002 (the divisor) |
Modulo (%) | 10 % 3 Calculates the remainder of the quotient. Returns 1 because 10 divided 3 = 3 remainder 1. |
Parenthesis () | (ACCT.001 + ACCT.002) * 12 Dictates the order of operation: Add the accounts before multiplying by 12. |
Round(N) | Round (ACCT.001) Rounds to the nearest whole number. In the example if the value of ACCT.001 is 5.75, the formula returns 6. |
Formulefuncties
Een formulefunctie is een sjabloon die verschillende operatoren en variabelen gebruikt. Wanneer u een functie gebruikt, vervangt u de variabelen door verwijzingen, constanten of volledige formule-expressies. Functies werken zelden alleen. in plaats daarvan tekent u functies aan elkaar om uw formule samen te stellen.
Voorbeeld: voor de onkostenrekening wilt u de waarde van vorig jaar gebruiken en een inflatiepercentage toepassen dat u doorgaans opslaat in een aannamerekening. Om te voorkomen dat naar lege cellen wordt verwezen, kunt u een IF-statement maken met behulp van een logische instructie. De sjabloon ziet er als volgt uit: Iff (EXPR, T, F).
U kunt de functie als volgt gebruiken om een formule samen te stellen:
Replace the Variable | Example | Description |
|---|---|---|
Replace EXPR with the IsBlank logical function creating a function within a function. | Iff ( isBlank (N) , T, F) | The either-or constant on which the True and False calculations rely. |
Replace N with the Inflation Rate assumption, which has the account code: infl. | Iff (isBlank ( ASSUM.Infl ), T, F) | If the Inflation Rate assumption is blank... |
Replace T with a calculation that triggers if EXPR is true. | Iff (isBlank (ASSUM.Infl), ACCT.this [time = this - 12] * (1.05) , F) | If the Inflation Rate assumption is blank, take the value of this account from 12 months ago and multiply by 1.05. |
Replace F with a calculation that triggers if EXPR is false. | Iff (isBlank (ASSUM.Infl), ACCT.this [time = this - 12] * (1.05), ACCT.this [time = this - 12] * ASSUM.Infl ) | If the Inflation Rate assumption isn’t blank, take the value of this account from 12 months ago and multiply it by the Inflation Rate assumption. |
In Formule-assistent categoriseren we de formulefunctie in de volgende groepen:
- Wiskundig
- Logisch
- Datum
- String
U kunt een categorie selecteren en vervolgens het formuleveld vooraf invullen met de beschikbare sjablonen. Zie Reference: Formula Functions.
Plaatsing in het raster
Er is een formule aanwezig in het raster van Adaptive Planning. Een typische spreadsheet heeft twee assen: rekeningen en tijd. Rekeningen staan onderaan de rijen en de tijd staat in de kolom. Elke cel vertegenwoordigt een specifiek snijpunt tussen de rekening en de periode.
In Adaptive Planning is het raster multidimensionaal, wat betekent dat er meer dan twee assen zijn buiten het tweedimensionale blad dat u op het scherm ziet. Voorbeeld: de gegevens voor Opbrengsten bevinden zich op het snijpunt van het niveau Verkoop, de versie Budget 2025, de rekening Opbrengsten in de grootboekhiërarchie, de aangepaste dimensiewaarde van het product Shirts, de periode voor januari 2025, enzovoort. Wanneer u in een formule naar een gegevenspunt verwijst, verwijst u naar elk van de assen of dimensies. Tenzij u de dimensie opgeeft, zijn bepaalde standaardwaarden van toepassing op basis van de locatie van de formule. Deze dimensies dragen bij aan elk snijpunt van gegevens:
Dimensie | Standaardwaarde in referentie |
|---|---|
Tijd en niveau | Hetzelfde als de huidige locatie, tenzij u uw referentie wijzigt met tijd of niveau. Voorbeeld: een formule voor ACCT.001 is ACCT.002 * 10. Voor januari 2024 heeft de formule de waarde ACCT.002 voor januari 2024. Voor februari 2024 neemt dit de waarde van 24 februari, enzovoort, tenzij u iets anders opgeeft voor tijd in de formule. Voor niveaus geldt hetzelfde. Berekeningen halen de waarden op hetzelfde niveau dat momenteel wordt berekend. |
Valuta | De gedefinieerde valuta van het huidige niveau. |
Rekening | De huidige rekening, tenzij u naar een andere rekening verwijst. |
Elke aangepaste dimensie | De dimensiewaarde op de huidige locatie. Als er geen dimensiewaarde bestaat op de huidige locatie, is de standaardwaarde Niet gecategoriseerd. |