DB
Vzťahuje sa na:vypočítaný stĺpec
vypočítanej tabuľky
vizuá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)
)
)