     @setState
       filterPaneShow: filterPaneShow
       statisticsPaneShow: statisticsPaneShow
-    @refreshSearchResult @state.searchArgv
-    @refreshCompareResult @state.compareArgv
+    @refreshSearchResult @state.searchArgv, @props.data, @props.dataAfterFilter
+    @refreshCompareResult @state.compareArgv, @props.data, @props.dataAfterFilter, @state.searchArgv
   componentWillReceiveProps: (nextProps)->
-    @refreshSearchResult @state.searchArgv
+    @inputDataVersion += 1
+    if @state.statisticsPaneShow
+      @currentDataVersion = @inputDataVersion
+      @refreshSearchResult @state.searchArgv, nextProps.data, nextProps.dataAfterFilter
   componentWillUpdate: (nextProps, nextState)->
-    @refreshCompareResult nextState.compareArgv
+    if nextState.statisticsPaneShow
+      @refreshCompareResult nextState.compareArgv, nextProps.data, nextProps.dataAfterFilter, nextState.searchArgv     
   render: ->
     <div className='akashic-records-settings' className={if @state.filterPaneShow or @state.statisticsPaneShow then "tap-pane-show" else "tab-pane-hidden"}>
       <Grid>

        if not numerator
          numerator = 0
      else
        numerator = @getDataNum item.numerator
      if item.denominator is -3
        denominator = @refs["denominator#{index}"]?.getValue()
        if not denominator
          denominator = 0
      else
        denominator = @getDataNum item.denominator
      if denominator isnt 0
        percent = Math.round(numerator*10000/denominator) / 100
      else

      numerator: -1
      denominator: -1
    ]
  inputDataVersion: 0
  currentDataVersion: 0
  compareResult: []
  getDataNum: (type, data, dataAfterFilter, searchArgv)->
    data = 0
    switch type
      when -2
        data = data.length
      when -1
        data = dataAfterFilter.length
      else
        data = @state.searchArgv[type].result.length
    data
  refreshSearchResult: (searchArgv, data, dataAfterFilter)->
    for index in [0..searchArgv.length-1]
      switch searchArgv[index].searchBaseOn
        when -2
          data = data
        when -1
          data = dataAfterFilter
        else
          data = searchArgv[searchArgv[index].searchBaseOn].result
      searchArgv[index].num = data.length
