跳至正文

【Tableau 20周年】奠定Tableau20年的专利基石:VizQL

标签:

本文旨在致敬Tableau20周年,重点介绍专利技术VizQL及其对敏捷自助分析带来的卓越贡献。

2003年,Tableau公司成立,并在次年发布了Tableau 1.0,此后多年,Tableau按照每1~2年发布一个大版本的节奏持续更新,直到经典的10.5版本(也是喜乐君最早使用的Tableau版本),2018年开始调整为按照年度编制版本。

在过去二十年的发展中,Tableau构建了以Tableau Server为中心的DW/BI+ai平台,形成了Desktop、Prep本地两大生产力工具和Data Management add-on、Advance Management Add-on两大在线扩展服务,并持续扩展AI方向的分析能力。

在20年的发展旅程中,最核心的技术当属公司的基石——VizQL™️,它诞生于斯坦福大学,伴随了Tableau1.0到今天的每一个版本。获得专利的Viz QL查询方式,彻底改变了数据使用的方式,将传统的“命令行”的数据交互方式,颠覆为拖拽(drag and drop)查询、可视化展现的数据交互方式。

VizQL 是Tableau全平台背后运行,包括Desktop、Server和Online。它是Tableau的专利技术,无法被Tableau用户直接查看或自定义设定。VizQL runs in all Tableau platforms: Tableau Desktop, Server, and Online. It is proprietary to the Tableau Development team and therefore cannot be viewed or customized by a Tableau user.

Tableau

在喜乐君博客中,还发布了两篇较为全面对比SQL、DAX和VizQL的文章,VizQL相当于其他两种语言的“中间路线”,灵活性不及SQL,专业性不及DAX,但面向业务的易用性则全面超越,并增加了可视化的输出。

一、VizQL™:“原生可视化,天生更快捷”

Tableau 的核心是一种专有技术,在这种技术的推动下,交互式数据可视化成为理解数据的过程中不可缺少的一环。

传统的分析工具基于行列式数据(典型代表是Excel的交叉表),分析的输出结果默认也是数据表(就像Excel的透视表),这个过程反映了查询和分析的本质:从数据表到数据表的抽取、转换和加载过程,但是却远离了业务需求。分析师不得不在确认数据准确之后,再次使用其他工具把结果表转换为需要的图表(就像我们从Excel数据透视表到数据透视图的过程)。

而 VizQL 跳过了这些繁琐步骤,直接为您的数据创建可视化表现形式,它帮助分析师极大地缩短了开发周期、提高了数据查询和转换的效率——最高可提升至 100 倍;甚至于,他帮助业务用户确认了“以终为始”的视角,适应了多变的问题场景,让越来越多的业务用户成为了分析的主力。

业务用户瞬间有了自己是数据“主人翁”的成就感。拖拽自动生成SQL Query查询语言,查询结果默认生成Visualization可视化视图——VizQL可视化查询完美地与业务分析相结合。

二、VizQL赋能Tableau实现三大技术

作为 Tableau背后最重要的专利技术,VizQL也奠定了Tableau最重要的技术特征:

  • “超强的可视化表现力”(迄今没有那个产品敢说可视化做的比Tableau更易用而高效)
  • 推动敏捷探索的“增量构建”(让连续提问、持续反馈的,Chat GPT式的可视化探索成为可能)
  • 多方案可选(Alternatives):选择更容易、假设验证更快捷

1、“超强表现力”(Expressiveness):真正的敏捷分析技术

类似于SQL,VizQL是一种查询语言, (VizQL) 一种声明式查询语言(declarative language);但相比SQL进步的是,分析师甚至可以声明可视化类型(Chart type),因此它是一种“声明式可视化查询语言”(declarative visual query language)。它不像Excel或者其他BI工具是固定的可视化模版,而是可选的、可配置的。SQL用命令文本方式与数据库交互,而VizQL用可视化方式与之交互(What SQL did for database interactions in text form, VizQLTM does for database interactions in visual form. )

借助于VizQL,业务用户只需要拖拽动作(drag-and-drop actions),Tableau即可自动把交互动作转换为查询SQL,一切都在瞬息之间,这就给好比给了平民以数据世界的“权杖”,即便对于完全不了解SQL的用户而言,也可以进入大数据世界完成数据洞察。

Viz QL有两个方面的主要任务:1)把不同位置的字段映射到SQL的不同位置;2)给予用户随时调整的权限。

