DB

Dotyczy: Obliczanie kolumny obliczeniowejtabeliobliczeniowej Miarawizualizacji

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.
Ratownictwa Wartość na końcu amortyzacji (czasami nazywana wartością salvage środka trwałego). Ta wartość może wynosić 0.
Życia Liczba okresów, w których umortyzowany jest zasób (czasami nazywany okresem eksploatacji zasobu).
Okres 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).
miesiąca (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. Baza danych 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 baza danych używa tej formuły:

      $$\frac{\text{cost} \times \text{rate} \times \text{month}}{12}$$

    • W ostatnim okresie baza danych używa tej 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.
    • uratowanie < 0.
    • życie < 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 języka 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)
  )
)