Руководство пользователя веб-клиента TIBCO Spotfire®

Совокупный годовой темп роста

Ярлык выражения «Совокупный годовой темп роста» (CAGR) вычисляет сглаженный годовой темп роста за заданный период времени.

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

Используется формула



где  — конечное значение, — начальное значение, а  — количество лет в периоде времени.

Пример

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



На следующей гистограмме ярлык выражения «Совокупный годовой темп роста» применен к оси значений.



На оси значений используется следующее выражение.

Sum([Sales]) THEN (Real([Value]/Sum([Value]) OVER (NavigatePeriod([Axis.X],"Year",-1)))^ (1/([X.Year] - First([X.Year])OVER (NavigatePeriod([Axis.X],"Year",-1)))))-1

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

Sum([Sales]) THEN (Real([Value]/Sum([Value]) OVER (NavigatePeriod([Axis.X],"Year",-2)))^ (1/([X.Year] - First([X.Year])OVER (NavigatePeriod([Axis.X],"Year",-2)))))-1

Это выражение показывает темп роста, если данный темп будет одинаковым в течение каждого из двух лет. Внешний вид гистограммы изменится и будет выглядеть примерно следующим образом. (Стрелка указывает на полосу, используемую для объяснения того, что вычисляется в приведенном ниже выражении.)



В первой части выражения указывается, что столбец [Sales] должен быть агрегирован в виде суммы. Результат этой части помещается в столбец [Value] для использования в выражении после THEN.

После THEN сначала следует преобразование в тип данных Real, чтобы функция возведения в степень (^) работала для всех типов столбцов, например для Currency.

Затем каждый узел делится на соответствующий узел двумя годами ранее, и это соотношение в свою очередь увеличивается до ½. (½ потому, что количество лет равно 2. Если количество лет равно 3, соотношение увеличивается до ⅓.) Затем из результата вычитается 1, чтобы получить процент.

Агрегирование First() используется только потому, что перед ключевым словом OVER должно быть указано агрегирование. В результате выполняется переход к первому значению узла, которое нужно вычитать. Но поскольку каждый узел имеет только одно значение, это соответствует выбору значения узла.

Например, расчет совокупного годового темпа роста за второй квартал 2021 г.



Это означает, что плавный годовой темп роста составляет 22 %, то есть через два года сумма составит 200*1,22*1,22300.

(См. прямоугольники ниже.)



См. также NavigatePeriod().

Селектор столбцов в развернутом виде

В установленном клиенте развернутый селектор столбцов включает элементы управления, упрощающие изменение различных параметров в ярлыке выражения:



Отображаемое имя При желании можно указать другое отображаемое имя вместо «Составной годовой рост ([имя столбца])» по умолчанию.
Ось Укажите ось, по которой будет производиться вычисление узлов.

В раскрывающемся списке могут содержаться только оси категорий, которые выполняют какое-либо группирование. Это означает, что если группирование выполняется только на оси X, то доступна будет только эта ось, а если бы было также выполнено окрашивание по категориальному столбцу, то станет доступна ось «Цвет», и так далее.

Число шагов Определяет число шагов между сравниваемыми узлами. Если число шагов равно –1, то будет вычислено расстояние между текущим узлом и узлом, который находится перед ним. Если число шагов равно 1, то будет вычислено расстояние между текущим узлом и узлом, который следует за ним.
Форматирование Измените форматирование оси. Например, измените значение на Число, чтобы значения отображались числами, а не в процентах.
Скрыть пустые значения Создает правило «Показать/скрыть», которое скрывает все пустые значения. Щелкните символ свойств, чтобы открыть свойства «Показать/скрыть» для редактирования или удаления правила.