數(shù)據(jù)統(tǒng)計(jì)是每個(gè)系統(tǒng)中必備的功能,在給領(lǐng)導(dǎo)匯報(bào)統(tǒng)計(jì)數(shù)據(jù),工作中需要的進(jìn)展數(shù)據(jù)時(shí)非常有用。
在我看來(lái),一個(gè)統(tǒng)計(jì)的模塊應(yīng)該實(shí)現(xiàn)以下功能:
能夠?qū)⒊S玫牟樵兊慕y(tǒng)計(jì)結(jié)果顯示出來(lái);
顯示的結(jié)果可以是表格形式,也可以是圖形形式,如果是圖形的話能夠以多種形式顯示(柱狀圖、折線圖、餅圖、雷達(dá)圖、堆疊柱狀圖等):
統(tǒng)計(jì)查詢的結(jié)果,點(diǎn)擊數(shù)字或者百分比能夠顯示詳細(xì)的數(shù)據(jù);
能夠自由組合查詢條件、篩選條件、分組條件、排序等;
統(tǒng)計(jì)結(jié)果最好有個(gè)實(shí)時(shí)預(yù)覽;
查詢統(tǒng)計(jì)能夠保存,以便下次能直接調(diào)用并顯示統(tǒng)計(jì)查詢的結(jié)果;
對(duì)于保存后的查詢統(tǒng)計(jì),下次調(diào)用時(shí)也可以按照靈活的篩選手段對(duì)查詢結(jié)果進(jìn)行篩選;
界面需要做的簡(jiǎn)潔、直觀,就算是不太懂電腦的操作員也能夠方便使用;
對(duì)于一些復(fù)雜的查詢,能夠直接在后臺(tái)寫Sql或者調(diào)用Sp出數(shù)據(jù)
......
好了,以下是在實(shí)際環(huán)境中的實(shí)現(xiàn)和應(yīng)用:
這是一個(gè)學(xué)生的就業(yè)系統(tǒng),學(xué)生在不同的時(shí)期會(huì)對(duì)自己畢業(yè)去向進(jìn)行登記,因此按照不同時(shí)間截點(diǎn)統(tǒng)計(jì)出來(lái)的數(shù)據(jù)是不一樣的。數(shù)據(jù)表有100多個(gè)字段(并不是所有字段都需要統(tǒng)計(jì))。
首先,我們?cè)跀?shù)據(jù)庫(kù)中構(gòu)建一個(gè)表值函數(shù),能夠按照不同的時(shí)間截點(diǎn)返回出數(shù)據(jù),表也起到視圖的作用,將參數(shù)表的值直接包含到返回結(jié)果中去。
View Code
這樣我們使用 select * from [get...]('2016-8-25') 就可以查詢出8月25日截止日期的數(shù)據(jù)。
接下來(lái)是界面設(shè)計(jì),我們使用jequery-ui中dropa