2015-03-30 63 views
0

我一直在为这一天的更好的一部分工作,并希望将源代码集中起来,因为我必须简单地丢失一些东西。Tableau:创建动态过滤器以排除名称

我想使用参数控件来创建一个动态过滤器,该过滤器将排除已参与事件的个人的名称。例如,在两个领域的以下列表:

名称,事件名称

卡尔 - 农业

卡尔 - 农业

卡尔 - 农业

朱迪 - 商务

裘迪农业

朱迪 - 农业

PAM-业务

PAM-业务

PAM-业务

如果参数设置为农业,只有帕姆会出现在名单上,如果它是设置为Business只有Carl会出现。此列表将帮助利益相关者向潜在的利益相关方发送邀请。

我已经尝试了如此多的计算,包括在IF语句,IIF语句,CASE语句等参数本身。我也尝试创建第二个计算来处理第一个,但我仍然醒目。

任何想法?

+0

这是一个太宽泛的问题。如果您希望获得帮助的特定代码段的特定部分,请发布。并显示预期的结果,并指向一行或多行不工作或您感到困惑的行。 – clearlight 2015-03-30 23:48:14

+0

问题是,我无法达到我确信自己拥有正确代码的地步。它更像是一个Tableau功能问题。我已附加在这里的工作簿:https://www.dropbox.com/s/969qikft7tunf9t/Names%20and%20Events.twbx?dl = 0 .....问题是,我怎么得到事件的0选择留在视觉上,而那些已经参与过的被排除在外。 – 2015-03-31 16:32:02

+0

DropBox需要一个用户帐户,我不想麻烦登录。我不熟悉tableau我只是通过处理[review queue](http:// stackoverflow)来完成StackOverflow.com“公民责任”(它是一个社区审核网站)。com/review)来提高成员对首篇文章的质量,并注意到您的文章并不真正符合指南,也不太可能得到良好的回应。参见[如何提问](http://stackoverflow.com/review)和[On Topic](http://stackoverflow.com/help/on-topic) – clearlight 2015-03-31 17:09:53

回答

0

你大部分都是靠自己的方式。为了完成这项工作:过滤器架

  • 选择器面板
  • 选择的常规选项卡上的“使用所有的”关于

    1. 地名“到现场:”过滤器面板的条件选项卡上
    2. 选择“如果排除声明”字段中,计数聚合功能(未总结在这种情况下),并且设置测试为“= 0”

    该滤波器的作用是等效于SQL group by Name having Count(If Exclusion Statement) = 0

  • +0

    谢谢你Alex。我很亲密。但是,当我以这种方式完成任务时,我失去了整个视觉效果。我应该使用大于0吗?有没有问题,因为我使用了“记录数量”而不是一起计算? – 2015-04-01 17:54:23

    +0

    使用COUNT()聚合,而不是SUM()。我最初说这两件事都会起作用。 Count()返回具有非空值的记录数。您计算的字段没有else子句,因此if条件失败时将有效地“返回”null。这都是很好的做法,但这意味着在这种情况下您需要使用Count()而不是Sum()。 – 2015-04-02 03:38:43

    +0

    谢谢亚历克斯,工作完美! – 2015-04-02 18:29:00