【Tableau 核心技術】每一次輕鬆拖拉就跑出各種圖表的背後功臣?

不管你目前的Tableau Journey走到哪裡,有時候當一切成自然時,是否會忽然好奇這理所當然的起點是從哪裡開始?

PGi 樺鼎商業資訊
PGi 樺鼎商業資訊
8 min readMay 1, 2018

--

本文重點:

  1. VizQL™是什麼?一種查詢結果以圖形方式呈現的Query Language
  2. VizQL™是 Tableau 獲得專利的查詢語言
  3. 認識 VizQL™後,跟自己平日操作 Tableau 有什麼關係?

這篇文章適合誰閱讀?

  1. 有分析的想法,但不會對數據庫寫query code的你。你可能常面臨的情況:分析資料來自database,當想在IT同事原本提供的分析圖表上多加一個功能 (e.g. reference line ) 或是互動 (e.g. Top N filter) ,都需要再請 IT 同事另外寫query。
  2. 本身是數據庫達人,會寫各種類型的query code,好奇 Tableau 怎麼幫自己省去很多麻煩的你。

一、所以 VizQL™是什麼?

VizQL™ 跟常見的SQL、MDX一樣都屬於Query Language。而 VizQL™的出現並非是取代SQL 和 MDX,而是在那之上加乘、強強聯手的定位。

傳統上透過 SQL 查詢出的結果會以表格方式呈現,負責做分析的人,需要再用其他工具製作成最後要看的圖表 ; 而看圖表的人,如果有不同角度的看法,就需要再重頭來過 → 依照新需求寫新的query code → 產生新的表格→ 做新的圖表→ 重新討論 = 跨部門的人力浪費、低效率、決策慢。

透過 VizQL™之手,能把我們使用者每一個 Drag and Drop的操作動作轉換成SQL或MDX數據庫查詢語言,最後再直接「用圖形來表示查詢的結果」。

還記得平常操作 Tableau Desktop 很基本的動作跟結果嗎?

拖、拉或是滑鼠點兩下,表格或圖形就出現了,接著你不自覺的繼續思考下一個問題,都差點忘了這樣的便利在過去可不是那麼的理所當然。

實際上,我們每一個拖拉動作都是在對database下query,而 VizQL™就是你電腦上的IT小幫手。

這概念可以想像為:VizQL™是你自備一個可以跟數據庫溝通的翻譯機在你的滑鼠跟數據庫之間,你不需要懂你的數據庫類型是Relational database 還是 cubes、不需要會寫SQL或MDX code,但你依舊可以跟數據自然流暢的來回互動,而且任何互動都不會修改原本的數據,唯一需要專注的反而是在我們到底想問什麼樣的問題上。

VizSQL code 轉譯為SQL code 去向數據庫請求數據的範例

這大大縮短了起點(database)跟終點(graphs)之間的距離,且起點跟終點之間可無限次數的來回、來回之間只需要幾秒的時間。(白話文:Business User 不需要再頻繁去找IT部門領號碼牌排隊解惑、IT部門也終於可以更專注在metadata、資料安全上的管理)

與傳統方法相比,這樣的分析產出速度最多可提升至100 倍。

二、VizQL™ 是 Tableau 獲得專利的查詢語言

我們常常看見很多第一次操作 Tableau 的user 總忍不住驚呼:分析為什麼可以變得這麼方便!VizQL™就是那藏在背後的秘密。

而且發出讚嘆的人確實不只你一位。

VizQL™這項對數據庫互動的技術性突破,也受到圖靈獎 Turing Award 得主、數據庫領域的傳奇人物 Jim Gray 在一篇研究摘要中,很直接肯定 VizQL™帶給人們的價值,這裡直接引述 Jim Gray說的一段話:

If you have ever been frustrated when trying to plot a useful graph from a simple spreadsheet, you would appreciate the value of a system that allows users to create stunning graphs interactively and easily from large multi-dimensional datasets.

Stolte (Tableau的開發者與創辦人), Tang, and Hanrahan (Stolte的博士生導師,Tableau 首席科學家) have done that with Polaris (VizQL™正式問世前在史丹佛大學內的研究計畫名稱), a declarative visual query language that unifies the strengths of visualization and database communities.

It allows users to visualize relationships between data using shape, size, orientation, color, and texture in all kinds of graphs, and leverages the advances in database systems to optimize performance of accesses to large datasets.

This combination lets you interactively explore the raw data or perform data analysis. It is a major improvement over how analysis is currently done.

三、跟平常操作 Tableau 有什麼關係呢?

如果你時常用很多個 Filter 層層探索你的資料,那你或許有過這樣的經驗:你預計 Tableau 會依照你拖入的動作順序一個個去執行filter,但最後出現的結果卻跟你預期的不一樣,為什麼呢?

因為既然我們在軟體上的拖拉動作都會轉化為對數據庫的query,就會有query pipeline 這件事,也就是 Tableau 有一套執行我們操作動作的順序邏輯。

要善用一個軟體,確實有必要了解其特定的運作邏輯,才能發揮最大價值。 (編按:這概念就像是你希望Google翻譯做英翻中,但英文裡又夾雜著一堆俄語,結果翻譯不出中文,卻怪Google翻譯功能很差勁)

The order of operations in Tableau, sometimes called the query pipeline, is the order in which Tableau performs various actions. (Actions are also known as operations). 參考 Tableau’s Order of Operations 說明: 英文中文

Tableau’s Order of Operations

以下舉一個因為沒有考量到 Tableau 的執行邏輯,導致結果跟預期不一樣的例子:

Top N filter with dimension filter

Tableau’s Order of Operations:Top N filter with dimension filter

以下再舉另一個例子:

Top N filter with Table Calculation

Tableau’s Order of Operations:Top N filter with Table Calculation

只要在輕鬆拖拉之際,也把Tableau’s Order of Operations 考量進去,便能幫自己 Double-check 分析的正確性 !繼續參考Tableau Public上的例子

如果您喜歡這篇分享,歡迎按下右下角的「拍手」 👏 讓我們知道~未來想看更多的話可以多拍幾下手喔👏👏👏

--

--

PGi 樺鼎商業資訊
PGi 樺鼎商業資訊

從RPA、BI 到 AI 平台,我們專注協助企業用最省力的方式,加速數據變現。From Data to Insight. Easier & Faster!歡迎造訪PGi 官網 https://www.perform-global.com