比如,Tableau会把筛选转换为WHERE语句、把排序字段转换为ORDER BY语句,而把控制问题详细级别的维度及对应的聚合转换为GROUP BY,如此等等。(Like the standards, VizQL generates a WHERE clause for filters, an ORDER BY clause for sorting, a GROUP BY clause for controlling level of detail and aggregation, etc. Where VizQL expands upon this, is that it contains a syntax for clearly describing the row and column structure of a table and the resulting visual.)

在完成查询之后,更重要的是业务用户可以自由选择“如何展现数据结果”,这个过程往往是思考与展现同步的瞬间。

比如,用户可以随时调整视图的“标记”(marks)类型,比如条形图、折线、文本、方形等等;也可以借助于“智能推荐”(show me ®️,Tableau专利之一)直接选择智能图表。注意,更改可视化展现,并不影响SQL查询的逻辑;也就是说,可视化渲染展现和拖拽字段查询数据是完全独立的,Tableau实现了二者的有机结合。

时至今日,虽然全世界几乎所有的BI都或多或少地向Tableau学习、借鉴乃至“抄袭”VizQL可视化逻辑,却鲜见“青出于蓝而胜于蓝”的超越者,支撑这一逻辑背后的,可是获得图灵奖的顶尖科学家团队设计出来的卓越技术。

正如Tableau所讲,“任意一位没有查询语言基础的数据用户或业务用户,都可以借助于VizQL技术驾驭他们的数据”(Any data worker or business user without any prior knowledge of Query Languages can harness the power of their data using Tableau thanks to the VizQL process underneath!)这是我的成长写照,也是无数人的成长写照!

2、增量构建(Incremental Construction):敏捷探索的关键

从分析辅助业务决策的角度看,交互式查询和敏捷可视化分析的最大价值,不是让查询更快、更准、更高效,而是让业务用户获得解脱,聚焦于问题,并能持续提问、反复求证,最终通往高效的业务决策。因此,Tableau的设计非常彻底地贯彻了“增量构建”的理念。

假设领导在看了“2022年,不同区域的销售额与利润率”之后,他提出了一连串的问题:

  • 随时切换年度筛选器,比如选择2023年,获得2023年迄今,各区域的销售额和利润率
  • 能否增加客户数量和单客户贡献,从而评估不同区域是“规模驱动市场”,还是“价值客户驱动市场”
  • 在每个区域中,按照利润金额划分5K+大单、1K+中单、小单和亏损单四类,对比不同区域之间的交易结构
  • ……(领导:等等,让我看到上面的结果会,我再想想)

此时,难点甚至不再是查询本身,而是多个问题之间的关系——后一个问题总是在前一个问题基础上步步递进,这种“增量建构”(Incremental Construction)是考验敏捷分析工具的关键点。

Tableau在产品设计之初,就把此类需求视为研究重点,从而支撑其“we help people see and understand data”(Tableau帮助人人看到并理解数据)的使命。而创新性的Viz QL正是这一使命的核心肩负者,它可以把“数据查询”与“数据展现”有机地结合在一起,从而支持业务用户的探索分析体验(exploratory experience)。

在Tableau的白皮书(visual analysis for everyone)中,创始人团队介绍了“探索分析面向人人”的理念以及实现方式,并介绍流如下图所示的案例:伴随着问题的层层拆解、钻取,敏捷可视化分析可以即时响应呈现与问题一致的数据及其样式。用户不需要关心底层的查询逻辑,甚至不需要构建复杂的函数公式,一切都在拖拽之间,这是确保分析师“洞察力”的关键。

在简单的条形图基础上,分析师既可以分别在单一个可视化中呈现足够丰富的分析视角(即多维分析),也可以把多个单一维度的问题借助于仪表板、交互的方式组合。Tableau特别擅长第一种高级场景,而Others BI多半走向第二种方式。在喜乐君的图书、视频中,也极力推荐这样的探索分析方法,在喜乐君看来,这也是通往“多维分析”的唯一之路。

在喜乐君发布的《数据可视化分析(第2版)》新书,以及重录的《Tableau在零售分析中的高级应用——2周年纪念版》视频中,喜乐君再次讲解了特别重要的案例:基于子类别的结构化分析。在如下的一个条形图中,喜乐君增加了子类别、交易分类、订单分类、客户分类的四个问题视角。这种多维分析的方法,是业务探索中至关重要的场景,是Incremental Construction的典型场景。

3、多方案可选(Alternatives):选择更容易、假设验证更快捷

可视化的探索分析,很容易迷乱在形形色色的可视化图表之中,以至于很多BI工具以支持数百种图表为荣;相比传统的报表,这确实是一个令人烦恼的事情。

