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