【问题标题】:Setting parameter controls and using filters设置参数控制和使用过滤器
【发布时间】:2020-08-03 21:40:47
【问题描述】:

我目前有一个新南威尔士州超速罚款数据集。 我创建了一个条形图,显示了超速违规的前 10 个频率。这些违法行为分为学区违法行为和正常超速违法行为。

我正在尝试设置一个参数控件,最终用户可以在其中切换显示前 10 名正常超速违规行为(粉红色)、前 10 名学校区域违规行为(紫色)或同时显示两者(粉色和紫色)​​。

我得到了以下参数控制:

但是条形图没有任何反应。

我的数据集如下所示:

如果超速违规发生在学区时间,我有一个学区指示器布尔值,它是 Y。

在设置参数控件时,有人可以帮我解决这个问题吗?

【问题讨论】:

  • 您使用参数的任何原因?它不适用于您的 SCHOOL_ZON_IND 字段上的过滤器吗?听起来这就是您有效尝试做的事情,过滤 Y、空白或两者兼而有之
  • 我正在提交此可视化以申请工作。我已经提交了我的可视化,并且我收到了关于使用参数控制的反馈,这是我正在尝试为我的第二稿做的事情。
  • 好的,知道了。我将在下面给出一个解决方案,但值得询问提供反馈的人为什么他们更喜欢参数。我能想到的唯一原因是选择说“显示两者”而不是“全部”。

标签: filter parameters dataset controls tableau-api


【解决方案1】:

答案基于显示how to add all to a parameter in Tableau的这篇文章。

我们需要创建一个与字段值相同的参数。由于您的字段是 Y 或 Null,让我们创建一个新字段以将 Null 转换为 N。使用以下公式将其称为 isSchool:

IFNULL([SCHOOL_ZONE_IND],"N")

使用值 Y、N 和 All 创建基于该字段的参数。显示为任何你想要的,所以你可以根据需要将参数值全部显示为 Show Both。

将 [isSchool] 放入过滤器。

在您要过滤条件的过滤器中 - 按公式。输入这个公式:

IFNULL([isSchool],"1")=IF [YourParam]!="All" THEN [YourParam] ELSE IFNULL([isSchool],"1") END 

应该可以的。

【讨论】:

  • 感谢您的回复。对此,我真的非常感激!我按照概述的步骤,创建了一个名为 isSchool 的计算字段和一个名为 isSchoolParameter 的参数。不幸的是,学区违规行为没有出现。正常的超速违法行为正在出现。
  • 好的,我已经编辑了这样的代码: IFNULL([SCHOOL_ZONE_IND],"N") = IF [isSchoolParameter] = "N" THEN [isSchoolParameter] ELSE IFNULL([SCHOOL_ZONE_IND], " Y") END 我可以在 School Zone Speeding 和 Normal Speeding Offense 之间切换,但我似乎不知道如何对 All 进行编码。
  • 是的,您已尝试合并这两个步骤。首先创建字段isSchool。然后创建包含与 isSchool 相同值的参数 - 即 All、Y、N。然后将我提供的公式添加到 isSchool 过滤器的条件区域中。
  • 非常感谢!我能够根据您的代码设置参数控制。请问,由于我不熟悉 Tableau 使用的语言,我可以去哪里详细了解 Tableau 语言背后的语法?
  • Tableau 没有语言。它有一些内置函数,比如 Excel,仅此而已。无法编写任何代码,也无法创建自己的函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多