您好,登錄后才能下訂單哦!
在通過sql語句做多維分析時,數據庫中通常存儲的是英文的表名和字段,這樣業務人員無法理解其含義,更多的需要對其進行中英文的轉換,也就是如下所說的語義功能。
這個分析數據集來自回款單,由回款單 ID,回款日期,金額,銷售 ID 四個字段組成。
對應的 sql 為:select 回款單 ID, 回款日期, 金額, 銷售 ID from 回款單
下圖左邊的報表就是按照銷售 ID 這個維度分組,對回款金額進行匯總分析的結果:
多維分析就是這么簡單,寫一條 sql 語句,拖拖拽拽就出爐了。像上面這個例子,如果列名是英文的,需要顯示中文名,可以修改 sql 語句,通過 as 給每個字段取別名;如果分析結果顯示的是銷售 ID,希望顯示銷售名字,可以修改一下 sql,回款表 left join 雇員表就能解決!相信看過了 《給一句 SQL 就能做多維分析》 ,對這些小技巧一定都記憶猶新。
但是,這樣就完美了嗎?你的多維分析就止步這里了嗎?當然不能,我來幫你分析一下:
1,as 確實能解決列名親民顯示的目的,但如果數據庫里的字段全是英文的呢?這是有可能的,而且是大大可能的,那每個 sql,就需要你吭哧吭哧挨個寫 as,是不是不太爽?而且同一個列名,在不同的 sql 里可能會取不同的別名,感覺是不是亂糟糟的?
2,通過 left join 跟代碼表關聯,就可以不通過 ID,直接通過名稱分組匯總,但試想一下,如果名字有同名的,如何分開統計呢?再想想,和代碼表關聯,總要知道兩表之間的親戚關系吧,這對前端分析人員要求是不是過分了點?
所以啊,如果只是簡單的,個別的數據庫數據分析,寫個 sql 能搞定也就作罷了,但現實往往給我們提出了更高的要求,那如何迎戰呢?這就是我們今天要給大家隆重介紹的多維分析中的元數據和字典,簡單來說,就是基于預先定義好的語義層來進行多維分析,前端分析人員不需要了解,只管拖就行。我們先來體驗一把:
還是從回款單里取數:
分析數據集直接顯示別名“銷售”,而不是“銷售 ID”,查詢語句并未因此而變復雜!
繼續往下看,如何將分析結果中的銷售 ID 顯示為銷售名稱?
銷售列點【顯示值】菜單,選擇銷售的代碼表
銷售 ID 秒變成大名:
如果只想看部分銷售的回款情況呢?銷售列點【數據過濾】菜單,設置過濾條件:
下拉菜單直接顯示銷售名字,而不是 ID, 過濾結果如下:
大家是不是發現,整個過程,都沒有修改查詢語句,而且我們分析的數據集里也沒有出現銷售姓名列,這就是預定義語義層的功勞,這樣是不是讓前端分析人員輕便了不少?下面我們就來介紹一下如何讓前端分析人員用上多維分析的語義層:
第一步:打開元數據層設計器,系統菜單下選擇【數據源】,配置好數據源并連接,連接之前,當然要保證所連接數據源已啟動哦。
演示數據用的是潤乾自帶的 dqldemo 數據庫,所以該數據庫不用配置,通過【服務 - 啟動示例數據庫】菜單啟動數據庫后,在上圖所示對話框中直接連接就 OK 了。
第二步:創建元數據文件
文件菜單欄下選擇【新建】,選擇元數據:
系統菜單下選擇【導入數據庫表】,選中需要的物理表,導入表結構:
給導入的表設置主鍵,給字段設置別名,這樣就可以直接用別名寫查詢語句,而不用重復用 as 了:
給維字段設置更直觀的維名,這樣頁面顯示值下拉列表顯示會更友好:
制作好的元數據文件保存為后綴為 lmd 的文件。
第三步,定義字典文件
打開前一步做好的元數據文件,系統菜單下選擇【生成字典】,一個字典文件就自動生成了。
在字典文件里設置雇員的顯示列字段,銷售名字就可以用于分析結果和過濾條件的下拉顯示:
制作好的字典文件保存為后綴為 dct 的文件。
到此,語義層定義就做完了,下面就是如何把語義文件部署到我們的應用中,能在頁面上玩轉起來!如果你還沒有自己的應用,那可以直接在潤乾報表內置的 demo 應用里直接發布,過程很簡單,一起了解一下:
第一步,啟動 DQL 服務
因為有了元數據文件,所以需要有 DQLServer 服務器來進行語義的解析,點擊【** 服務 - 啟動 DQL 服務】** 菜單,在隨后彈出的 DQL 服務器控制臺中啟動 DQL 服務即可:
當然,如果你用的是你自己的數據庫,此刻數據庫保持啟動狀態是必須的哈!
細心的讀者可能已經發現,DQL 這個詞在界面中出現過多次,它到底是什么東西嗎?嗯,現在先不去管它,用起來再說,以后我們還會有專門文章來講到底什么是 DQL,以及為什么會出現它。
第二步,發布
通過【服務 - 發布并瀏覽 DQL 分組分析】菜單打開發布對話框,選擇前面制作好的元數據文件和字典文件:
點擊【發布】按鈕,后臺程序會自動啟動內置的 tomcat 服務,并打開分組分析頁面:
點擊數據集,編輯一條最簡單的查詢語句,正如我們開篇所演示的,就可以開始語義多維分析的美妙之旅啦!
是不是感覺內置環境的發布相當簡單?但如果有了自己的應用,元數據文件和字典文件的部署還是需要進一步深入學習,并根據需求靈活處理的,有興趣深挖的,可以按以下路線去探探——
元數據文件需要部署到 DQLServer 服務器,如果您希望部署獨立的 DQLServer,可以到《分析教程》中查看關于 DQL 服務器部署集成的專題;
字典文件是部署到 web 應用目錄下,并在發布分析控件的頁面里通過 JS API 去靈活設置,關于這部分的介紹,可以到《分析教程》JS API 相關主題中查看。
關于有語義的多維分析,今天我們就先嘮五毛錢的,有木有覺得,雖然語義層需要預先定義,還需要部署服務,但卻是一勞永逸的,管理井然有序,前端分析靈活方便。其實語義還能幫您做更多,要不要這么夸張?不信就趕緊下載親自用用啰!
詳情查看:
http://c.raqsoft.com.cn/article/1535687623119?r=gxy
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。