Passa al contenuto principale
Adaptive Planning
Ultimo aggiornamento: 2023-06-23
Esempio: Creare formule per le tariffe

Esempio: Creare formule per le tariffe

Per semplicità, gli esempi utilizzano virgole come separatori per i termini. Alcune impostazioni del browser richiedono l'utilizzo del punto e virgola come separatore.
In questo esempio, la formula Tariffa fa riferimento ai valori immessi nelle ipotesi
Mese aumento
e
Percentuale aumento
.
Alcuni aspetti da comprendere sul calcolo della Tariffa:
  • La colonna Tariffa è un elemento Saldo di partenza (cumulativo), Pianificato in base a delta mensile, il che significa che i dati immessi in fase di pianificazione vengono poi riportati per tutti i periodi della versione. I calcoli effettuati sull'elemento verranno aggiunti al saldo del mese precedente nel conto.
  • Sintassi per le istruzioni IF in
    Adaptive Planning
    differiscono da Excel:
    • Adaptive Planning
      esempio:
      if(ACCT.A6=1 and ACCT.B6=0,X,0)
    • Esempio di Excel:
      if(and(A6=1, B6=0),X,0)
  • Nel calcolo della Tariffa sono presenti tre riferimenti temporali di base. Ogni riferimento assegna un numero a ciascun mese nella versione e può essere utilizzato per confrontare una colonna della data con un numero di mese assegnato nella versione.
    • Month
      : a ogni mese viene assegnato un numero (da 1 a 12) seguendo l'anno di calendario che si ripete in tutta la versione.
    • Fiscalmonth
      : a ogni mese viene assegnato un numero da 1 a 12 seguendo l'esercizio fiscale dell'azienda che si ripete in tutta la versione.
    • Versionmonth
      : a ogni mese viene assegnato un numero. Il primo mese della versione è 0. I numeri continuano nel tempo (senza ripetersi). I numeri positivi indicano i mesi futuri. I numeri negativi (-) indicano i mesi passati.
Il calcolo della Tariffa è:
IF((VersionMonth(this) > 0) AND ROW.Headcount>0 AND (((VersionMonth(this) - VersionMonth(ROW.StartDate) > 1) AND ASSUM.RaiseMonth = 0 AND FiscalMonth(this) = FiscalMonth(ROW.StartDate)) OR (ASSUM.RaiseMonth = Month(this))), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
La tabella seguente fornisce una scomposizione dettagliata di ogni istruzione nel calcolo:
Istruzione
Descrizione
VersionMonth(this)>0
Questa istruzione verifica che il numero del mese assegnato in un determinato periodo della versione sia effettivamente successivo al primo mese della versione. In questo modo si impedisce di concedere un aumento nel primo mese della versione. Si presuppone che sia stato immesso lo stipendio di un dipendente nel primo mese come stipendio iniziale.
ROW.Headcount>0
Verifica che il dipendente sia impiegato per applicare l'aumento della tariffa.
Headcount
si basa sulla colonna della data di inizio e di fine del dipendente. Si tratta di un trigger binario con un risultato di
0
o
1
per indicare che il dipendente è occupato (o meno) in ogni periodo.
VersionMonth(this)-VersionMonth(ROW.StartDate)>1
Verifica ogni mese in cui viene applicata la formula per assicurarsi che venga applicato un aumento di stipendio solo dopo la data di inizio del dipendente. Il
VersionMonth
assegnato a ogni periodo viene confrontato con quello univoco
VersionMonth
assegnato alla data di inizio del dipendente. Se la differenza è maggiore di uno (il periodo è successivo alla data di inizio del dipendente), il dipendente può ottenere un aumento, a condizione che tutti gli altri
and
le istruzioni sono soddisfatte.
ASSUM.RaiseMonth = 0
Verifica ogni mese se il
RaiseMonth
ipotesi è
0
. Per gli aumenti di anniversario, il mese di aumento deve essere zero.
FiscalMonth(this)=FiscalMonth(ROW.StartDate)
Controlla ciascuno
FiscalMonth
e lo confronta con quello assegnato
FiscalMonth
per la data di inizio del dipendente. Ad esempio: se la data di inizio del dipendente è
8/12/2016
e l'esercizio fiscale dell'organizzazione è lo stesso dell'anno di calendario, il mese assegnato per
FiscalMonth(ROW.StartDate)
sarebbe 8 Nel mese di gennaio di ogni anno,
FiscalMonth(this)
restituisce a
1
. Febbraio restituisce a
2
e così via. Questa frase è vera solo quando
FiscalMonth
è uguale a
FiscalMonth
della data di inizio del dipendente. In questo modo, anno dopo anno, è possibile calcolare qualcosa in una data di anniversario.
ASSUM.RaiseMonth = Month(this)
Verifica che il numero immesso per il
RaiseMonth
ipotesi corrisponde al numero del mese corrente. Ad esempio: se si desidera che l'aumento avvenga nell'aprile 2017, inserire a
4
nell'ipotesi
RaiseMonth
ad aprile 2017.
ROW.PayRate[time=THIS-1]*ASSUM.RaisePct
Definisce la clausola True. Se le affermazioni precedenti sono vere (tutte le
and
e uno dei
or
istruzioni), quindi tutti i
IF
sono soddisfatte le condizioni e l'aumento (
ASSUM.PaisePct
) viene applicato.
Il
PayRate
la formula a fa riferimento al periodo precedente
[time=THIS-1]
, anziché il periodo corrente. I motivi sono i seguenti:
  • Il
    PayRate
    il calcolo è un elemento del saldo di partenza. Il saldo immesso nella colonna viene riportato a partire dalla pianificazione (a partire dal mese precedente). Se nell'elemento del saldo di partenza è presente una formula come quella qui descritta, verrà calcolata un'aggiunta al mese precedente.
  • Poiché l'elemento del saldo di partenza riporta automaticamente il saldo e vi aggiunge gli eventuali nuovi calcoli, includerebbe anche i dati valutati nel mese corrente. Pertanto, per evitare riferimenti circolari, l'aumento si basa sul saldo della tariffa del mese precedente.
