2017-02-07 13 views
1

Я только начал использовать Tableau, и я хотел бы знать, как использовать самую последнюю доступную ценность. Например, у меня есть:Tableau Заполните пропущенное значение с последним доступным значением

ID Date   Active 
1 01/01/2016  1 
1 01/02/2016  1 
1 01/07/2016  0 
2 01/02/2016  1 
2 01/08/2016  0 

Теперь я хотел бы иметь вид на месяц на SUM Активного флага, что-то вроде:

01/01/2016  1 
01/02/2016  2 
01/03/2016  2 
01/04/2016  2 
01/04/2016  2 
01/05/2016  2 
01/06/2016  2 
01/07/2016  1 
01/08/2016  0 

Как вы можете видеть, что мы предполагаем, что активный флаг принять последнее значение доступно как:

1 01/01/2016  1 
1 01/02/2016  1 
1 01/07/2016  0 

будет преобразовываться:

01/01/2016  1 
01/02/2016  1 
01/03/2016  1 
01/04/2016  1 
01/04/2016  1 
01/05/2016  1 
01/06/2016  1 
01/07/2016  0 

После того, как вы сделаете сумму на Активном флаге.

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

+0

Возможно ли, что ваш пример содержит ошибку? – spijs

ответ

1

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

Я думаю, вы хотите две вещи: сначала вы хотите, чтобы в таблице показывались отсутствующие месяцы, которые вы можете сделать, щелкнув правой кнопкой мыши по месяцам и выбрав show missing values. Это даст вам:

Во-вторых, вы хотели бы,

Month of Date  Active 
January    1 
February   2 
March    2 
April    2 
May     2 
June    2 
July    0 
August    0 

А вот у меня есть отличие от вашего примера, так как вы утверждаете июль должен иметь значение 1, что я не понимаю, так как сумма июле 0. Если это так, что это просто из-за ошибки вы можете достичь выше таблицу, в самом деле, используя вычисляемое поле:

ifnull(sum([Active]), previous_value(0)) 

Если я неправильно истолкованы какую-то часть вашей проблемы, пожалуйста, дайте мне знать, так что я могу изменить свое решение соответствующим образом. Но я думаю, что в целом комбинация lookup, ifnull и previous_value сможет решить вашу проблему.

+0

Я не могу проверить, но я думаю, что указанная вами формула может быть сокращена до ifnull (sum ([Active]), previous_value (0)). Стоит попробовать. –

+0

Быстрый тест показывает, что вы правы. Обновлено мое сообщение. – spijs

 Смежные вопросы

  • Нет связанных вопросов^_^