title: How to filter empty groups from a reduction?
body: <p>It appears to me that Crossfilter never excludes a group from the results of a reduction, even if the applied filters have excluded all the rows in that group.  Groups that have had all of their rows filtered out simply return an aggregate value of 0 (or whatever <code>reduceInitial</code> returns).</p>
  
  <p>The problem with this is that it makes it impossible to distinguish between groups that contain no rows and groups that do contain rows but just legitimately aggregate to a value of 0.  Basically, there's no way (that I can see) to distinguish between a null value and a 0 aggregation.</p>
  
  <p>Does anybody know of a built-in Crossfilter technique for achieving this? I did come up with a way to do this with my own custom <code>reduceInitial/reduceAdd/reduceRemove</code> method but it wasn't totally straight forward and it seemed to me that this is behavior that might/should be more native to Crossfilter's filtering semantics.  So I'm wondering if there's a canonical way to achieve this.</p>
  
  <p>I'll post my technique as an answer if it turns out that there is no built-in way to do this.</p>