Zdieľať cez


DB

Vzťahuje sa na:vypočítaný stĺpecvypočítanej tabuľkyvizuálového výpočtu

Vráti odpis majetku za zadané obdobie pomocou metódy fixne klesajúceho zostatku.

Syntax

DB(<cost>, <salvage>, <life>, <period>[, <month>])

Parametre

Termín Definícia
cost Počiatočné náklady na majetok.
salvage Hodnota na konci odpisu (niekedy sa nazýva zostatková hodnota majetku). Táto hodnota môže byť 0.
life Počet období, v ktorých sa majetok odpisuje (niekedy sa nazýva životnosť majetku).
period Obdobie, pre ktoré chcete vypočítať odpis. Obdobie musí používať rovnaké jednotky ako life. Musí byť v rozsahu 1 až life (vrátane).
month (Voliteľné) Počet mesiacov v prvom roku. Ak sa parameter month vynechá, predpokladá sa, že ide o hodnotu 12.

Vrátená hodnota

Odpisy za zadané obdobie.

Poznámky

  • Metóda fixne klesajúceho zostatku vypočítava odpisy s pevnou sadzbou. DB na výpočet odpisov za obdobie používa nasledujúce vzorce:

    $$(\text{cost} - \text{celkové odpisy z predchádzajúcich období}) \times \text{rate}$$

    kde:

    • $\text{rate} = 1 - ((\frac{\text{salvage}}{\text{cost}})^{(\frac{1}{\text{life}})})\text{, zaokrúhlené na tri desatinné miesta}$
  • Odpis za prvé a posledné obdobie predstavuje špeciálny prípad.

    • Pre prvé obdobie DB používa tento vzorec:

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

    • Pre posledné obdobie používa DB tento vzorec:

      $$\frac{(\text{cost} - \text{celkové odpisy z predchádzajúcich období}) \times \text{rate} \times (12 - \text{month})}{12}$$

  • Period a month sa zaokrúhlia na najbližšie celé číslo.

  • Chyba sa vráti, ak:

    • cena < 0.
    • zostatková < 0.
    • life < 1.
    • obdobie < 1 alebo obdobie > životnosti.
    • mesiac < 1 alebo > 12 mesiacov.
  • Táto funkcia nie je podporovaná na použitie v režime DirectQuery, keď sa používa vo vypočítaných stĺpcoch alebo v pravidlách zabezpečenia na úrovni riadkov (RLS).

Príklady

Príklad č. 1

Nasledujúci DAX dotaz:

EVALUATE
{
  DB(1000000, 0, 6, 1, 2)
}

Vráti odpis majetku za posledné dva mesiace prvého roka za predpokladu, že po 6 rokoch bude mať hodnotu \$0.

[Hodnota]
166666.666666667

Príklad č. 2

Nasledujúca ukážka vypočíta celkový odpis všetkého majetku v rôznych rokoch za jeho životnosť. V tomto príklade prvý rok zahŕňa iba 7 mesiacov odpisov a minulý rok zahŕňa iba 5 mesiacov.

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)
  )
)