DB
gäller för:beräknad kolumnberäknad tabellMåttVisuell beräkning
Returnerar avskrivningen för en tillgång för en angiven period med metoden för fast degressiv balans.
Syntax
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parametrar
Term | Definition |
---|---|
cost |
Den initiala kostnaden för tillgången. |
salvage |
Värdet i slutet av avskrivningen (kallas ibland för tillgångens restvärde). Det här värdet kan vara 0. |
life |
Antalet perioder då tillgången skrivs av (kallas ibland tillgångens livslängd). |
period |
Den period som du vill beräkna avskrivningen för. Perioden måste använda samma enheter som livslängden. Måste vara mellan 1 och livet (inkluderande). |
month |
(Valfritt) Antalet månader under det första året. Om månaden utelämnas antas den vara 12. |
Returvärde
Avskrivningen under den angivna perioden.
Anmärkningar
Metoden för fast degressiv balans beräknar avskrivningen till en fast ränta. DB använder följande formler för att beräkna avskrivning för en period:
$$(\text{cost} – \text{total avskrivning från tidigare perioder}) \times \text{rate}$$
var:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, avrundad till tre decimaler}$
Avskrivning för de första och sista perioderna är ett specialfall.
För den första perioden använder DB den här formeln:
$$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$
För den senaste perioden använder DB den här formeln:
$$\frac{(\text{cost} - \text{total avskrivning från tidigare perioder}) \times \text{rate} \times (12 - \text{month})}{12}$$
period och månad avrundas till närmaste heltal.
Ett fel returneras om:
- kostnad < 0.
- bärgning < 0.
- liv < 1.
- period < 1 eller period > livslängd.
- månad < 1 eller månad > 12.
Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).
Exempel
Exempel 1
Följande DAX-fråga:
EVALUATE
{
DB(1000000, 0, 6, 1, 2)
}
Returnerar en tillgångs avskrivning under de sista två månaderna av det första året, förutsatt att den är värd \$0 efter 6 år.
[Värde] |
---|
166666.666666667 |
Exempel 2
Följande beräknar den totala avskrivningen av alla tillgångar under olika år under deras livslängd. Här omfattar det första året endast 7 månaders avskrivning och det senaste året innehåller bara 5 månader.
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)
)
)