矩表 - 現代資料分析中必不可少的報表工具

77rou發表於2017-07-04

報表,從來都是商業領域的主角,而隨著商業智慧(BI),大資料時代的到來,報表更加成為了業務系統的核心組成。因此傳統的格式已經無法滿足新的需求,終端使用者期望在一張報表中看到更多的彙總、分類資訊,而往往這些彙總和分類資訊是不固定的,比如下面這張報表

類似上圖中的複雜表頭和分類彙總,用傳統的報表已經無法完成。矩表(Table+ Matrix)就是專為此類報表需求而產生的強大工具,無論你是文件類報表,Excel 類報表,中國式複雜報表,不限制行數和列數的報表...都會迎刃而解!

什麼是矩表(Tablix)

葡萄城報表中的矩表是資料彙總統計的資料控制元件。矩表由矩陣(Matrix)控制元件演化而來,矩陣可將儲存的原始Detail 資料,通過【行分組】(即垂直顯示欄位值)和【列分組】(即水平顯示欄位值),將資料二維的展示出來,然後計算每一行或列的合計;也可以將欄位值作為行號或列標,在每個行列交匯處計算出各自的數量,然後計算小計和總計。如下圖

傳統矩陣的缺點:

  • 行分組單層次,無法支援多層級資料分析

矩陣只能將資料通過簡單的二維表展示,以及簡單的求和彙總統計,但對於多層級的行分組卻無法滿足要求,如在垂直展示銷售資料時, 我們需要先按區域彙總,區域再對應各省份的詳細資料,那麼這樣就能夠更能有助於我們分析業務資料,提高精確性,而矩陣只能建立單層級資料展示,無法進行資料分層展示;

  • 列分組上面,無法進行誇行單元格合併;

在列上面通常對應複雜表頭,如跨行合併,矩陣有很大的侷限性。

  • 合計功能單一

矩陣的合計僅支援自動生成的Sum()表示式,不支援編輯統計列。而客戶的需求合計方式根據業務的不同,不在只有單一的合計功能,像常用的佔比,環比等複雜運算。

矩表打破了矩陣的侷限,無論是水平方向還是垂直方向展示欄位資料,都支援多層級的分組巢狀,且能夠自動合併相同內容項;支援複雜的表頭合併,固定列和分組列的統一展示; 對於合計功能也更加靈活,不僅支援總計,而且支援分組內小計,合計的表示式可以根據自身需求來定製。

矩表是將儲存的原始資料,通過內部的動態行列組織結構,將資料以分析彙總的方式呈現的資料控制元件。使用矩表,通過拖拽操作,不需要關心背後的實現邏輯,就能夠按照您需要的方式來展示資料。

矩表可建立常用的列表類報表,行列轉置報表, 履歷表,複雜表頭報表。不僅根據資料量可自動生成行列,而且可進行復雜的單元格合併,無論是簡單的清單列表還是高階的矩陣資料,矩表都能夠通過它強大的組織結構,拖拽實現。矩表可以將儲存在資料庫中的靜態二維表(只有列頭有含義的表資料),轉換成具有彙總和統計的資料透視表,且這些資料均是根據表結構自動生成的,不需要手動新增每行每列。大大節省了我們大大提升了建立資料分析報表的效率。可謂任何複雜結構的,無規律可尋的報表結構,都可使用矩表控制元件來實現結構。

矩表特點 

  • 強大的動態行列生成

以建立銷售業績報表,會以月份來彙報銷售資料,而且需要自己手動合計當月所有的銷售額,有了矩表控制元件後,我們只需要將月份指定到單元格,矩表會自動協助我們生成所有月份的列,並自動合計當月的銷售額,同樣在縱向展示銷售類目時,也不需要手動新增多行類目,只需要指定類目到單元格,矩表會自動生成所有類目行。

  • 任意行的單元格合併

在很多企事業單位,報表的複雜度可以說讓人目瞪口呆,其中表頭最為經典,常常表頭由多行組成,且單元格合併忽上忽下。矩表則因為其組織結構的強大,可幫助我們輕輕鬆鬆實現跨多級行列的單元格合併。

 

  • 定製化的合計功能

在大資料分析過程中,對於資料分析,再也不是簡單的求和,最大值,最小值,平均值這些簡單的合計功能了,我們需要根據業務規定,對於滿足條件的資料進行統計,求佔比,同期佔比等,矩表支援定製化的合計功能,不僅支援通用的合計公式,還可以根據自身需求定製表示式或編寫函式。

 

  • 資料預警和視覺化展示單後設資料

矩表不僅可以顯示基礎資料,也可以通過資料預警或視覺化工具來展示單元格資料。

  • 精巧的細緻的功能點

矩表是非常專業的資料展示工具,因而細化了使用者的需求,如行標題和列標題不僅可在每頁重複顯示,而且還可固定行頭列頭,當大資料量需要滾屏檢視時,有了固定行頭和列頭的體驗更加易於客戶查詢資料。

為什麼要使用矩表?

要做大資料的統計分析,您需要矩表。

資料量過多需要實現自動歸類,您需要矩表,矩表提供的動態分組功能,自動幫您合併相同內容項,進行合計。

需要製作中國特色的報表,您需要矩表,解決報表結構複雜的問題。

例項 - 使用矩表建立【產品銷售資料分析表】

在設計器中新增 矩表

將訂購月指定到【行分組】單元格中,將【類別名稱】指定到列分組單元格中,在最下方單元格中指定合計方法:

=Sum(Sum(Fields!數量.Value *Fields!單價.Value * (1-Fields!折扣.Value))) 修改為:=Sum(Fields!數量.Value *Fields!單價.Value * (1-Fields!折扣.Value))

 

最終效果

轉載請註明出自:葡萄城控制元件

 

相關閱讀:

【報表福利大放送】100餘套報表模板免費下載

開放才能進步!Angular和Wijmo一起走過的日子

2017年前端框架、類庫、工具大比拼

Angular vs React 最全面深入對比

 

相關文章