DDB
применяется:вычисляемый столбец
вычисляемой таблицы
измерение
визуального вычисления
Возвращает амортизацию актива в течение указанного периода с помощью метода двойного снижения баланса или другого метода, который вы указали.
Синтаксис
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:
EVALUATE
{
DDB(1000000, 0, 10, 5, 1.5)
}
Возвращает амортизацию актива в 5$^{th}$ год, предполагая, что он будет стоить \$0 после 10 лет. Этот расчет использует коэффициент 1,5.
[значение] |
---|
78300.9375 |
Пример 2
Ниже вычислится общая амортизация всех активов в разных годах за их время существования. Этот расчет использует коэффициент по умолчанию 2 (метод двойного уменьшения баланса).
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])
)
)