DB
Gilt für:Berechnete SpalteBerechnete TabelleMeasurevisuelle Berechnung
Gibt die Abschreibung eines Vermögenswerts für einen bestimmten Zeitraum unter Verwendung der methode der degressiven Abschreibung eines Vermögenswerts zurück.
Syntax
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parameter
Ausdruck | Definition |
---|---|
cost |
Die Anfangskosten des Vermögenswerts. |
salvage |
Der Wert am Ende der Abschreibung (manchmal auch als Restwert des Vermögenswerts bezeichnet). Dieser Wert kann 0 sein. |
life |
Die Anzahl der Perioden, über die das Objekt abgeschrieben wird (manchmal auch als Nutzungsdauer des Vermögenswerts bezeichnet). |
period |
Der Zeitraum, für den Sie die Abschreibung berechnen möchten. Der Zeitraum muss die gleichen Einheiten wie die Lebensdauer verwenden. Muss zwischen 1 und Leben (einschließlich) liegen. |
month |
(Optional) Die Anzahl der Monate im ersten Jahr. Wenn der Monat nicht angegeben wird, wird davon ausgegangen, dass er 12 ist. |
Rückgabewert
Die Abschreibung über den angegebenen Zeitraum.
Bemerkungen
Die Abschreibungsmethode für eine degressive Abschreibung berechnet einen festen Satz. DB verwendet die folgenden Formeln zum Berechnen der Abschreibung für einen Zeitraum:
$$(\text{cost} - \text{totale Abschreibung aus früheren Perioden}) \times \text{rate}$$
wo:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})})\text{, gerundet auf drei Dezimalstellen}$
Die Abschreibung für die erste und letzte Periode ist ein Sonderfall.
Für den ersten Zeitraum verwendet DB diese Formel:
$$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$
Für den letzten Zeitraum verwendet DB diese Formel:
$$\frac{(\text{cost} - \text{totale Abschreibung aus früheren Perioden}) \times \text{rate} \times (12 - \text{month})}{12}$$
Zeitraum und Monat werden auf die nächste ganze Zahl gerundet.
Ein Fehler wird zurückgegeben, wenn:
- Kosten < 0.
- Restwert < 0.
- Leben < 1.
- Zeitraum < 1 oder Periode > Leben.
- Monat < 1 oder Monat > 12.
Diese Funktion wird für die Verwendung im DirectQuery-Modus nicht unterstützt, wenn sie in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.
Beispiele
Beispiel 1
Die folgende DAX Abfrage:
EVALUATE
{
DB(1000000, 0, 6, 1, 2)
}
Gibt die Abschreibung eines Vermögenswerts in den letzten zwei Monaten des ersten Jahres zurück, vorausgesetzt, es wird nach 6 Jahren \$0 wert sein.
[Wert] |
---|
166666.666666667 |
Beispiel 2
Im Folgenden wird die Gesamtabschreibung aller Vermögenswerte in unterschiedlichen Jahren über ihre Lebensdauer berechnet. Hier umfasst das erste Jahr nur 7 Monate Abschreibung, und das letzte Jahr umfasst nur 5 Monate.
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)
)
)