Расчет calc_last day coef
Формула:
tableau
IF [calc_month_from_signup_to_now] = 1 THEN DAY(DATEADD('day', -1, DATEADD('month', 1, DATETRUNC('month', {MAX([Period_end])})))) / DAY({MAX([Period_end])}) ELSEIF [calc_month_from_signup_to_now] > 1 AND [calc_last day checker] = TRUE THEN 1 ELSE 0 END
Составляющие формулы:
[calc_month_from_signup_to_now] = 1
Описание: Проверяет, является ли событие частью первого месяца после регистрации.
Значение: Если событие относится к первому месяцу, используется дробный коэффициент для корректировки.DAY(DATEADD('day', -1, DATEADD('month', 1, DATETRUNC('month', {MAX([Period_end])}))))
Описание: Вычисляет количество дней в последнем месяце.
Значение:DATETRUNC('month', {MAX([Period_end])}): Приводит дату конца периода к началу месяца.DATEADD('month', 1, ...): Добавляет один месяц к началу месяца.DATEADD('day', -1, ...): Вычитает один день, возвращая последний день месяца.DAY(...): Извлекает день из последней даты (число дней в месяце).
DAY({MAX([Period_end])})
Описание: Извлекает день из максимальной даты периода ({MAX([Period_end])}).
Значение: Показывает текущий день для максимальной даты периода.[calc_last day checker] = TRUE
Описание: Проверяет, попадает ли событие на последний день месяца.
Значение: Если TRUE, корректировка коэффициента равна 1.
Логика вложенных условий:
Первый уровень вложенности:
Проверяет, относится ли событие к первому месяцу:tableau
Копировать код
IF [calc_month_from_signup_to_now] = 1 THEN ... ELSEIF ... ENDЕсли событие относится к первому месяцу, применяется дробный коэффициент.
Второй уровень вложенности:
Проверяет, если событие происходит после первого месяца и является последним днем:tableau
Копировать код
ELSEIF [calc_month_from_signup_to_now] > 1 AND [calc_last day checker] = TRUE THEN 1В этом случае коэффициент устанавливается в 1.
Иначе:
Если ни одно условие не выполнено:tableau
Копировать код
ELSE 0 ENDКоэффициент устанавливается в 0.
Результат:
Для первого месяца: коэффициент вычисляется как дробное отношение дней.
Для событий после первого месяца и последнего дня месяца: коэффициент =
1.Для остальных случаев: коэффициент =
0.
Интерпретация:
Метрика calc_last day coef используется для корректировки расчётов, связанных с последним днём месяца:
Учитывает разницу в днях для первого месяца.
Обеспечивает точный расчёт событий, происходящих в последний день месяца.
Помогает анализировать корректности данных в привязке к временным интервалам.