DDB

применяется:вычисляемый столбецвычисляемой таблицыизмерениевизуального вычисления

Возвращает амортизацию актива в течение указанного периода с помощью метода двойного снижения баланса или другого метода, который вы указали.

Синтаксис

DAX
DDB(<cost>, <salvage>, <life>, <period>[, <factor>])

Параметры

Срок Определение
cost Начальная стоимость ресурса.
salvage Значение в конце амортизации (иногда называется значением спасения ресурса). Это значение может быть равно 0.
life Количество периодов, в течение которых ресурс не рекомендуется (иногда называется полезной жизнью актива).
period Период, для которого требуется вычислить амортизацию. Период должен использовать те же единицы, что и время жизни. Должно быть от 1 до жизни (включительно).
factor (Необязательно) Скорость снижения баланса. Если фактор опущен, предполагается, что значение равно 2 (метод двойного уменьшения баланса).

Возвращаемое значение

Амортизация за указанный период.

Замечания

  • Метод двойного снижения баланса вычисляет амортизацию с ускоренной скоростью. Амортизация является самой высокой за первый период и уменьшается в последующие периоды. DDB использует следующую формулу для вычисления амортизации за период:

    $$\text{Min}(\text{cost} - \text{total амортизация от предыдущих периодов}) \times (\frac{\text{{factor}}{text{life}}),(\text{cost} - \text{salvage} - \text{total амортизация с предыдущих периодов})$$

  • Коэффициент изменения, если вы не хотите использовать метод двойного уменьшения баланса.

  • Используйте функцию VDB, если вы хотите переключиться на метод амортизации прямой линии, если амортизация больше, чем вычисление уменьшения баланса.

  • период округляется до ближайшего целого числа.

  • Если возвращается ошибка:

    • стоимость < 0.
    • salvage < 0.
    • жизнь < 1.
    • период < 1 или период > жизни.
    • фактор ≤ 0.
  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Примеры

Пример 1

Следующий запрос DAX:

DAX
EVALUATE
{
  DDB(1000000, 0, 10, 5, 1.5)
}

Возвращает амортизацию актива в 5th год, предполагая, что он будет стоить $0 после 10 лет. Этот расчет использует коэффициент 1,5.

[значение]
78300.9375

Пример 2

Ниже вычислится общая амортизация всех активов в разных годах за их время существования. Этот расчет использует коэффициент по умолчанию 2 (метод двойного уменьшения баланса).

DAX
DEFINE
VAR NumDepreciationPeriods = MAX(Asset[LifeTimeYears])
VAR DepreciationPeriods = GENERATESERIES(1, NumDepreciationPeriods)
EVALUATE
  ADDCOLUMNS (
  DepreciationPeriods,
  "Current Period Total Depreciation",
  SUMX (
    FILTER (
      Asset,
      [Value] <= [LifetimeYears]
    ),
    DDB([InitialCost], [SalvageValue], [LifetimeYears], [Value])
  )
)