DB
gælder for:beregnet kolonne
beregnet tabel
beregning af måling
visualisering
Returnerer afskrivningen af et aktiv for en angivet periode ved hjælp af saldometoden.
Syntaks
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parametre
Udtryk | Definition |
---|---|
cost |
Aktivets startomkostninger. |
salvage |
Værdien ved afskrivningens afslutning (også kaldet aktivets restværdi). Denne værdi kan være 0. |
life |
Antallet af perioder, hvor aktivet afskrives (kaldes også aktivets levetid). |
period |
Den periode, du vil beregne afskrivningen for. Periode skal bruge de samme enheder som levetiden. Skal være mellem 1 og livet (inklusive). |
month |
(Valgfrit) Antallet af måneder i det første år. Hvis måned udelades, antages det, at den er 12. |
Returværdi
Afskrivningen for den angivne periode.
Bemærkninger
Saldometoden beregner afskrivningen til en fast sats. DB bruger følgende formler til at beregne afskrivningen for en periode:
$$(\text{cost} - \text{total depreciation from prior periods}) \times \text{rate}$$
hvor:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, afrundet til tre decimalpladser}$
Afskrivning for den første og sidste periode er et særligt tilfælde.
I den første periode bruger DB denne formel:
$$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$
I den sidste periode bruger DB denne formel:
$$\frac{(\text{cost} - \text{total depreciation from prior periods}) \times \text{rate} \times (12 - \text{month})}{12}$$
periode og måned afrundes til det nærmeste heltal.
Der returneres en fejl, hvis:
- omkostninger < 0.
- salvage < 0.
- liv < 1.
- periode < 1 eller periode > liv.
- måned < 1 eller måned > 12.
Denne funktion understøttes ikke til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner eller RLS-regler (row-level security).
Eksempler
Eksempel 1
Følgende DAX forespørgsel:
EVALUATE
{
DB(1000000, 0, 6, 1, 2)
}
Returnerer et aktivs afskrivning i de sidste to måneder af det første år, idet det antages, at det vil være \$0 værd efter 6 år.
[Værdi] |
---|
166666.666666667 |
Eksempel 2
Følgende beregner den samlede afskrivning af alle aktiver i forskellige år i løbet af deres levetid. Her omfatter det første år kun 7 måneders afskrivning, og det sidste år omfatter kun 5 måneder.
DEFINE
VAR NumDepreciationPeriods = MAX(Asset[LifeTimeYears])+1
VAR DepreciationPeriods = GENERATESERIES(1, NumDepreciationPeriods)
EVALUATE
ADDCOLUMNS (
DepreciationPeriods,
"Current Period Total Depreciation",
SUMX (
FILTER (
Asset,
[Value] <= [LifetimeYears]+1
),
DB([InitialCost], [SalvageValue], [LifetimeYears], [Value], 7)
)
)