2015-03-30 2 views
0

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

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

Name-Имя события

Карл-Сельское хозяйство

Карл-Сельское хозяйство

Карл-Сельское хозяйство

Jodie-Бизнес

Jodie-Agriculture

Jodie-Сельское хозяйство

Pam-Бизнес

Pam-Бизнес

Pam-Бизнес

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

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

Любые идеи?

+0

Это слишком широкий вопрос. Если у вас есть определенная часть определенного кода, с которым вам нужна помощь, отправьте его. И покажите ожидаемый результат и укажите на строку или строки, которые не работают, или вы смущены. – clearlight

+0

Проблема в том, что я не могу дойти до точки, где я уверен, что у меня есть правильный код. Это скорее проблема функциональности Tableau. Я прикрепил книгу здесь: https: //www.dropbox.com/s/969qikft7tunf9t/Names%20and%20Events.twbx? Dl = 0 ..... Вопрос в том, как мне получить те, у которых есть 0 события выбранный для STAY на визуальном уровне, и те, которые уже участвовали, исключаются. –

+0

DropBox требует учетную запись пользователя, и я не хочу беспокоить логин. Я не осведомлен о таблице. Я просто делал StackOverflow.com «гражданский долг» (это сайт с модерацией сообщества), работая над [очередью просмотра] (http: // stackoverflow.com/review), чтобы улучшить качество первых сообщений участников и заметили, что ваша почта не соответствует руководящим принципам и с меньшей вероятностью получить хороший ответ. См. [Как спросить] (http://stackoverflow.com/review) и [В теме] (http://stackoverflow.com/help/on-topic) – clearlight

ответ

0

У вас есть большая часть пути по своему усмотрению. Для того, чтобы закончить работу:

  1. топоним на фильтровальной полке
  2. Выберите «Использовать все» на вкладке Общие фильтрующей панели
  3. Выберите «По полю:» на вкладке Состояние панели фильтра
  4. Выберите поле «Если исключения себе», граф функции агрегации (не сумма в данном случае), и установите тест «= 0»

эффект этого фильтра эквивалентно SQL group by Name having Count(If Exclusion Statement) = 0

+0

Спасибо, Алекс. Я так близко. Однако, когда я завершаю задачу таким образом, я теряю всю визуальность. Должен ли я использовать больше 0? Есть ли проблема, потому что я использовал «Количество записей», а не собирал расчет? –

+0

Используйте агрегацию COUNT(), а не SUM(). Моя ошибка в том, что они сказали, что оба будут работать. Count() возвращает количество записей, имеющих ненулевое значение. У вашего вычисленного поля нет предложения else, поэтому он будет эффективно «возвращать» значение null, если условие if выходит из строя. Это хорошая практика, но в этом случае вам нужно использовать Count() вместо Sum(). –

+0

Спасибо, Алекс, это сработало отлично! –

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