0
Definisce la clausola False. Quando uno (o più)
IF
condizioni non sono soddisfatte, l'aumento lo è
0
e non viene aggiunto nulla al saldo.
Se letta come una frase, questa formula sarebbe:
"Se si tratta di un mese all'interno di questa versione budget e il dipendente è assunto, e il periodo è successivo alla data di inizio del dipendente, e l'ipotesi ha valore pari a zero, e il mese corrente è uguale alla data di inizio del dipendente, oppure il mese corrente corrisponde al valore del mese corrente dell'ipotesi, allora concedere un aumento. In caso contrario, non concedere l'aumento."

Opzioni di aumento alternative

In genere le organizzazioni non concedono un aumento nel mese di aumento
o
in una data di anniversario. La maggior parte delle organizzazioni utilizzerà una versione più semplice di questo calcolo dell'aumento.
Opzione 1:
applicare gli aumenti nel mese di aumento. La formula è:
if(VersionMonth(this)>0 and ROW.Headcount>0 and VersionMonth(this)-VersionMonth(ROW.StartDate)>1 and ASSUM.RaiseMonth=fiscalmonth(this), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0
Le modifiche al calcolo includono:
Istruzione
Descrizione
ROW.Headcount>0
Come in precedenza, il
Headcount
deve essere maggiore di zero anziché uguale a
1
. In questo modo il calcolo funziona per tutte le righe di un dipendente suddiviso che potrebbe contare per meno di uno in una determinata riga.
ASSUM.RaiseMonth=FiscalMonth(this)
Il
RaiseMonth
viene confrontato con il mese fiscale dell'azienda. Ciò consente al dipendente che compila l'ipotesi di considerare l'esercizio fiscale dell'azienda anziché un anno di calendario forzato.
fiscalmonth(this) = fiscalmonth(ROW.StartDate)) or ASSUM. RaiseMonth = Month(this)
Non sono presenti
or
dichiarazione per la data dell'anniversario. L'aumento viene applicato solo nel mese di aumento.
Opzione 2:
applicare gli aumenti in una data di anniversario. La formula è:
if(VersionMonth(this)> 0 AND ROW.Headcount>0 AND VersionMonth(this)-VersionMonth(ROW.StartDate)> 1 AND FiscalMonth(this)=FiscalMonth(ROW.StartDate), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
Consultare Esempi di formule - Personale, Calcoli tariffa paga per ulteriori opzioni di tariffa.