Я делаю некоторые предположения здесь, но, надеюсь, это поможет вам.Я создал файл .xlsx со следующими данными:
Event Revenue Attendance
Event 1 63761 6685
Event 2 24065 3613
Event 3 69325 4635
Event 4 41996 5414
Внутри Tableu я создал вычисляемый столбец для Rev Per Person.
Наконец, в выпадающем списке Analysis I 'мы включили Show Column Grand Totals
.Это дает мне следующее:
Простое исправление
Проблема в том, что все столбцы итоговыерассчитываются с использованием суммирования SUM.Это желаемое поведение для дохода и посещаемости, но для Rev на человека вы хотите отобразить среднее значение.
В Analysis / Total / Total All Using вы можете настроить агрегацию по умолчанию.Здесь мы не хотим устанавливать их все;но это полезно знать.Оставьте это там, где оно есть, и вместо этого щелкните по значению Rev Per Person
Grand Total и измените его с «Автоматически» на «Среднее».
Теперь вы увидите число намного ближе к ожидаемому.
Но это не совсем то, что вы ожидаете.Среднее значение всех значений Rev Per Person дает нам $ 9,73;но если вы возьмете общий доход / общую посещаемость, вы ожидаете значение 9,79 доллара.
Небольшое более активное исправление
Сначала - отмените простое исправление.Мы будем держать все итоги в «По умолчанию».Вместо этого мы изменим вычисление Rev Per Person
.
IF Size() > 1 THEN
// Grand Total
SUM([Revenue]/[Attendance])
ELSE
// Regular View
SUM([Revenue])/SUM([Attendance])
END
Size () используется для определения, выполняется ли вычисление для отдельной ячейки или нет.
Дополнительная информацияРазмер () и аналогичные функции можно найти на веб-сайте Tableau здесь - https://onlinehelp.tableau.com/current/pro/desktop/en-us/functions_functions_tablecalculation.html
Теперь я вижу ожидаемое значение $ 9,79.