如何在 Tableau 中将 5 列合并为 1 个过滤器?

How to combine 5 columns into 1 filter in Tableau?

我的(简化的)数据结构如下:

我标记了我的用户在过去 7 天、14 天、1 个月、6 个月和 1 年内是否执行了某个操作(1 表示用户执行了该操作,0 表示他没有) .我想在 Tableau 中创建一个下拉过滤器,以便能够过滤掉在过去 7 天、14 天、1 个月、6 个月和 1 年内执行过该操作的用户。我将在仪表板顶部显示用户总数和一个“操作日期”过滤器。有谁知道我如何在 Tableau 中实现这种过滤器?我想我必须创建一个参数,但我不确定如何将这 5 列组合到 1 个过滤器中。

感谢任何帮助!

最简单的解释方法是创建一个参数,允许用户从规定的字符串列表中 select 恰好一个 值,例如“7 days ”、“14 天”...等等。您可能还需要一些其他选择,例如“开始时间”或“所有用户”。随心所欲。

然后创建一个(布尔)计算字段,表示是否应根据当前参数值包含当前数据记录。像

if [My Filter Param] = "7 Days" then
   [7 Days] = 1
elseif [My Filter Param] = "14 Days" then
   [14 Days] = 1
...
else // last one
   [My Filter Param] = "Start of Time"
end

然后将您的计算字段放在过滤器架上,选择 True 作为过滤器值,应用于任何重要的工作表或数据源,当然还要显示您的参数控件。

这是一种非常通用的技术,将参数(用于要求用户做出选择)与布尔计算字段(用于应用用户选择)以及用于将该计算应用于可视化的过滤器或其他架子相结合.适用于各种问题。

如果您的数据集很大或很慢,您可以通过几种方式优化性能。比如在数据中使用布尔字段而不是整数,并使用整数值参数而不是字符串,这样您就可以使用快速 case 语句来替换所有字符串比较(尽管 Tableau 可以优化其中一些比较)如果您确实使用一个整数参数,您仍然可以定义选项以在参数控件中显示有意义的字符串。查看编辑参数对话框。

最后,您可以考虑通过调整预处理以生成仅包含两列(用户和 Date_of_Last_Key_Action)的数据,使您的分析和可视化更加灵活。然后,您的用户只需使用 Tableau 中的内置日期筛选器控件即可根据任何时间范围进行查看,例如,如果他们愿意,可以查看过去 13.5 天。在这种情况下,您不需要参数或计算字段。

您还可以重塑数据。喜欢截图GIF