Выполнить IF-THEN_ELSE перед выполнением расчета — Таблица

У меня есть график ниже.

введите здесь описание изображения

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

abs(sum(if[Status]='lapsed'then[TotalAmount]end))/abs(sum(if[Status]='inforce'then[TotalAmount]end))

Однако эта формула также выберет значение из Q2 (четверть 2) 2016 года. Я хочу сказать таблице, чтобы сначала проверить, не содержит ли какой-либо квартал как действующее значение, так и истекшее значение, а затем пропустить этот квартал. В этом случае мне нужно рассчитать просроченную ставку, которая не включает Q2 2016. Как мне это сделать?

Я использую Tableau v.10.

Спасибо.


person Adhitya Sanusi    schedule 28.11.2017    source источник


Ответы (1)


Это всего лишь быстрый подход и, возможно, не самый эффективный, но, похоже, он работает.

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

Создайте вычисляемое поле следующим образом: Дайте мне знать, если у вас есть какие-либо вопросы или вам нужны какие-либо настройки.

 if
avg(
// Calculate the number of Inforce/Lapsed occurences per Quarter
IF 
[Status] = 'Inforce'
or 
[Status] = 'Lapsed'
then 
{ FIXED 
DATEPART('quarter', [Date]):
countd([Status])
}
else 
0
end)
//
= 2
then 
// Calculate the Lapsed Rate as both statuses exist in the quarter
sum((if 
[Status] = 'Lapsed'
then [Total Amount]
END))
/ 
sum([Total Amount])


END
person smb    schedule 01.12.2017