有助于提升仪表板性能的 6 个提示
Tableau 让人们能够轻松地查看并理解数据,Tableau 人为此而自豪。一旦开始制作,您会自然而然地想要进行更加深入的探索,因此会在简单的可视化中添加越来越多的字段、公式和计算,呈现速度也变得越来越慢。响应时间每增加两秒钟,您就可能失去一群受众,因此性能至关重要。以下一些提示可以帮助您提高仪表板性能。
注:Ryan Lempa 和 Darren McGurran 同样为本文做出了贡献。
Tableau 让人们能够轻松地查看并理解数据,Tableau 人为此而自豪。一旦开始制作,您会自然而然地想要进行更加深入的探索,因此会在简单的可视化中添加越来越多的字段、公式和计算,呈现速度也变得越来越慢。响应时间每增加两秒钟,您就可能失去一群受众,因此性能至关重要。
那么我应该从何出着手呢?
如何能够让您的仪表板更快地运行?第一步是通过生成和解释性能记录来找出问题点。性能记录器为每个 Tableau“飙车怪物”提供了一张快车道通行证。性能记录器可以在仪表板上精确定位缓慢的工作表、缓慢的查询,以及呈现时间过长的项目。它甚至可以显示查询文本,让您能够与数据库团队一起在数据库级别进行优化。
现在您已经知道哪些视图或数据连接在拖慢您的速度,以下六个提示可以帮助您提高这些仪表板的性能。我们为每个提示列出了导致性能下降的最常见原因,以及一些快速解决方案。
1.数据策略推动性能提升
数据提取通常比实时数据源快得多,非常适合原型设计。 关键是使用适合具体领域的数据切块。数据引擎的用途并不是替代数据仓库。相反,它可以起到补充作用,提高原型设计和数据探索的速度。
由于数据提取采用列式存储,因此数据集越宽,查询速度越慢。
- 根据正在执行的分析减少字段数量。使用隐藏所有未使用的字段选项从数据源中移出未使用的列。
- 减少记录数。使用数据提取筛选器让视图仅显示您需要的数据。
- 优化数据提取,通过计算的具体化、列的删除和加速视图的使用来加快今后的查询。
记住:数据提取不一定是长期解决方案。数据提取的典型范围是 5 亿到 10 亿行。“里程”各有不同。针对不断刷新的数据执行查询时,实时连接通常对于视图操作更具实用性。
有关数据提取的更多信息,请查看以下列出的其他资源:
2.减少视图中的标记(数据点)
当数据非常精细时,Tableau 必须呈现并精确放置每个元素。每个标记代表 Tableau 必须解析的一批数据。标记越多,批次越多;在图表上绘制 1,000 个点比在图表中绘制三个条形更加困难。
尝试在 Tableau 视图中查看所有行和维度时,带有大量快速筛选器的大型交叉表会导致加载时间增加。
在视图中包含过多标记(考虑为:数据点)还会降低可视化分析的价值。数据多、速度慢的手动表格扫描会导致信息过载,增加查看和理解数据的难度。
为了避免这种陷阱,您可以:
- 实行引导式分析。无需将您要展示的所有内容都放到同一个视图中。编制相关的视图并通过操作筛选器将它们关联起来,这样就可以瞬间从概览转到精细视图。
- 从详细信息功能区移除不需要的维度。
- 探索。尝试以不同类型的视图显示数据。
3.对筛选器的数量和类型进行限制
Tableau 提供了强大且易于表达的筛选功能。但低效的筛选器以及筛选器的过度使用,这通常是工作簿和仪表板性能低下的最常见原因之一。注:显示筛选器对话框时,Tableau 需要加载其成员,并且可能需要创建额外的查询;如果视图中不包含要筛选的维度,这个问题更为突出。
- 减少筛选器数量。在视图中使用过多的筛选器会导致更复杂的查询,从而延长返回结果所需的时间。仔细检查您的筛选器,删除所有不必要的筛选器。
- 使用“包括”筛选器。“排除”筛选器会加载维度的完整域,而“包括”筛选器不会。“包括”筛选器的运行速度远远快于“排除”筛选器,特别是对于包含多个成员的维度。
- 使用连续日期筛选器。连续日期筛选器(相对和日期范围筛选器)可以利用数据库中的索引属性,因此比离散日期筛选器更快。
- 使用布尔或数字筛选器。计算机处理整数和布尔值 (t/f) 的速度比处理字符串快很多。
- 使用参数和操作筛选器。它们可以减少查询负载(并可跨数据源操作)。
4.对您的计算进行优化和具体化
- 在数据库中执行计算。应尽可能(特别是对于生产视图)在数据库中执行计算,以减少 Tableau 开销。对于 Tableau 中的计算字段,聚合计算非常有用。如果可以,请在数据库中执行行级计算。
- 减少嵌套计算的数量。就像俄罗斯套娃一样,每增加一层嵌套,解包然后构建计算的过程就会花费更长的时间。
- 减少视图中 LOD 或表计算的粒度。计算越精细,花费的时间越长。
- LOD - 查看计算中唯一维度成员的数量。
- 表计算 - 视图中的标记越多,计算所需的时间就越长。
- 尽可能使用 MIN 或 MAX 代替 AVG。AVG 需要的处理比 MIN 和 MAX 更多。通常,行会复制,并在 MIN、MAX 和 AVG 计算中显示相同的结果。
- 使用计算生成组。像“包括”筛选器一样,计算生成的组仅加载域的命名成员,而 Tableau 的组函数会加载整个域。
- 使用布尔值或数字计算替代字符串计算。计算机处理整数和布尔值 (t/f) 的速度比处理字符串快很多。布尔值>整数>浮点数>日期>日期时间>字符串
5.利用 Tableau 的查询优化
- 使用低粒度维度进行混合。混合中的成员越多,花费的时间越长。混合操作会将数据聚合到关系级别。混合的用途并不是替换行级联接。
-
减少联接的表。大量联接会花费大量时间。如果您发现自己正在创建包含多个联接表的数据连接,您或许可以通过在数据库中进行视图具体化来提高速度。
- 如果数据库的配置包含假设存在引用完整性,请使用该选项。
- 移除自定义 SQL。当数据连接不使用自定义 SQL 时,Tableau 可以利用数据库优化功能。
6.清理您的工作簿!
- 缩小仪表板范围。在仪表板上包含过多的工作表可能会影响性能。
- 删除或合并未使用的工作表和数据源。整洁的工作簿令人心情舒畅。
如需详细了解上述及许多其它层面,请查看关于设计有效工作簿的白皮书。
相关故事
Subscribe to our blog
在您的收件箱中获取最新的 Tableau 更新。