《如何實(shí)現(xiàn)報(bào)表數(shù)據(jù)的動(dòng)態(tài)層次鉆取(一)》 介紹了利用復(fù)雜 sql 實(shí)現(xiàn)動(dòng)態(tài)層次結(jié)構(gòu)的方法,但該方法依賴 Oracle 的遞歸語法,在其他類型的數(shù)據(jù)庫中難以實(shí)現(xiàn)。要想通用地實(shí)現(xiàn)此類報(bào)表,可以使用下面介紹的“集算腳本 + 本地文件”的方法。
創(chuàng)新互聯(lián)主營(yíng)虹口網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,虹口h5微信小程序開發(fā)搭建,虹口網(wǎng)站營(yíng)銷推廣歡迎虹口等地區(qū)企業(yè)咨詢《各級(jí)部門 KPI 報(bào)表》的格式和具體要求參見上一篇文章。有所不同的是,報(bào)表數(shù)據(jù)源從數(shù)據(jù)庫表變?yōu)楸镜匚募簍ree.b(樹形結(jié)構(gòu)維表)和 kpi.b(指標(biāo)事實(shí)表),數(shù)據(jù)示例如下圖:
Kpi 文件數(shù)據(jù)
說明:Tree 的葉子節(jié)點(diǎn),通過 id 字段與 kpi 表關(guān)聯(lián)。KPI 文件每個(gè) ID 每天都會(huì)新增 kpi 記錄,總數(shù)據(jù)量較大。
具體實(shí)現(xiàn)步驟如下:
第一步 編寫集算腳本 tree.dfx,完成源數(shù)據(jù)計(jì)算,輸入?yún)?shù)為當(dāng)前節(jié)點(diǎn)號(hào) id。
集算腳本如下:
A | B | C | |
---|---|---|---|
1 | =[“省”,“地市”,“區(qū)縣”,“營(yíng)業(yè)部”]|to(4,13).(“架構(gòu)”+string(~)) | =file(“D:\\files\\tree.b”).import@b() | =file(“D:\\files\\kpi.b”).cursor@b() |
2 | =B1.switch(PID,B1:ID) | =B1.select@1(ID==string(id)) | =B2.prior(PID).rvs() |
3 | =C2.new(ID,NAME,A1.m(#):title) | >xtitle=A1.m(A3.len()+1) | =B1.select(PID==B2) |
4 | =if(C3.len()>0,C3,B1.create().insert(0)) | =B1.new(ID, ~.prior( PID, B2):GID ).select( GID) | =B4.run(GID=GID.m(-1).ID ) |
5 | =C1.switch@i(ID,C4:ID) | =A5.groups(ID.GID:ID;sum(KPI1):KPI1,sum(KPI2):KPI2,sum(VIPKPI1):VIPKPI1,sum(VIPKPI1):VIPKPI2) | =B5.align(A4:ID,ID) |
6 | =C5.new(A4(#).ID:ID,A4(#).NAME:NAME,xtitle:TITLE,KPI1:KPI1,KPI2:KPI2,VIPKPI1:VIPKPI1,VIPKPI2:VIPKPI2) | return A3,A6 |
網(wǎng)站標(biāo)題:如何實(shí)現(xiàn)報(bào)表數(shù)據(jù)的動(dòng)態(tài)層次鉆?。ǘ?創(chuàng)新互聯(lián)
文章源于:http://muchs.cn/article24/cddice.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、App設(shè)計(jì)、網(wǎng)站營(yíng)銷、微信小程序、靜態(tài)網(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)
猜你還喜歡下面的內(nèi)容