數(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)用:
這是一個學(xué)生的就業(yè)系統(tǒng),學(xué)生在不同的時期會對自己畢業(yè)去向進行登記,因此按照不同時間截點統(tǒng)計出來的數(shù)據(jù)是不一樣的。數(shù)據(jù)表有100多個字段(并不是所有字段都需要統(tǒng)計)。

首先,我們在數(shù)據(jù)庫中構(gòu)建一個表值函數(shù),能夠按照不同的時間截點返回出數(shù)據(jù),表也起到視圖的作用,將參數(shù)表的值直接包含到返回結(jié)果中去。

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn) View Code

這樣我們使用 select * from [get...]('2016-8-25') 就可以查詢出8月25日截止日期的數(shù)據(jù)。

接下來是界面設(shè)計,我們使用jequery-ui中dropable\dragable的控件,字段排列在界面上,直接拖拽到相應(yīng)域里,就能夠進行統(tǒng)計。

除了分組字段外,顯示字段還能夠按照具體的值進行統(tǒng)計過濾,起到多重分組統(tǒng)計的功能。

 iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 大家可以看到,最上面一欄是數(shù)據(jù)篩選,然后是系統(tǒng)已經(jīng)保存的查詢(分為表格查詢和圖形查詢),點擊保存好的查詢直接出查詢結(jié)果,也可以刪除保存的查詢。在下面是自定義查詢,上面是一排條件,然后是可以拖拽的字段,當字段拖至分組列,則顯示字段名稱;拖至顯示列,還可以對顯示的數(shù)據(jù)的具體值進行分組篩選統(tǒng)計。下方則是一些選項,是否顯示小計、總計,以何種方式顯示圖表。

以表格形式的顯示統(tǒng)計,可以看到,每個數(shù)值都可以點擊彈出框顯示詳情,最下方能夠保存查詢條件,以圖形方式顯示等:

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

圖形的展示:

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn) iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 

以下是核心類InquireHelper.cs:
字段實體類(部分)

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn) View Code

控制類

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn) View Code

 

實際在使用中,還是非常方便的

預(yù)計以后版本需要制作的功能:
對統(tǒng)計字段進行進一步優(yōu)化,能夠使用多個條件組合篩選同一個字段,這個比較簡單,擴展下類并且UI調(diào)整下就可以了。

在這里把代碼都分享給大家,希望和大家一起探討。

http://www.cnblogs.com/thanks/p/7152612.html