DB
Dotyczy:kolumna obliczeniowa
tabela obliczeniowa
Miara
wizualizacji
Zwraca amortyzację środka trwałego dla określonego okresu przy użyciu metody salda o stałym spadku.
Składnia
DB(<cost>, <salvage>, <life>, <period>[, <month>])
Parametry
Termin | Definicja |
---|---|
cost |
Początkowy koszt zasobu. |
salvage |
Wartość na końcu amortyzacji (czasami nazywana wartością salvage środka trwałego). Ta wartość może wynosić 0. |
life |
Liczba okresów, w których umortyzowany jest zasób (czasami nazywany okresem eksploatacji zasobu). |
period |
Okres, dla którego chcesz obliczyć amortyzację. Okres musi używać tych samych jednostek co okres życia. Musi należeć do przedziału od 1 do życia (włącznie). |
month |
(Opcjonalnie) Liczba miesięcy w pierwszym roku. Jeśli miesiąc zostanie pominięty, przyjmuje się, że ma wartość 12. |
Wartość zwracana
Amortyzacja w określonym przedziale czasu.
Uwagi
Metoda salda o stałym spadku oblicza amortyzację przy stałej stawce. DB używa następujących formuł do obliczenia amortyzacji dla okresu:
$$(\text{cost} — \text{łączna amortyzacja z poprzednich okresów}) \times \text{rate}$$
gdzie:
- $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, zaokrąglone do trzech miejsc dziesiętnych}$
Amortyzacja dla pierwszych i ostatnich okresów jest szczególnym przypadkiem.
W pierwszym okresie DB używa następującej formuły:
$$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$
W ostatnim okresie DB używa następującej formuły:
$$\frac{(\text{cost} - \text{łączna amortyzacja z poprzednich okresów}) \times \text{rate} \times (12 - \text{month})}{12}$$
okres i miesiąc są zaokrąglane do najbliższej liczby całkowitej.
Zwracany jest błąd, jeśli:
- koszt < 0.
- ratuj < 0.
- < życia 1.
- okres < 1 lub okres > życia.
- miesiąc < 1 lub miesiąc > 12.
Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.
Przykłady
Przykład 1
Następujące zapytanie DAX:
EVALUATE
{
DB(1000000, 0, 6, 1, 2)
}
Zwraca amortyzację środka trwałego w ciągu ostatnich dwóch miesięcy pierwszego roku, zakładając, że będzie wart \$0 po 6 latach.
[wartość] |
---|
166666.666666667 |
Przykład 2
Poniżej obliczana jest łączna amortyzacja wszystkich aktywów w różnych latach w okresie ich istnienia. Tutaj pierwszy rok obejmuje tylko 7 miesięcy amortyzacji, a ostatni rok obejmuje tylko 5 miesięcy.
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)
)
)