您好,登錄后才能下訂單哦!
今天給大家介紹一下大數(shù)據(jù)中自助查詢的解決方案是什么。文章的內(nèi)容小編覺(jué)得不錯(cuò),現(xiàn)在給大家分享一下,覺(jué)得有需要的朋友可以了解一下,希望對(duì)大家有所幫助,下面跟著小編的思路一起來(lái)閱讀吧。
如果你曾經(jīng)出國(guó)旅游,尤其是去歐洲自由行,有沒(méi)有在餐館點(diǎn)菜的慘痛經(jīng)歷?(當(dāng)然金拱門、K 記不算……),面對(duì)菜單上一個(gè)個(gè)似是而非的單詞,有沒(méi)有憂桑? 有沒(méi)有惆悵?有沒(méi)有很……呃,饑餓?
同樣,在做前端業(yè)務(wù)查詢時(shí),如果你不清楚 SQL 這種“點(diǎn)菜”的語(yǔ)言,那么怎么去找那些字段、設(shè)那些條件?是不是也有同樣的憂桑、惆悵……和饑餓感?
不過(guò),現(xiàn)在不一樣了,因?yàn)槲覀冇辛?V2018 查詢控件!TA 就像自助餐廳里琳瑯滿目的鍋碗瓢盆,把深藏在數(shù)據(jù)庫(kù)(后廚?)里的數(shù)據(jù)清清楚楚地呈現(xiàn)在你面前,任由你挑選組合,隨時(shí)隨地可以飽餐一頓數(shù)據(jù)的饕餮大宴!
且看結(jié)構(gòu)如下圖的訂單數(shù)據(jù)。
我們來(lái)看看怎么利用潤(rùn)乾報(bào)表 V2018 的查詢控件從訂單數(shù)據(jù)中查詢到雇員 ID 為 3 的銷售人員所做的所有訂單信息吧:
我可以很自豪的告訴你,上面的查詢結(jié)果完全不需要寫(xiě)任何 SQL 語(yǔ)句,只是通過(guò)拖拽字段就能查詢到想要的數(shù)據(jù),并且支持多種數(shù)據(jù)庫(kù),支持外部存儲(chǔ)的數(shù)據(jù),這像不像自助取餐,而且多種口味,甚至可以自帶酒水?!最重要的是,查詢控件還能做到哪里需要嵌入哪里,簡(jiǎn)直就是把自助餐廳開(kāi)到了自己的家里、單位里一樣!
為了做到這一點(diǎn),使業(yè)務(wù)人員能夠輕而易舉地從數(shù)據(jù)庫(kù)查詢數(shù)據(jù),我們可是耗盡了洪荒之力呢,還不來(lái)快快為我們打 call?
下面我們就來(lái)詳細(xì)介紹一下如何使用潤(rùn)乾報(bào)表 V2018 查詢控件,以及如何將潤(rùn)乾報(bào)表 V2018 查詢控件集成到自己的系統(tǒng)中。
為了方便開(kāi)發(fā)者使用,潤(rùn)乾報(bào)表利用 tag 標(biāo)簽對(duì)一些特定功能進(jìn)行了封裝。
下面的例子中,我們?cè)跐?rùn)乾報(bào)表 demo 應(yīng)用下的 reportJsp 目錄中新建一個(gè) JSP 文件:test.jsp,添加 tag 標(biāo)簽發(fā)布訪問(wèn),jsp 內(nèi)容如下:
<%@ page contentType="text/html;charset=UTF-8" %> <%@ taglib uri=”/WEB-INF/raqsoftQuery.tld” prefix=”raqsoft” %> <title>My Test Jsp</title> <raqsoft:detailQuery qyx="" dataSource="DataLogic" dictionary="" visibility="" ></raqsoft:detailQuery> <script> guideConf.analysePage = "raqsoft/guide/jsp/analyse.jsp";//分析界面,用來(lái)顯示分析查詢結(jié)果 </script>
簡(jiǎn)單說(shuō)明一下,在這個(gè) jsp 中用 <prefix:detailQuery> 標(biāo)簽來(lái)展示,其中:
qyx 用來(lái)設(shè)置需要缺省展示的 qyx 文件名 (查詢控件的拖拽結(jié)果可以保存為文件,文件擴(kuò)展名為 qyx)。
dataSource 定義數(shù)據(jù)源名稱。
dictionary 定義字典文件 ( 字典文件在 《當(dāng)多維分析碰到預(yù)定義語(yǔ)義》已經(jīng)提過(guò),這里就不多說(shuō)了 )。
visibility 定義可視文件 (可視文件會(huì)在之后的文章中講,這里先不解釋)。
注:qyx 和 dataSource 屬性名必須都有,且其中至少一個(gè)不為空,當(dāng) qyx 存在時(shí),dataSource 設(shè)置將被忽略。
我們將 test.jsp 文件保存在【安裝目錄】/report/web/webapps/demo/reportJsp 下。
使用查詢控件,需要用到 《當(dāng)多維分析碰到預(yù)定義語(yǔ)義》中講到的語(yǔ)義層。
打開(kāi) DQL 元數(shù)據(jù)層設(shè)計(jì)器,在系統(tǒng)菜單下選擇【數(shù)據(jù)源】,配置好數(shù)據(jù)源并連接,連接之前需保證所連接數(shù)據(jù)庫(kù)已啟動(dòng)。例子中的演示數(shù)據(jù)來(lái)自潤(rùn)乾自帶的 dqldemo 數(shù)據(jù)庫(kù),所以該數(shù)據(jù)庫(kù)不用配置。
通過(guò)【服務(wù) - 啟動(dòng)示例數(shù)據(jù)庫(kù)】菜單啟動(dòng)數(shù)據(jù)庫(kù)后,在數(shù)據(jù)源對(duì)話框中連接 dqldemo 數(shù)據(jù)源。使用“導(dǎo)入數(shù)據(jù)庫(kù)表”功能將訂單明細(xì),雇員,客戶和訂單等數(shù)據(jù)庫(kù)表導(dǎo)入到新建的元數(shù)據(jù)文件中,( 元數(shù)據(jù)文件在 《當(dāng)多維分析碰到預(yù)定義語(yǔ)義》已經(jīng)提過(guò),這里就不多說(shuō)了 ),并保存為訂單.lmd,內(nèi)容如下:
將【安裝目錄】/report/services/datalogic/service.xm 中的修改為,并把訂單.lmd 放到【安裝目錄】/report/services/datalogic/conf 目錄下。最后啟動(dòng) DQL 服務(wù)器和 Tomcat。
·訪問(wèn)示例 jsp,展現(xiàn)查詢控件
打開(kāi)瀏覽器,輸入 url: http://localhost:6868/demo/reportJsp/test.jsp,由此我們逐漸揭開(kāi)了查詢控件的面紗……
如上圖所示,左側(cè)為指標(biāo)列表,右側(cè)為指標(biāo)查詢區(qū)。
·拖拽表字段
查詢時(shí)只需要把指標(biāo)列表中需要查詢的字段拖拽到指標(biāo)查詢區(qū)。例如這里拖拽左側(cè)指標(biāo)列表中的“訂單 ID”、“雇員 ID”和“訂單金額”到右邊指標(biāo)查詢區(qū),指標(biāo)列表區(qū)會(huì)自動(dòng)列出相關(guān)表。
咳咳,如果需要查詢整張表的數(shù)據(jù),不會(huì)要把所有字段挨個(gè)拖拽過(guò)去吧,當(dāng)然不會(huì)啦,get 一個(gè)小技巧,只需要拖拽表名就可以噢,不信你可以試試。
·數(shù)據(jù)過(guò)濾
如果要查詢雇員 ID 是 3 的銷售人員所做的所有訂單信息,可以點(diǎn)擊“雇員 ID”那行的條件列中的“過(guò)濾條件”
輸入過(guò)濾條件:3
點(diǎn)擊保存按鈕。
·查詢數(shù)據(jù)
點(diǎn)擊查詢數(shù)據(jù)按鈕,跳轉(zhuǎn)到 DQL 查詢結(jié)果頁(yè)面,報(bào)表中顯示的數(shù)據(jù)就是過(guò)濾后的數(shù)據(jù)啦。
如果你還想對(duì)訂單金額進(jìn)行過(guò)濾查詢,只需要對(duì)訂單金額添加過(guò)濾條件,例如:查詢金額大于 10000 的訂單情況:
結(jié)果就變成了:
怎么樣,通過(guò)上面的步驟,是不是很輕松的就完成了查詢?全程不涉及任何手動(dòng)編寫(xiě) SQL 語(yǔ)句,并且操作靈活、樣式美觀,數(shù)據(jù)也一目了然。是不是頓時(shí)覺(jué)得清涼一夏了?
接下來(lái),我們還可以把查詢得到的數(shù)據(jù)以 TXT,CSV,Excel,Word,TXT,PDF 等文件的形式保存到本地,當(dāng)然也可以使用 pdf 直接打印。
·分析數(shù)據(jù)
除了查詢數(shù)據(jù)之外,我們還可以對(duì)查詢結(jié)果進(jìn)行靈活分析。點(diǎn)擊分析數(shù)據(jù)按鈕,跳轉(zhuǎn)到 DQL 分組分析頁(yè)面,此時(shí)得到一個(gè)數(shù)據(jù)集,其中存放著過(guò)濾后的數(shù)據(jù),并在報(bào)表中顯示。通過(guò)在數(shù)據(jù)分析控件中設(shè)定不同的條件,我們就可以對(duì)數(shù)據(jù)盡情分析了。
這個(gè)頁(yè)面仍然支持把查詢的數(shù)據(jù)以 TXT,CSV,Excel,Word,TXT,PDF 文件的形式保存到本地,或者通過(guò) pdf 直接打印。
不過(guò)這里需要注意的是,如果查詢分析結(jié)果數(shù)據(jù)量很大,報(bào)表中的數(shù)據(jù)可能會(huì)顯示不全,只能截取一部分?jǐn)?shù)據(jù),并且會(huì)出現(xiàn)展示比較慢,消耗內(nèi)存特別大等情況,甚至造成應(yīng)用崩潰。如果出現(xiàn)此種情況,莫急莫慌,解決辦法我們已想好了,看一下 《給一句 SQL 就能做多維分析》吧。
看到這里,你是不是有點(diǎn)躍躍欲試了,不要著急,接下來(lái)讓我們關(guān)注一下面子問(wèn)題,嘻嘻,也就是查詢界面的樣式啦。
使用 Tag 標(biāo)簽屬性只能控制一些初始的指標(biāo)數(shù)據(jù)的顯示,如果要對(duì)查詢界面的樣式做修改,那么就需要通過(guò)潤(rùn)乾報(bào)表提供的 JS API 來(lái)實(shí)現(xiàn)了。js 代碼的位置在 jsp 的尾部。
如果想要只對(duì)一個(gè)表做查詢,不列出其它表該怎么做呢?難道要重新制作元數(shù)據(jù)文件么?No! never!。只需要一行 Javascript 代碼:
guideConf.fixedTable = "訂單";//只顯示訂單表
添加 Tag 標(biāo)簽后會(huì)顯示默認(rèn)的菜單欄,如果覺(jué)得菜單欄不夠美觀,可以使用下面這行代碼隱藏菜單欄:
guideConf.showToolBar = "no";//不顯示工具條
菜單欄隱藏之后就可以自定義按鈕啦,為了方便使用自定義按鈕,我們特意提供了 JS 方法供用戶在按鈕中直接調(diào)用:
保存:queryApi.saveQyx(); 打開(kāi):queryApi.openQyx(); 撤銷:queryApi.undo(); 重做:queryApi.redo(); 查詢:queryApi.submitQuery();
示例代碼:
<a href="javascript:queryApi.openQyx();">自定義打開(kāi)按鈕</a>
不僅如此,在查詢界面初始化之后我們還可以修改編輯風(fēng)格。
示例代碼:
$(document).ready(**function**(){ queryApi.setEditStyleDef({name:'_date',type:3,dateFormat:'yy/mm/dd'}); });
修改后的效果么,你就自己試一試吧。
以上就是大數(shù)據(jù)中自助查詢的解決方案是什么的全部?jī)?nèi)容了,更多與大數(shù)據(jù)中自助查詢的解決方案是什么相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進(jìn)行學(xué)習(xí)哈!相信小編會(huì)給大家增添更多知識(shí),希望大家能夠支持一下億速云!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。