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