2016-07-19 2 views
1

Для таблицы:вычисляемого поля на основе соответствующей строки Месяц

Month Source Num Denom 

May-2016 1  28  30 
May-2016 2  10  17 
Jun-2016 1  40  42 
Jun-2016 2  15  23 

Я хотел угодить знать, как создать вычисляемое поле двумя способами:

1) Возвращает C. Поле = Num/Denom только за июнь-2016 год (или любой соответствующий месяц в строке)

2) Возврат C. Поле = Числа/Деноминация за предыдущий месяц в столбце Месяц с текущего месяца во времени (Текущий месяц - июль. Я хочу, чтобы подразделение было для полей, соответствующих июню 2016 года в столбце «Месяц»)

Ожидаемый результат (расчет только за июнь 2016 года):

40+15/42+23 = 0.846 (If not drilled down to Source) 
40/42=0.95 (If drilled down to Source For Source 1) 
15/23=0.65 (If drilled down to Source For Source 2) 
+0

Вы еще что-нибудь пробовали? – Nicarus

+0

Если я делаю 'SUM [Num]/SUM [Denom]', он дает мне расчет на сумму всех месяцев, поэтому я изо всех сил пытаюсь понять, как заставить Tableau делать это только на июнь-2016. – AS91

+0

Каков ваш ожидаемый результат? Ваш расчет будет работать, если вы представите данные на зерне «Месяц», иначе он будет агрегироваться все месяцы. Вам нужно уточнить, что вы ожидаете от своего вывода. – Nicarus

ответ

3

Это, как вы можете рассчитать данные через месяц явно:

SUM(IF [month] = 'Jun-2016' THEN [Num] END) 
/
SUM(IF [month] = 'Jun-2016' THEN [Denom] END) 

Я не уверен, если ваш [month] поле представляет собой текстовое поле или поле фактической даты, но если это поле даты, вы можете сделать этот расчет более динамичным, например:

SUM(IF DATEDIFF("month",[month],TODAY()) = 1 THEN [Num] END) 
/
SUM(IF DATEDIFF("month",[month],TODAY()) = 1 THEN [Denom] END) 
+0

Спасибо, сэр. Только то, что доктор прописал. – AS91

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