有助于提升仪表板性能的 6 个提示

注:Ryan Lempa 和 Darren McGurran 同样为本文做出了贡献。

Tableau 让人们能够轻松地查看并理解数据,Tableau 人为此而自豪。一旦开始制作,您会自然而然地想要进行更加深入的探索,因此会在简单的可视化中添加越来越多的字段、公式和计算,呈现速度也变得越来越慢。响应时间每增加两秒钟,您就可能失去一群受众,因此性能至关重要。

那么我应该从何出着手呢?

如何能够让您的仪表板更快地运行?第一步是通过生成和解释性能记录来找出问题点。性能记录器为每个 Tableau“飙车怪物”提供了一张快车道通行证。性能记录器可以在仪表板上精确定位缓慢的工作表、缓慢的查询,以及呈现时间过长的项目。它甚至可以显示查询文本,让您能够与数据库团队一起在数据库级别进行优化。

现在您已经知道哪些视图或数据连接在拖慢您的速度,以下六个提示可以帮助您提高这些仪表板的性能。我们为每个提示列出了导致性能下降的最常见原因,以及一些快速解决方案。

1.数据策略推动性能提升

数据提取通常比实时数据源快得多,非常适合原型设计。 关键是使用适合具体领域的数据切块。数据引擎的用途并不是替代数据仓库。相反,它可以起到补充作用,提高原型设计和数据探索的速度。

由于数据提取采用列式存储,因此数据集越宽,查询速度越慢。

  • 根据正在执行的分析减少字段数量。使用隐藏所有未使用的字段选项从数据源中移出未使用的列。
  • 减少记录数。使用数据提取筛选器让视图仅显示您需要的数据。
  • 优化数据提取,通过计算的具体化、列的删除和加速视图的使用来加快今后的查询。

记住:数据提取不一定是长期解决方案。数据提取的典型范围是 5 亿到 10 亿行。“里程”各有不同。针对不断刷新的数据执行查询时,实时连接通常对于视图操作更具实用性。

有关数据提取的更多信息,请查看以下列出的其他资源:

视频:使用和刷新数据提取
数据提取在线帮助
了解 Tableau 数据提取(包含三个部分的系列)

2.减少视图中的标记(数据点)

当数据非常精细时,Tableau 必须呈现并精确放置每个元素。每个标记代表 Tableau 必须解析的一批数据。标记越多,批次越多;在图表上绘制 1,000 个点比在图表中绘制三个条形更加困难。

尝试在 Tableau 视图中查看所有行和维度时,带有大量快速筛选器的大型交叉表会导致加载时间增加。

在视图中包含过多标记(考虑为:数据点)还会降低可视化分析的价值。数据多、速度慢的手动表格扫描会导致信息过载,增加查看和理解数据的难度。

为了避免这种陷阱,您可以:

  • 实行引导式分析。无需将您要展示的所有内容都放到同一个视图中。编制相关的视图并通过操作筛选器将它们关联起来,这样就可以瞬间从概览转到精细视图。
  • 从详细信息功能区移除不需要的维度
  • 探索。尝试以不同类型的视图显示数据。

3.对筛选器的数量和类型进行限制

Tableau 提供了强大且易于表达的筛选功能。但低效的筛选器以及筛选器的过度使用,这通常是工作簿和仪表板性能低下的最常见原因之一。注:显示筛选器对话框时,Tableau 需要加载其成员,并且可能需要创建额外的查询;如果视图中不包含要筛选的维度,这个问题更为突出。

  • 减少筛选器数量。在视图中使用过多的筛选器会导致更复杂的查询,从而延长返回结果所需的时间。仔细检查您的筛选器,删除所有不必要的筛选器。
  • 使用“包括”筛选器。“排除”筛选器会加载维度的完整域,而“包括”筛选器不会。“包括”筛选器的运行速度远远快于“排除”筛选器,特别是对于包含多个成员的维度。
  • 使用连续日期筛选器。连续日期筛选器(相对和日期范围筛选器)可以利用数据库中的索引属性,因此比离散日期筛选器更快。
  • 使用布尔或数字筛选器。计算机处理整数和布尔值 (t/f) 的速度比处理字符串快很多。
  • 使用参数操作筛选器。它们可以减少查询负载(并可跨数据源操作)。

4.对您的计算进行优化和具体化

  • 在数据库中执行计算。应尽可能(特别是对于生产视图)在数据库中执行计算,以减少 Tableau 开销。对于 Tableau 中的计算字段,聚合计算非常有用。如果可以,请在数据库中执行行级计算。
  • 减少嵌套计算的数量。就像俄罗斯套娃一样,每增加一层嵌套,解包然后构建计算的过程就会花费更长的时间。
  • 减少视图中 LOD 或表计算的粒度。计算越精细,花费的时间越长。
    • LOD - 查看计算中唯一维度成员的数量。
    • 表计算 - 视图中的标记越多,计算所需的时间就越长。

5.利用 Tableau 的查询优化

  • 使用低粒度维度进行混合。混合中的成员越多,花费的时间越长。混合操作会将数据聚合到关系级别。混合的用途并不是替换行级联接。
  • 减少联接的表。大量联接会花费大量时间。如果您发现自己正在创建包含多个联接表的数据连接,您或许可以通过在数据库中进行视图具体化来提高速度。
  • 移除自定义 SQL。当数据连接不使用自定义 SQL 时,Tableau 可以利用数据库优化功能。

6.清理您的工作簿!

  • 缩小仪表板范围。在仪表板上包含过多的工作表可能会影响性能。
  • 删除或合并未使用的工作表和数据源。整洁的工作簿令人心情舒畅。

如需详细了解上述及许多其它层面,请查看关于设计有效工作簿的白皮书

订阅我们的博客