更令人烦恼的是对于“如何选择可视化图表”而言,更像是艺术而非科学,虽然喜乐君极力推荐“从问题类型到可视化类型”的思路(第二本书的副标题正是“从问题到图形的Tableau方法”),但依然难抵主流。所以,在最终看到理想的答案和图表之前,你很难知道它到底长成何种模样。就像爱人,在你热烈的爱上一个人之前,你很可能想不到自己喜欢的类型。

为了缓解这一困境,Tableau在VizQL的基础上,又创新性地推出了一个专利性设计:Show Me!®️(中文翻译“智能推荐”),在充分考虑用户的分析体验的基础上,用以扩展VizQL引擎生成的可视化图表。正如Tableau创始人团队在论文中所说,show me的用户体验包括自动选择可视化标记类型、添加单个字段到视图或者多个字段到视图的中的指令(The Show Me user experience includes the automatic selection of mark types, a command to add a single field to a view, and a pair of commands to build views for multiple fields.)下图展示了早期的show me!样例。

要知道,这篇论文写于2007年,在十年后的2017年,喜乐君初识Tableau之时,相关功能已经非常完善,又6年之后的今天,它没有发生过任何变更。它的核心逻辑一如少年之时:根据用户选择的字段类型,智能推荐相关的图形。

Show Me!(智能推荐)的功能建立在连续和离散字段类型基础上,暂不考虑日期字段的话,就有离散+离散、离散+连续、连续+连续三种构建坐标空间的方式,然后再在上述空间中加入离散或者连续,这样就有了若干默认选项,分别对应最常见的问题类型与可视化类型。如果考虑到日期是兼具离散和连续双重特征的特殊字段,那么选项就更多一些,但也不至于敏捷上百种。

  • 排序条形图:离散字段值相对于某连续度量的排序(离散字段没有默认次序,如省份)
  • 时序折线图:连续度量值相对于连续字段值的趋势(日期有默认次序)
  • 交叉表:两个离散字段构成的交叉矩阵,其他离散的字段置身其中(点图上面还可以点缀大小或颜色)
  • 分布直方图:一个连续的度量字段,在另一个连续度量值的等距区间段上的分布
  • 相关性散点图:两个连续度量值,相当于离散字段的相关性
  • 连续双轴图:两个连续度量值,相对于连续日期字段的相关性
  • 地图:两个连续字段(经纬度)构成背景层,离散字段在上面的点分布、背景填充、连线或其他

除了上述常见的问题类型与可视化图形,还有一些图形依赖特殊的空间(比如饼图相对于极坐标),或者依赖于特别的计算(比如盒须图),或者更像是无序的预设(比如不依赖于坐标轴的气泡图),所有这些都依赖于可视化空间和字段类型,构成了Tableau的独门绝技。 在《业务可视化分析:从问题到图形的Tableau方法》一书中,喜乐君就曾参考早年的Tableau文档绘制了如下的可视化图表归类图,旨在帮助大家理解图表与字段类型之间的紧密关系。

可见,VizQL和Show me两项专利技术的强强联合,构建了Tableau在可视化敏捷分析方面坚定的“护城河”,既极大地简化了可视化自助分析的难度,又为探索性分析提供了普适性的道路。这种方式特别适合于缺乏探索思维的初级用户(Lack of Exploratory Capabilities),他们可以用Viz QL生成的结果作为起点,然后借助于智能推荐和敏捷拖拽能力随时变化、变化、变化,直到找到启发自身的灵感,之后还可以按需扩展你的数据源(使用数据关系,或者数据混合),可以借助于仪表板表达更宏大的分析主题(工作表面向单一问题,仪表板面向业务主题)。

也就是说,Show Me!功能是建立在字段类型基础上的,这也是为什么Power BI以及国内诸多BI产品(哪怕号称“抄袭”了Tableau90%以上的“头部产品”)至今没有此类功能的原因。很多国产BI产品动辄就说超过Tableau,混淆两类BI的区别,并不惮以以最坏的恶意诋毁对方,毫无谦卑之心;同时却无暇顾及自身的技术功底,甚至赶不上Tableau十几年的水平,这真是天大的讽刺。如今“信创”提供了巨大的市场需求,只有坚定的技术底蕴和谦卑的学习心态,才能在这个浮躁的市场中占据长期的领地。

致敬Tableau20周年,它为我打开了全新的数据世界,希望更多人能以“Tableau之门”迈向数据世界的未来!


参考:

《【Tableau 20周年】奠定Tableau20年的专利基石:VizQL》有1个想法

  1. Pingback: Tableau纪年:BI的20年发展史 – 喜乐君

评论已关闭。